Results 1 
8 of
8
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 are generated. Th ..."
Abstract

Cited by 65 (13 self)
 Add to MetaCart
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 like ..."
Abstract

Cited by 44 (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...
Constructions, Inductive Types and Strong Normalization
, 1993
"... This thesis contains an investigation of Coquand's Calculus of Constructions, a basic impredicative Type Theory. We review syntactic properties of the calculus, in particular decidability of equality and typechecking, based on the equalityasjudgement presentation. We present a settheoretic notio ..."
Abstract

Cited by 31 (2 self)
 Add to MetaCart
This thesis contains an investigation of Coquand's Calculus of Constructions, a basic impredicative Type Theory. We review syntactic properties of the calculus, in particular decidability of equality and typechecking, based on the equalityasjudgement presentation. We present a settheoretic notion of model, CCstructures, and use this to give a new strong normalization proof based on a modification of the realizability interpretation. An extension of the core calculus by inductive types is investigated and we show, using the example of infinite trees, how the realizability semantics and the strong normalization argument can be extended to nonalgebraic inductive types. We emphasize that our interpretation is sound for large eliminations, e.g. allows the definition of sets by recursion. Finally we apply the extended calculus to a nontrivial problem: the formalization of the strong normalization argument for Girard's System F. This formal proof has been developed and checked using the...
A Formalisation Of Weak Normalisation (With Respect To Permutations) Of Sequent Calculus Proofs
, 1999
"... rule). This is also the case for NJ and LJ as defined in this formalisation. This is due to the particular nature of the logics in question, and does not necessarily generalise to other logics. In particular, a formalisation of linear logic would not work in this fashion, and a more complex variable ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
rule). This is also the case for NJ and LJ as defined in this formalisation. This is due to the particular nature of the logics in question, and does not necessarily generalise to other logics. In particular, a formalisation of linear logic would not work in this fashion, and a more complex variablereferencing mechanism would be required. See Section 6 for a further discussion of this problem. Other operations, such as substitutions (sub in Table 2) and weakening, require lift and drop operations as defined in [27] to ensure the correctness of the de Bruijn indexing.
Coq in Coq
, 1997
"... . We formalize the definition and the metatheory of the Calculus of Constructions (CC) using the proof assistant Coq. In particular, we prove strong normalization and decidability of type inference. From the latter proof, we extract a certified Objective Caml program which performs type inference in ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
. We formalize the definition and the metatheory of the Calculus of Constructions (CC) using the proof assistant Coq. In particular, we prove strong normalization and decidability of type inference. From the latter proof, we extract a certified Objective Caml program which performs type inference in CC and use this code to build a smallscale certified proofchecker. Key words: Type Theory, proofchecker, Calculus of Constructions, metatheory, strong normalization proof, program extraction. 1. Introduction 1.1. Motivations This work can be described as the formal certification in Coq of a proofchecker for the Calculus of Constructions (CC). We view it as a first experimental step towards a certified kernel for the whole Coq system, of which CC is a significative fragment. In decidable type theories, a proofchecker is a program which verifies whether a given judgement (input) is valid or not (output). Valid meaning that there exists a derivation for that judgement following the in...
Approaches to Formal MetaTheory
, 1997
"... . We present an overview of three approaches to formal metatheory: the formal study of properties of deductive systems. The approaches studied are: nameless dummy variables (also called de Bruijn indices) [dB72], first order abstract syntax for terms with higher order abstract syntax for judgements ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. We present an overview of three approaches to formal metatheory: the formal study of properties of deductive systems. The approaches studied are: nameless dummy variables (also called de Bruijn indices) [dB72], first order abstract syntax for terms with higher order abstract syntax for judgements [MP93, MP97], and higher order abstract syntax [Pfe91]. 1 Introduction Formal metatheory, the machine assisted proof of theorems about logical systems, is a relatively new field. While some approaches ([dB72]) have been known about for some time, large developments have been rare until recently. Starting with [Alt93, Coq93] we have some formalisations of strong normalisation for natural deduction calculi using de Bruijn indices. The body of work in Elf [Pfe91] includes some formal metatheory using the higher order abstract syntax method which is integral to the LF approach. The work of McKinna, Pollack and others in [vBJMR94, MP93, MP97] demonstrates a slightly different approach using a ...
MetaTheory of SequentStyle Calculi in Coq
, 1997
"... We describe a formalisation of proof theory about sequentstyle calculi, based on informal work in [DP96]. The formalisation uses de Bruijn nameless dummy variables (also called de Bruijn indices) [dB72], and is performed within the proof assistant Coq [BB + 96]. We also present a description of ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We describe a formalisation of proof theory about sequentstyle calculi, based on informal work in [DP96]. The formalisation uses de Bruijn nameless dummy variables (also called de Bruijn indices) [dB72], and is performed within the proof assistant Coq [BB + 96]. We also present a description of some of the other possible approaches to formal metatheory, particularly an abstract named syntax and higher order abstract syntax. 1 Introduction Formal proof has developed into a significant area of mathematics and logic. Until recently, however, such proofs have concentrated on proofs within logical systems, and metatheoretic work has continued to be done informally. Recent developments in proof assistants and automated theorem provers have opened up the possibilities for machinesupported metatheory. This paper presents a formalisation of a large theory comprising of over 200 definitions and more than 500 individual theorems about three different deductive system. 1 The central dif...
A Proof of Craig's Interpolation Theorem in Coq
"... INTRODUCTION 1 1 Introduction The aim of this project was to give a formal proof in type theory of some rst order syntactic theorems, as Craig's interpolation or cut elimination. As I knew neither Lego nor Coq, my rst work had been to learn one of them : James and Healfdene adviced me to learn Coq, ..."
Abstract
 Add to MetaCart
INTRODUCTION 1 1 Introduction The aim of this project was to give a formal proof in type theory of some rst order syntactic theorems, as Craig's interpolation or cut elimination. As I knew neither Lego nor Coq, my rst work had been to learn one of them : James and Healfdene adviced me to learn Coq, because I know Caml, which would allow me to program tactics. First order logic is a usual formalization of some mathematical theories, one of the project motivation is to try to express it in a formalized metalanguage : it may help to nd the crucial keys of proofs and so to better understand them. Another project motivation is to get a computational way to handle the objects (formulas, tableaux) of rst order logic. Learning Coq, and discovering type theory had been an important part of this project. So I tried to simplify problems (that means my implementation may not be adapted for