Results 1  10
of
12
Inductive Families
 Formal Aspects of Computing
, 1997
"... A general formulation of inductive and recursive definitions in MartinLof's type theory is presented. It extends Backhouse's `DoItYourself Type Theory' to include inductive definitions of families of sets and definitions of functions by recursion on the way elements of such sets ar ..."
Abstract

Cited by 78 (13 self)
 Add to MetaCart
(Show Context)
A general formulation of inductive and recursive definitions in MartinLof's type theory is presented. It extends Backhouse's `DoItYourself Type Theory' to include inductive definitions of families of sets and definitions of functions by recursion on the way elements of such sets are generated. The formulation is in natural deduction and is intended to be a natural generalization to type theory of MartinLof's theory of iterated inductive definitions in predicate logic. Formal criteria are given for correct formation and introduction rules of a new set former capturing definition by strictly positive, iterated, generalized induction. Moreover, there is an inversion principle for deriving elimination and equality rules from the formation and introduction rules. Finally, there is an alternative schematic presentation of definition by recursion. The resulting theory is a flexible and powerful language for programming and constructive mathematics. We hint at the wealth of possible applic...
Intuitionistic Model Constructions and Normalization Proofs
, 1998
"... We investigate semantical normalization proofs for typed combinatory logic and weak calculus. One builds a model and a function `quote' which inverts the interpretation function. A normalization function is then obtained by composing quote with the interpretation function. Our models are just ..."
Abstract

Cited by 50 (7 self)
 Add to MetaCart
We investigate semantical normalization proofs for typed combinatory logic and weak calculus. One builds a model and a function `quote' which inverts the interpretation function. A normalization function is then obtained by composing quote with the interpretation function. Our models are just like the intended model, except that the function space includes a syntactic component as well as a semantic one. We call this a `glued' model because of its similarity with the glueing construction in category theory. Other basic type constructors are interpreted as in the intended model. In this way we can also treat inductively defined types such as natural numbers and Brouwer ordinals. We also discuss how to formalize terms, and show how one model construction can be used to yield normalization proofs for two different typed calculi  one with explicit and one with implicit substitution. The proofs are formalized using MartinLof's type theory as a meta language and mechanized using the A...
Dependently Typed Records for Representing Mathematical Structure
 Theorem Proving in Higher Order Logics, TPHOLs 2000
, 2000
"... this paper appears in Theorem Proving in Higher Order Logics, TPHOLs 2000, c ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
(Show Context)
this paper appears in Theorem Proving in Higher Order Logics, TPHOLs 2000, c
Isomorphism Is Equality
"... The setting of this work is dependent type theory extended with the univalence axiom. We prove that, for a large class of algebraic structures, isomorphic instances of a structure are equal—in fact, isomorphism is in bijective correspondence with equality. The class of structures includes monoids wh ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
The setting of this work is dependent type theory extended with the univalence axiom. We prove that, for a large class of algebraic structures, isomorphic instances of a structure are equal—in fact, isomorphism is in bijective correspondence with equality. The class of structures includes monoids whose underlying types are “sets”, and also posets where the underlying types are sets and the ordering relations are pointwise “propositional”. For instance, equality of monoids on sets coincides with the usual notion of isomorphism from universal algebra, and equality of posets of the kind mentioned above coincides with order isomorphism. 1
Specifying in Coq inheritance used in Computer Algebra Libraries
, 2000
"... This paper is part of FOC[3] a project for developing Computer Algebra libraries, certified in Coq [2]. FOC has developed a methodology for programming Computer Algebra libraries, using modules and objects in Ocaml. In order to specify modularity features used by FOC in Ocaml, we are coding in Coq a ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This paper is part of FOC[3] a project for developing Computer Algebra libraries, certified in Coq [2]. FOC has developed a methodology for programming Computer Algebra libraries, using modules and objects in Ocaml. In order to specify modularity features used by FOC in Ocaml, we are coding in Coq a theory for extensible records with dependent fields. This theory intends to express especially the kind of inheritance with method redefinition and late binding, that FOC uses in its Ocaml programs. The unit of FOC are coded as records. As we want to encode semantic information on units, the fields of our records may be proofs. Thus, our fields may depend on each others. We called them Drecords. Then, we introduce a new datatype, called mixDrec, to represent FOC classes. Actually, mixDrecs are useful for describing a hierarchy of Drecords in a incremental way. In mixDrecs, fields can be only declared or they can be redefined. MixDrecs can be extended by inheritance.
Modules With Proofs
"... The ML module system provides proven mechanisms for organizing and maintaining large programs through the use of structures, to implement program units, and signatures, that give an abstract specification of structures. A signature is a partial specification: it simply lists the components of the st ..."
Abstract
 Add to MetaCart
The ML module system provides proven mechanisms for organizing and maintaining large programs through the use of structures, to implement program units, and signatures, that give an abstract specification of structures. A signature is a partial specification: it simply lists the components of the structure together with their types. For domains with security or timing requirements, it is important to give stronger guarantees about program behavior. We address this issue by augmenting program signatures with formal specifications, and structures with proofs. Security specifications are given in terms of a type theoretic interpretation of the program implementation. The type theory required to support this extension is the translucent sum calculus of Harper and Lillibridge extended with equality and constraint types. The CurryHoward isomorphism provides a correspondence between executable programs and their proofs, allowing control over the degree of security desired.
Modularity in the LF Logical Framework
, 1991
"... this paper we make a concrete proposal for a module system for the Elf language which attempts to address those three central issues. Various approaches to the static and dynamic semantics of such a module calculus are possible, but beyond the scope of this paper. Here we provide only informal discu ..."
Abstract
 Add to MetaCart
(Show Context)
this paper we make a concrete proposal for a module system for the Elf language which attempts to address those three central issues. Various approaches to the static and dynamic semantics of such a module calculus are possible, but beyond the scope of this paper. Here we provide only informal discussions of the meanings of various language constructs and properties. As an extended example throughout the paper we will use two formulations of minimal propositional calculus with implication and conjunction: an axiom system in the style of Hilbert and Gentzen's calculus of natural deduction. The problem of modularity in the presentation of theories and logical system has been addressed from the semantical [10, 9] and the typetheoretic [3, 4, 25] point of view. Our design has been guided by these ideas and the pragmatic principles of the ML module system [14, 17]. For further discussion of related work, the reader is referred to Section 7. Modularity in LF 2 The remainder of this paper is organized as follows. In Section 2 we review the LF Logical Framework as it is realized within the Elf programming language. As our approach to a module calculus is explicitly stratified (modules do not gain the status of objects, but exist in a different level of language), this core language is not modified in any essential way by the addition of modules. In Section 3 we present a calculus for signatures with three basic structuring mechanisms: inclusion, parametrization, and instantiation. As valid objects constructed over a given signatures represent objectlanguage expressions and deductions, this is the centerpiece and most important aspect of the module calculus. In Section 4 we move on to realizations which can express logic interpretations through which theorems can be transpor...