# On type-based termination and dependent pattern matching in the calculus of inductive constructions. (Terminaison basée sur les types et filtrage dépendant pour le calcul des constructions inductives)

@inproceedings{Sacchini2011OnTT, title={On type-based termination and dependent pattern matching in the calculus of inductive constructions. (Terminaison bas{\'e}e sur les types et filtrage d{\'e}pendant pour le calcul des constructions inductives)}, author={J. Sacchini}, year={2011} }

Proof assistants based on dependent type theory are gaining adoption as a tool to develop certified programs. A successful example is the Coq proof assistant, an implementation of a dependent type theory called the Calculus of Inductive Constructions (CIC). Coq is a functional programming language with an expressive type system that allows to specify and prove properties of programs in a higher-order predicate logic. Motivated by the success of Coq and the desire of improving its usability, in… Expand

#### Figures and Topics from this paper

#### 9 Citations

Well-Founded Sized Types in the Calculus of ( Co ) Inductive Constructions ∗

- 2015

Type-based termination is a mechanism for ensuring termination and productivity of (co)recursive definitions [4]. Its main feature is the use of sized types (i.e. types annotated with size… Expand

Type-Based Productivity of Stream Definitions in the Calculus of Constructions

- Mathematics, Computer Science
- 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
- 2013

An extension of the Calculus of Constructions-the theory underlying the Coq proof assistant-with a type-based criterion for ensuring productivity of stream definitions is proposed and strong normalization and logical consistency are proved. Expand

Strongly bounded termination with applications to security and hardware synthesis

- Computer Science
- TyDe@ICFP
- 2020

This paper presents the BTC and its semantics and metatheory through a Coq formalization and important examples motivating strongly-bounded termination and BTC are described as well. Expand

Size-based termination of higher-order rewriting

- Computer Science, Mathematics
- Journal of Functional Programming
- 2018

A general and modular criterion for the termination of simply typed λ-calculus extended with function symbols defined by user-defined rewrite rules is provided. Expand

Linear Sized Types in the Calculus of Constructions

- Mathematics, Computer Science
- FLOPS
- 2014

This paper presents a type system with linear sized types for the Calculus of Constructions extended with one inductive type (natural numbers) and one coinductive type (streams) that satisfies desirable metatheoretical properties, including strong normalization, and gives a sound and complete size-inference algorithm. Expand

Functional and Logic Programming

- Computer Science
- Lecture Notes in Computer Science
- 2014

Two new types for Haskell have been proposed that combine types for type inference and type inference that were previously proposed for types for knowledge representation. Expand

Practical Sized Typing for Coq

- Computer Science
- ArXiv
- 2019

An implementation that extends the Coq kernel with optional support for sized types and extends the sized-type inference algorithm to support completely unannotated Gallina terms to maintain complete backward compatibility with existing Coq developments. Expand

Deriving Proved Equality Tests in Coq-Elpi: Stronger Induction Principles for Containers in Coq

- Computer Science
- ITP
- 2019

The unary parametricity translation of inductive data types turns out to be the key to both steps of the procedure to derive equality tests and their correctness proofs from inductive type declarations. Expand

Type-Based Methods for Termination and Productivity in Coq

- 2013

Coq is a total dependently-typed programming language: recursive functions must be terminating and co-recursive functions must be productive. The requirement of totality is essential to ensure… Expand

#### References

SHOWING 1-10 OF 106 REFERENCES

Subset Coercions in Coq

- Computer Science
- TYPES
- 2006

A new language for writing programs with dependent types on top of the COQ proof assistant allowing to write algorithms as easily as in a practical functional programming language whilst giving them as rich a specification as desired and proving that the code meets the specification using the whole COQProof apparatus. Expand

Type-based termination of recursive definitions and constructor subtyping in typed lambda calculi

- Mathematics
- 2003

In type systems, a combination of subtyping and overloading is a way to achieve more precise typings. This thesis explores how to use these mechanisms in two directions: (i) as a way to ensure… Expand

CIC[^( )]: Type-Based Termination of Recursive Definitions in the Calculus of Inductive Constructions

- Computer Science
- LPAR
- 2006

A variant of the Calculus of Inductive Constructions with sized types is introduced and its meta theoretical properties are studied: subject reduction, normalization, and thus consistency and decidability of type-checking and of size-inference. Expand

Dependently typed functional programs and their proofs

- Computer Science, Mathematics
- 2000

This thesis shows that the adoption of this uniqueness as axiomatic is sufficient to make pattern matching admissible, and develops technology for programming with dependent inductive families of datatypes and proving those programs correct. Expand

Types for Proofs and Programs: International Workshop TYPES '93, Nijmegen, The Netherlands, May 24 - 28, 1993. Selected Papers

- Computer Science
- 1994

Proving strong normalization of CC by modifying realizability semantics and developing certified programs in the system Coq the program tactic. Expand

Constructions, inductive types and strong normalization

- Mathematics, Computer Science
- CST
- 1993

An extension of the core calculus by inductive types is investigated and it is shown how the realizability semantics and the strong normalization argument can be extended to non-algebraic inductive type types. Expand

Types for proofs and programs : International Workshop TYPES '95, Torino, Italy, June 5-8, 1995 : selected papers

- Computer Science
- 1996

A two-level approach towards lean proof-checking and an algorithm for checking incomplete proof objects in type theory with localization and unification are described. Expand

The Implicit Calculus of Constructions as a Programming Language with Dependent Types

- Computer Science
- FoSSaCS
- 2008

This paper shows how Miquel's Implicit Calculus of Constructions can be used as a programming language featuring dependent types and introduces a more verbose variant, called ICC* which fixes the issue of an undecidable type-checking. Expand

A New Elimination Rule for the Calculus of Inductive Constructions

- Computer Science
- TYPES
- 2008

A new rule is provided that permits the omission of impossible cases, handles the propagation of inversion constraints, and allows to derive Streicher's K axiom, and it is shown that subject reduction holds, and sketch a proof of relative consistency. Expand

Pattern matching coverage checking with dependent types using set approximations

- Computer Science
- PLPV '07
- 2007

This work introduces a new method to detect useless cases based on the computation of over-approximations of the inhabitants of inductive data types and contexts, and can produce - in a systematic way - a complete matching in Coq, ensuring that the logical power of the sysem remains unchanged. Expand