Results 1  10
of
15
Proofassistants using Dependent Type Systems
, 2001
"... this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs ..."
Abstract

Cited by 48 (4 self)
 Add to MetaCart
this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs
Extension of MartinLöf's Type Theory with Record Types and Subtyping
, 1998
"... this paper, the implementation has been used to verify an abstract version of sorting by insertion in (Tasistro 1997). In this latter work, dependent record types are used to express speciøcations of abstract data types. The theory here developed is a direct successor of the calculus of substitution ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
this paper, the implementation has been used to verify an abstract version of sorting by insertion in (Tasistro 1997). In this latter work, dependent record types are used to express speciøcations of abstract data types. The theory here developed is a direct successor of the calculus of substitutions for type theory (MartinL#f 1992; Tasistro 1997) in the sense that record types can be seen as type constructions corresponding to contexts of variables ¯record objects becoming then the counterpart to substitutions. Several theories of records have been developed in the context of systems without dependent types, mainly with the motivation of providing foundations for concepts that appear in object oriented programming. Then, for instance, there is by now a standard way of encoding objects in the sense of object oriented programming as recursively deøned records. The general motivation mentioned departs from ours, which, as far as the theory of programming is concerned, is limited to that of providing basic means that allow the use of dependent types for expressing speciøcations of abstract data types and modules in a general way. The problem of formulating a type system for object oriented programming raises a number of questions that are simply not relevant for our purposes. As to dependent record types, they have been implemented in PVS (Owre et al. 1993), which is a theorem proving system based on classical higher order logic. The subtyping that record types induce is, however, not a part of this implementation. In the original type theory, it is possible to encode each particular instance of inclusion between types ff and fi by using a coercion function that injects the objects of type ff into the type fi. In (Barthe 1996; Bailey 1996; Sa#bi 1997) different mechanisms...
A Constructive Algebraic Hierarchy in Coq
"... We describe a framework of algebraic structures in the proof assistant Coq. We have developed this framework as part of the FTA project in Nijmegen, in which a constructive proof of the Fundamental Theorem of Algebra has been formalized in Coq. The algebraic hierarchy that is described here is both ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
We describe a framework of algebraic structures in the proof assistant Coq. We have developed this framework as part of the FTA project in Nijmegen, in which a constructive proof of the Fundamental Theorem of Algebra has been formalized in Coq. The algebraic hierarchy that is described here is both abstract and way, dening e.g. a ring as a tuple consisting of a group, a binary operation and a constant that together satisfy the properties of a ring. In this way, a ring automatically inherits the group properties of the additive subgroup. The algebraic hierarchy is formalized in Coq by applying a combination of labeled record types and coercions. In the labeled record types of Coq, one can use dependent types: the type of one label may depend on another label. This allows to give a type to a dependenttyped tuple like hA; f; ai, where A is a set, f an operation on A and a an element of A. Coercions are
Working with Mathematical Structures in Type Theory
"... Abstract. We address the problem of representing mathematical structures in a proof assistant which: 1) is based on a type theory with dependent types, telescopes and a computational version of Leibniz equality; 2) implements coercive subtyping, accepting multiple coherent paths between type familie ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Abstract. We address the problem of representing mathematical structures in a proof assistant which: 1) is based on a type theory with dependent types, telescopes and a computational version of Leibniz equality; 2) implements coercive subtyping, accepting multiple coherent paths between type families; 3) implements a restricted form of higher order unification and type reconstruction. We show how to exploit the previous quite common features to reduce the “syntactic ” gap between pen&paper and formalised algebra. However, to reach our goal we need to propose unification and type reconstruction heuristics that are slightly different from the ones usually implemented. We have implemented them in Matita. 1
Constructor subtyping in the Calculus of Inductive Constructions
 Proceedings of FOSSACS'00, LNCS 1784
, 2000
"... The Calculus of Inductive Constructions (CIC) is a powerful type system, featuring dependent types and inductive definitions, that forms the basis of proofassistant systems such as Coq and Lego. We extend CIC with constructor subtyping, a basic form of subtyping in which an inductive type σ i ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The Calculus of Inductive Constructions (CIC) is a powerful type system, featuring dependent types and inductive definitions, that forms the basis of proofassistant 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 wellbehaved and provides a suitable basis for formalizing natural semantics in proofdevelopment systems.
Dependent Record Types, Subtyping and Proof Reutilization
"... . We present an example of formalization of systems of algebras using an extension of MartinLof's theory of types with record types and subtyping. This extension has been presented in [5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for th ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
. We present an example of formalization of systems of algebras using an extension of MartinLof's theory of types with record types and subtyping. This extension has been presented in [5]. In this paper we intend to illustrate all the features of the extended theory that we consider relevant for the task of formalizing algebraic constructions. We also provide code of the formalization as accepted by a type checker that has been implemented. 1. Introduction We shall use an extension of MartinLof's theory of logical types [14] with dependent record types and subtyping as the formal language in which constructions concerning systems of algebras are going to be represented. The original formulation of MartinLof's theory of types, from now on referred to as the logical framework, has been presented in [15, 7]. The system of types that this calculus embodies are the type Set (the type of inductively defined sets), dependent function types and for each set A, the type of the elements of A...
2Dimensional Directed Type Theory
"... Recent work on higherdimensional type theory has explored connections between MartinLöf type theory, higherdimensional category theory, and homotopy theory. These connections suggest a generalization of dependent type theory to account for computationally relevant proofs of propositional equality ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Recent work on higherdimensional type theory has explored connections between MartinLöf type theory, higherdimensional category theory, and homotopy theory. These connections suggest a generalization of dependent type theory to account for computationally relevant proofs of propositional equality—for example, taking IdSet A B to be the isomorphisms between A and B. The crucial observation is that all of the familiar type and term constructors can be equipped with a functorial action that describes how they preserve such proofs. The key benefit of higherdimensional type theory is that programmers and mathematicians may work up to isomorphism and higher equivalence, such as equivalence of categories. In this paper, we consider a further generalization of higherdimensional type theory, which associates each type with a directed notion of transformation between its elements. Directed type theory accounts for phenomena not expressible in symmetric higherdimensional type theory, such as a universe set of sets and functions, and a type Ctx used in functorial abstract syntax. Our formulation requires two main ingredients: First, the types themselves must be reinterpreted to take account of variance; for example, a Π type is contravariant in its domain, but covariant in its range. Second, whereas in symmetric type theory proofs of equivalence can be internalized using the MartinLöf identity type, in directed type theory the twodimensional structure must be made explicit at the judgemental level. We describe a 2dimensional directed type theory, or 2DTT, which is validated by an interpretation into the strict 2category Cat of categories, functors, and natural transformations. We also discuss applications of 2DTT for programming with abstract syntax, generalizing the functorial approach to syntax to the dependently typed and mixedvariance case. 1
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 2 (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
Proof Reutilization in MartinLöf's Logical Framework Extended with Record Types and Subtyping
, 2000
"... The extension of MartinLöf's theory of types with record types and subtyping has elsewhere been presented. We give a concise description of that theory and motivate its use for the formalization of systems of algebras. We also give a short account of a proof checker that has been implemented on mac ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The extension of MartinLöf's theory of types with record types and subtyping has elsewhere been presented. We give a concise description of that theory and motivate its use for the formalization of systems of algebras. We also give a short account of a proof checker that has been implemented on machine. The logical heart of the checker is constituted by the procedures for the mechanical verification of the forms of judgement of a particular formulation of the extension. The case study that we put forward in this work has been developed and mechanically verified using the implemented system. We illustrate all the features of the extended theory that we consider relevant for the task of formalizing algebraic constructions.