Results 1  10
of
12
Subset coercions in Coq
 In Selected papers from the International Workshop on Types for Proofs and Programs (TYPES’06
, 2006
"... Abstract. We propose a new language for writing programs with dependent types which can be elaborated into partial Coq terms. This language permits to establish a phase distinction between writing and proving algorithms in the Coq environment. Concretely, this means allowing to write algorithms as e ..."
Abstract

Cited by 38 (2 self)
 Add to MetaCart
Abstract. We propose a new language for writing programs with dependent types which can be elaborated into partial Coq terms. This language permits to establish a phase distinction between writing and proving algorithms in the Coq environment. Concretely, this means 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 Coq proof apparatus. This is achieved by extending conversion to an equivalence which relates types and subsets based on them, a technique originating from the “Predicate subtyping ” feature of PVS and following mathematical convention. The typing judgements can be translated to the Calculus of (Co)Inductive Constructions (Cic) by means of an interpretation which inserts coercions at the appropriate places. These coercions can contain existential variables representing the propositional parts of the final term, corresponding to proof obligations (or PVS typechecking conditions). A prototype implementation of this process is integrated with the Coq environment. 1
Coercive Subtyping in Type Theory
 Proc. of CSL'96, the 1996 Annual Conference of the European Association for Computer Science Logic, Utrecht. LNCS 1258
, 1996
"... We propose and study coercive subtyping, a formal extension with subtyping of dependent type theories such as MartinLof's type theory [NPS90] and the type theory UTT [Luo94]. In this approach, subtyping with specified implicit coercions is treated as a feature at the level of the logical framework; ..."
Abstract

Cited by 25 (14 self)
 Add to MetaCart
We propose and study coercive subtyping, a formal extension with subtyping of dependent type theories such as MartinLof's type theory [NPS90] and the type theory UTT [Luo94]. In this approach, subtyping with specified implicit coercions is treated as a feature at the level of the logical framework; in particular, subsumption and coercion are combined in such a way that the meaning of an object being in a supertype is given by coercive definition rules for the definitional equality. It is shown that this provides a conceptually simple and uniform framework to understand subtyping and coercion relations in type theories with sophisticated type structures such as inductive types and universes. The use of coercive subtyping in formal development and in reasoning about subsets of objects is discussed in the context of computerassisted formal reasoning. 1 Introduction A type in type theory is often intuitively thought of as a set. For example, types in MartinLof's type theory [ML84, NPS90...
Coercion Completion and Conservativity in Coercive Subtyping
 ANNALS OF PURE AND APPLIED LOGIC
, 2000
"... Coercive subtyping offers a general approach to subtyping and inheritance by introducing a simple abbreviational mechanism to constructive type theories. In this paper, we study coercion completion in coercive subtyping and prove that the formal extension with coercive subtyping of a type theory suc ..."
Abstract

Cited by 15 (9 self)
 Add to MetaCart
Coercive subtyping offers a general approach to subtyping and inheritance by introducing a simple abbreviational mechanism to constructive type theories. In this paper, we study coercion completion in coercive subtyping and prove that the formal extension with coercive subtyping of a type theory such as MartinLof's type theory and UTT is a conservative extension. The importance of coherence conditions for the conservativity result is also discussed.
Typability is undecidable for F+eta
, 1995
"... System F is the wellknown polymorphicallytypedcalculus with universal quanti ers (\8"). F+ is System F extended with the eta rule, which says that if term M can be given type and Mreduces to N, then N can also be given the type. Adding the eta rule to System F is equivalent to adding the subsump ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
System F is the wellknown polymorphicallytypedcalculus with universal quanti ers (\8"). F+ is System F extended with the eta rule, which says that if term M can be given type and Mreduces to N, then N can also be given the type. Adding the eta rule to System F is equivalent to adding the subsumption rule using the subtyping (\containment") relation that Mitchell de ned and axiomatized [Mit88]. The subsumption rule says that if M can be given type and is a subtype of type,thenMcan be given type. Mitchell's subtyping relation involves no extensions to the syntaxoftypes, i.e., no bounded polymorphism and no supertype of all types, and is thus unrelated to the system F (\Fsub"). Typability for F+ is the problem of determining for any termMwhether there is any type that can be given to it using the type inference rules of F+. Typability has been proven undecidable for System F [Wel94] (without the eta rule), but the decidability oftypability has been an open problem for F+. Mitchell's subtyping relation has recently been proven undecidable [TU95, Wel95b], implying the undecidability of\type checking " for F+. This paper reduces the problem of subtyping to the problem of typability for F+,thus proving the undecidability oftypability. The proof methods are similar in outline to those used to prove the undecidability oftypability for System F, but the ne details di er greatly. 1
Dependent Coercions
, 1999
"... A notion of dependent coercion is introduced and studied in the context of dependent type theories. It extends our earlier work on coercive subtyping into a uniform framework which increases the expressive power with new applications. A dependent coercion introduces a subtyping relation between a ty ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
A notion of dependent coercion is introduced and studied in the context of dependent type theories. It extends our earlier work on coercive subtyping into a uniform framework which increases the expressive power with new applications. A dependent coercion introduces a subtyping relation between a type and a family of types in that an object of the type is mapped into one of the types in the family. We present the formal framework, discuss its metatheory, and consider applications such as its use in functional programming with dependent types. 1 Introduction Coercive subtyping, as studied in [Luo97, Luo99, JLS98], represents a new general approach to subtyping and inheritance in type theory. In particular, it provides a framework in which subtyping, inheritance, and abbreviation can be understood in dependent type theories where types are understood as consisting of canonical objects. In this paper, we extend the framework of coercive subtyping to introduce a notion of dependent coer...
Some Algorithmic and ProofTheoretical Aspects of Coercive Subtyping
 In Proceedings of TYPES'96, Lecture Notes in Computer Science
, 1996
"... . Coercive subtyping offers a conceptually simple but powerful framework to understand subtyping and subset relationships in type theory. In this paper we study some of its prooftheoretic and computational properties. 1 Introduction Coercive subtyping, as first introduced in [Luo96], offers a conc ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
. Coercive subtyping offers a conceptually simple but powerful framework to understand subtyping and subset relationships in type theory. In this paper we study some of its prooftheoretic and computational properties. 1 Introduction Coercive subtyping, as first introduced in [Luo96], offers a conceptually simple but powerful framework to understand subtyping and subset relationships in type theories with sophisticated type structures such as dependent types, inductive types, and type universes. A basic idea behind coercive subtyping is that subtyping provides a powerful mechanism for notational abbreviation in type theory. If A is a subtype of B given by a specified coercion function, an object of type A can be regarded as an object of type B, that is, its image via the coercion function, and hence objects of a subtype can be used as abbreviations for objects of a supertype. With coercive subtyping, this abbreviational mechanism is formally treated at the level of the logical framewo...
Weak Transitivity in Coercive Subtyping
 TYPES FOR PROOFS AND PROGRAMS, VOLUME 2646 OF LNCS
, 2001
"... Coercive subtyping is a general approach to subtyping, inheritance and abbreviation in dependent type theories. A vital requirement for coercive subtyping is that of coherence which essentially says that coercions between any two types must be unique. Another important task for coercive subtyping is ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
Coercive subtyping is a general approach to subtyping, inheritance and abbreviation in dependent type theories. A vital requirement for coercive subtyping is that of coherence which essentially says that coercions between any two types must be unique. Another important task for coercive subtyping is to prove the admissibility or elimination of transitivity and substitution. In this paper, we propose and study the notion of Weak Transitivity, consider suitable subtyping rules for certain parameterised inductive types and prove its coherence and the admissibility of substitution and weak transitivity in the coercive subtyping framework.
An Optimized Complete SemiAlgorithm for System . . .
, 1999
"... In this paper we give a new deterministic presentation of system F with reduction. This presentation allow us to write a complete semialgorithm for this system that may be useful in a real programming language. keywords: lambdacalculus, typeinference, typechecking 1 Introduction Motivation M ..."
Abstract
 Add to MetaCart
In this paper we give a new deterministic presentation of system F with reduction. This presentation allow us to write a complete semialgorithm for this system that may be useful in a real programming language. keywords: lambdacalculus, typeinference, typechecking 1 Introduction Motivation Most of the statically typed programming language (SML, OCaml, Haskell, ...) are based on Milner's restriction [1] of Girard and Reynolds System F [4, 13]. To improve the language, some complex extensions of the typesystem are added to handle the needed features (modules with abstract types, object, some kind of polymorphic recursion). These extensions are quite complex both at the theoretical and the programming level. However, they leads to a decidable typeinference algorithm. Most, if not all, of these extensions could be handled inside system F. For instance, existential types are denable in system F and can be used to construct tuples with abstract types which correspond to the notio...
Products and Polymorphic Subtypes
, 2002
"... This paper is devoted to a comprehensive study of polymorphic subtypes with products. ..."
Abstract
 Add to MetaCart
This paper is devoted to a comprehensive study of polymorphic subtypes with products.