Results 1 -
8 of
8
An Implementation of LF with Coercive Subtyping & Universes
- Journal of Automated Reasoning
"... . We present `Plastic', an implementation of LF with Coercive Subtyping, and focus on its implementation of Universes. LF is a variant of Martin-Lof's logical framework, with explicitly typed -abstractions. We outline the system of LF with its extensions of inductive types and coercions. Plastic is ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
. We present `Plastic', an implementation of LF with Coercive Subtyping, and focus on its implementation of Universes. LF is a variant of Martin-Lof's logical framework, with explicitly typed -abstractions. We outline the system of LF with its extensions of inductive types and coercions. Plastic is the first implementation of this extended system; we discuss motivations and basic architecture, and give examples of its use. LF is used to specify type theories. The theory UTT includes a hierarchy of universes which is specified in Tarski style. We outline the theory of these universes and explain how they are implemented in Plastic. Of particular interest is the relationship between universes and inductive types, and the relationship between universes and coercive subtyping. We claim that the combination of Tarski-style universes together with coercive subtyping provides an ideal formulation of universes which is both semantically clear and practical to use. Keywords: type theory, un...
Manifest fields and module mechanisms in intensional type theory
- In TYPES 08
, 2009
"... Abstract. Manifest fields in a type of modules are shown to be expressible in intensional type theory without strong extensional equality rules. These intensional manifest fields are made available with the help of coercive subtyping. It is shown that, for both Σ-types and dependent record types, th ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Abstract. Manifest fields in a type of modules are shown to be expressible in intensional type theory without strong extensional equality rules. These intensional manifest fields are made available with the help of coercive subtyping. It is shown that, for both Σ-types and dependent record types, the with-clause for expressing manifest fields can be introduced by means of the intensional manifest fields. This provides not only a higher-order module mechanism with ML-style sharing, but a powerful modelling mechanism in formalisation and verification of OO-style program modules. 1
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 3 (3 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.
Coercive Subtyping for the Calculus of Constructions (extended abstract)
"... We present a coercive subtyping system for the calculus of constructions. The proposed system λC co ≤ is obtained essentially by adding coercions and η-conversion to λC≤[10], which is a subtyping extension to the calculus of constructions without coercions. Following [17, 18], the coercive subtyping ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We present a coercive subtyping system for the calculus of constructions. The proposed system λC co ≤ is obtained essentially by adding coercions and η-conversion to λC≤[10], which is a subtyping extension to the calculus of constructions without coercions. Following [17, 18], the coercive subtyping c: A ≤ B is understood as a special case of typing in arrow type c: A → B such that the term c behaves like an identity function. We prove that, with respect to this semantic interpretation, the proposed coercive subtyping system is sound and complete, and that this completeness leads to transitivity elimination (transitivity rule is admissible). In and CCβη, this fact implies that λC co ≤ has confluence, subject reduction and strong normalization. We propose a formalization of coercion inference problem and present a sound and complete coercion inference algorithm. addition, we establish the equivalence between λC co
Coercions in Hindley-Milner Systems
"... Abstract. Coercive subtyping is a theory of abbreviation for dependent type theories. In this paper, we incorporate the idea of coercive subtyping into the traditional Hindley-Milner type systems in functional programming languages. This results in a typing system with coercions, an extension of the ..."
Abstract
- Add to MetaCart
Abstract. Coercive subtyping is a theory of abbreviation for dependent type theories. In this paper, we incorporate the idea of coercive subtyping into the traditional Hindley-Milner type systems in functional programming languages. This results in a typing system with coercions, an extension of the Hindley-Milner type system. A type inference algorithm is developed and shown to be sound and complete with respect to the typing system. A notion of derivational coherence is developed to deal with the problem of ambiguity and the corresponding type inference algorithm is shown to be sound and complete. 1 Introduction The Hindley-Milner type system (HM system for short) [8] is the standard core of the modern typed functional programming languages. Various extensions to the HM system have been proposed in order to enrich a programming language with new and more powerful features. These include, for example, Haskell's class mechanism [10], which provides convenient overloading facilities among other things. Coercive subtyping [14] is a theory of abbreviation developed in the setting of dependent type theories, where coercions are regarded as abbreviation mechanisms and directly characterised in the proof system (type theory) extended with coercions. It has been implemented in several proof development systems [1, 19, 4] and effectively used in proof development (e.g., [1]).
Combining Incoherent Coercions for Σ-types
"... Coherence is a vital requirement for the correct use of coercive subtyping for abbreviation and other applications. However, some coercions are incoherent, although very useful. A typical example of such is the subtyping rules for -types: the component-wise rules and the rule of the rst projecti ..."
Abstract
- Add to MetaCart
Coherence is a vital requirement for the correct use of coercive subtyping for abbreviation and other applications. However, some coercions are incoherent, although very useful. A typical example of such is the subtyping rules for -types: the component-wise rules and the rule of the rst projection. Both of these groups of rules are often used in practice (and coherent themselves), but they are incoherent when put together directly. In this paper, we study this case for -types by introducing a new subtyping relation and the resulting system enjoys the properties of coherence and admissibility of substitution and transitivity.
Intensional Manifest Fields in Module Types ✩
"... A manifest field in a type of modules is a field whose expected data is not only of a certain type but the same as a specific object of that type. All of the previous approaches to manifest fields in type theory are based on some extensional notions of computational equality. In this paper, we show ..."
Abstract
- Add to MetaCart
A manifest field in a type of modules is a field whose expected data is not only of a certain type but the same as a specific object of that type. All of the previous approaches to manifest fields in type theory are based on some extensional notions of computational equality. In this paper, we show that this is unnecessary: manifest fields are expressible in intensional type theories without extensional equality rules. These intensional manifest fields are made available with the help of coercive subtyping. It is shown that, for both Σ-types and dependent record types, the with-clause for expressing manifest fields can be introduced by means of the intensional manifest fields. This provides an internal mechanism in intensional type theories to express definitional entries in module types, which has useful applications including, for example, the representation of higher-order modules with ML-style sharing.

