## Constructor subtyping in the Calculus of Inductive Constructions (2000)

Venue: | Proceedings of FOSSACS'00, LNCS 1784 |

Citations: | 6 - 0 self |

### BibTeX

@INPROCEEDINGS{Barthe00constructorsubtyping,

author = {Gilles Barthe and Femke Van Raamsdonk},

title = {Constructor subtyping in the Calculus of Inductive Constructions},

booktitle = {Proceedings of FOSSACS'00, LNCS 1784},

year = {2000},

pages = {17--34}

}

### OpenURL

### Abstract

The Calculus of Inductive Constructions (CIC) is a powerful type system, featuring dependent types and inductive definitions, that forms the basis of proof-assistant systems such as Coq and Lego. We extend CIC with constructor subtyping, a basic form of subtyping in which an inductive type σ is viewed as a subtype of another inductive type τ if τ has more elements than σ. It is shown that the calculus is well-behaved and provides a suitable basis for formalizing natural semantics in proof-development systems.

### Citations

774 | On understanding types, data abstraction, and polymorphism
- Cardelli, Wegner
- 1985
(Show Context)
Citation Context ...syntactic aspects of this form of subtyping;sdeclarative subtyping allows to declare X v A : ? in contexts and was originally used in conjunction with related ideas, most notably bounded quantication =-=[9]-=-, in order to provide a type-theoretical semantics of object-oriented languages, see e.g. [22]. However, declarative subtyping may also be used to represent formal languages in logical frameworks, see... |

69 | Subtyping dependent types
- Aspinall, Compagnoni
(Show Context)
Citation Context ...nv). A major design decision is that subtyping is dened independently of typing by dening it on pesudo-terms as in [10, 36]. This allows to break the circularity between typing and subtyping found in =-=[2]-=-, where subtyping is only dened on legal terms and thereby depends on typing. The unusual rule (data) requires that inductive types are monotonic in their parameters. It is used for instance to derive... |

61 | Metamathematical investigations of a calculus of constructions - Coquand - 1990 |

45 | An algorithm for type-checking dependent types
- Coquand
- 1996
(Show Context)
Citation Context ...C v alg C 0 (sort) ? v alg ? In order to complete the description of our algorithm, one needs to specify how to test convertibility between expressions. This may be done in exactly the same way as in =-=[13]-=-, although one has to take care not to compare the types of arguments in constructors (so as to handle -conversion). The SCA algorithm is sound and complete w.r.t. v on legal types. Proposition 16. As... |

19 |
A modular proof of strong normalisation for the calculus of constructions
- Geuvers, Nederhof
- 1991
(Show Context)
Citation Context ...uction. Lemma 8. If \Pi x : A: B v \Pi x : A 0 : B 0 then A 0 v A and B v B 0 . Using this lemma, subject reduction can be proved by adapting the standard proof for pure type systems (see for example =-=[15]-=-) to the case of pure type systems with subtying, as also done in [36]. Note however that the use of -reduction in the (conv) rule is crucial. Indeed, consider the term M = conseven0 (nil even) which ... |

17 | Implicit coercions in type systems
- Barthe
- 1996
(Show Context)
Citation Context ...ver P and allows to formalize the examples of [29]. However, declarative subtyping, even combined with late-binding, is not appropriate for the inductive approach to formalization;simplicit coercions =-=[5, 24]-=- allow to view a term a of type A as a term of type B whenever there is a previously agreed upon function, called coercion, from A to B. This approach, which leads to extremely powerful type systems, ... |

11 |
Coercive subtyping for the calculus of constructions
- Chen
(Show Context)
Citation Context ... a dependent type system based on renement types. The interaction between dependent types and declarative subtyping has been studied by Aspinall and Compagnoni [2] for the logical frameworks, by Chen =-=[11]-=- for the Calculus of Constructions and by Zwanenburg [36] for Pure Type Systems. One major dioeerence between [2] and [11, 36] is that the former lets subtyping depend on typing, which leads to substa... |

7 | Constructor subtyping
- Barthe, Frade
- 1999
(Show Context)
Citation Context ...is not well-behaved with respect to canonical inhabitants: e.g. both nil even and nil nat are closed normal inhabitants of list nat. This example illustrates how the equational theory is too weak. In =-=[8]-=-, we show that an j-expansion rule for datatypes solves the problem in the simply typed case. 1 It should be possible to adopt the same solution for the Calculus of Constructions, although the combina... |

6 |
An introduction to inductive denitions
- Aczel
- 1977
(Show Context)
Citation Context ... even; oddsnat Declarations: 0 : even S : even ! odd S : odd ! even S : nat ! nat The immediate benet of coherence is that the above denitions may be viewed as deterministic rule sets in the sense of =-=[1]-=-see Section 2 for the diOEculties with datatypes that do not yield deterministic rule sets. Therefore they support recursive denitions and may be integrated safely to typed -calculi [7, 8]. In the pre... |

4 |
The Coq Proof Assistant User's Guide. Version 6.2
- al
- 1998
(Show Context)
Citation Context ... than oe. It is shown that the calculus is well-behaved and provides a suitable basis for formalizing natural semantics in proof-development systems. 1 Introduction Proof-development systems like Coq =-=[4]-=-, Hol [21], Isabelle [28] and PVS [32] rely on powerful type systems featuring (co-)inductive types. The latter, which capture in a type-theoretical framework the notions of initial algebra or nal coa... |

4 | Expanding the cube
- Barthe
- 1999
(Show Context)
Citation Context ...blem in the simply typed case. 1 It should be possible to adopt the same solution for the Calculus of Constructions, although the combination of j-expansion with dependent types is somewhat intricate =-=[6, 16]-=-. Addressing these issues should bring us closer to our overall objective, namely to integrate constructor subtyping as a primitive in proof-development systems. 1 It also eliminates the need for -con... |

4 | Order-sorted inductive types
- Barthe
- 1999
(Show Context)
Citation Context ...rove the usability of proof-development systems, many of the existing approaches to subtyping are inappropriate for the (co-)inductive approach to formalization (see Section 5). Constructor subtyping =-=[7, 8]-=- is a basic form of subtyping in which an inductive type oe is viewed as a subtype of another inductive typesifshas more inhabitants than oe. It is fully compatible with the (co-)inductive approach to... |

3 | Dependent types with subtyping and late-bound overloading
- Castagna, Chen
- 2001
(Show Context)
Citation Context ...The conversion-free subtyping relation v s is dened by all the rules above except (conv). A major design decision is that subtyping is dened independently of typing by dening it on pesudo-terms as in =-=[10, 36]-=-. This allows to break the circularity between typing and subtyping found in [2], where subtyping is only dened on legal terms and thereby depends on typing. The unusual rule (data) requires that indu... |

2 |
Eta-expansions in dependent type theorythe calculus of constructions
- Ghani
- 1997
(Show Context)
Citation Context ...blem in the simply typed case. 1 It should be possible to adopt the same solution for the Calculus of Constructions, although the combination of j-expansion with dependent types is somewhat intricate =-=[6, 16]-=-. Addressing these issues should bring us closer to our overall objective, namely to integrate constructor subtyping as a primitive in proof-development systems. 1 It also eliminates the need for -con... |

1 |
Auto-validation d'un syst#me de preuves avec familles inductives
- Barras
- 1999
(Show Context)
Citation Context ...calculus to be well-behaved. A side-eoeect of our work is to provide a general approach to enforce subject reduction in calculi which combine parametric inductive types, dependent types and subtyping =-=[3, 18]-=-. Related work. Subtyping in dependent type systems is an active research area, with some main trends to be distinguished:sname inequivalence based subtyping assumes a subtyping relation on ground typ... |

1 |
A short and AEexible proof of strong normalisation for the Calculus of Constructions
- Geuvers
(Show Context)
Citation Context ...JI oe every instance ofsz occurs positively in \Pi y : B: oe x. Under these hypotheses, it is possible to show termination of our calculus by the well-known technique due to Tait and Girard, see e.g. =-=[14, 34]-=- for an application to the Calculus of Constructions. Theorem 10 (Termination). If \Gamma ` M : A then M is fi'-terminating. It is then easy to conclude that legal terms are fi'-normalizing and hence ... |