Results 1  10
of
11
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...
A General Formulation of Simultaneous InductiveRecursive Definitions in Type Theory
 Journal of Symbolic Logic
, 1998
"... The first example of a simultaneous inductiverecursive definition in intuitionistic type theory is MartinLöf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursi ..."
Abstract

Cited by 65 (10 self)
 Add to MetaCart
The first example of a simultaneous inductiverecursive definition in intuitionistic type theory is MartinLöf's universe à la Tarski. A set U0 of codes for small sets is generated inductively at the same time as a function T0 , which maps a code to the corresponding small set, is defined by recursion on the way the elements of U0 are generated. In this paper we argue that there is an underlying general notion of simultaneous inductiverecursive definition which is implicit in MartinLöf's intuitionistic type theory. We extend previously given schematic formulations of inductive definitions in type theory to encompass a general notion of simultaneous inductionrecursion. This enables us to give a unified treatment of several interesting constructions including various universe constructions by Palmgren, Griffor, Rathjen, and Setzer and a constructive version of Aczel's Frege structures. Consistency of a restricted version of the extension is shown by constructing a realisability model ...
Inductive and Coinductive types with Iteration and Recursion
 Proceedings of the 1992 Workshop on Types for Proofs and Programs, Bastad
, 1992
"... We study (extensions of) simply and polymorphically typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in ter ..."
Abstract

Cited by 51 (0 self)
 Add to MetaCart
We study (extensions of) simply and polymorphically typed lambda calculus from a point of view of how iterative and recursive functions on inductive types are represented. The inductive types can usually be understood as initial algebras in a certain category and then recursion can be defined in terms of iteration. However, in the syntax we often have only weak initiality, which makes the definition of recursion in terms of iteration inefficient or just impossible. We propose a categorical notion of (primitive) recursion which can easily be added as computation rule to a typed lambda calculus and gives us a clear view on what the dual of recursion, corecursion, on coinductive types is. (The same notion has, independently, been proposed by [Mendler 1991].) We look at how these syntactic notions work out in the simply typed lambda calculus and the polymorphic lambda calculus. It will turn out that in the syntax, recursion can be defined in terms of corecursion and vice versa using polymo...
The Barendregt Cube with Definitions and Generalised Reduction
, 1997
"... In this paper, we propose to extend the Barendregt Cube by generalising reduction and by adding definition mechanisms. We show that this extension satisfies all the original properties of the Cube including Church Rosser, Subject Reduction and Strong Normalisation. Keywords: Generalised Reduction, ..."
Abstract

Cited by 37 (17 self)
 Add to MetaCart
In this paper, we propose to extend the Barendregt Cube by generalising reduction and by adding definition mechanisms. We show that this extension satisfies all the original properties of the Cube including Church Rosser, Subject Reduction and Strong Normalisation. Keywords: Generalised Reduction, Definitions, Barendregt Cube, Church Rosser, Subject Reduction, Strong Normalisation. Contents 1 Introduction 3 1.1 Why generalised reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Why definition mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 The item notation for definitions and generalised reduction . . . . . . . . . . 4 2 The item notation 7 3 The ordinary typing relation and its properties 10 3.1 The typing relation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Properties of the ordinary typing relation . . . . . . . . . . . . . . . . . . . . 13 4 Generalising reduction in the Cube 15 4.1 The generalised...
Verifying process algebra proofs in type theory
, 1993
"... In this paper we study automatic veri cation of proofs in process algebra. Formulas of process algebra are represented by types in typedcalculus. Inhabitants (terms) of these types represent proofs. The speci c typedcalculus we use is the Calculus of Inductive Constructions as implemented in the i ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
In this paper we study automatic veri cation of proofs in process algebra. Formulas of process algebra are represented by types in typedcalculus. Inhabitants (terms) of these types represent proofs. The speci c typedcalculus we use is the Calculus of Inductive Constructions as implemented in the interactive proof construction program COQ.
A Formal Verification of the Alternating Bit Protocol in the Calculus of Constructions
 Utrecht University
, 1993
"... We report on a formal verification of the Alternating Bit Protocol (ABP) in the Calculus of Constructions. We outline a semiformal correctness proof of the ABP with sufficient detail to be formalised. Thereafter we show by examples how the formalised proof has been verified by the automated proof c ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
We report on a formal verification of the Alternating Bit Protocol (ABP) in the Calculus of Constructions. We outline a semiformal correctness proof of the ABP with sufficient detail to be formalised. Thereafter we show by examples how the formalised proof has been verified by the automated proof checker Coq. This is part of an ongoing project aiming at the mechanisation of reasoning in (extensions of) process algebra, which we think important for the fruitful application of process algebra to concurrent systems. Key Words & Phrases: protocol verification, process algebra, typed lambda calculi. 1985 Mathematics Subject Classification: 68B10. 1987 CR Categories: D.2.4, D.4.5, F.3.1. 1 Introduction We report on a formal verification of the Alternating Bit Protocol [4] in the Calculus of Constructions, as part of an ongoing project aiming at the mechanisation of reasoning in (extensions of) process algebra. Formal verification distinguishes itself from verification in the usual sense...
On \Piconversion in the lambdacube and the combination with abbreviations
, 1997
"... Typed calculus uses two abstraction symbols ( and \Pi) which are usually treated in different ways: x: :x has as type the abstraction \Pi x: :, yet \Pi x: : has type 2 rather than an abstraction; moreover, ( x:A :B)C is allowed and fireduction evaluates it, but (\Pi x:A :B)C is rarely allowed. Fu ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Typed calculus uses two abstraction symbols ( and \Pi) which are usually treated in different ways: x: :x has as type the abstraction \Pi x: :, yet \Pi x: : has type 2 rather than an abstraction; moreover, ( x:A :B)C is allowed and fireduction evaluates it, but (\Pi x:A :B)C is rarely allowed. Furthermore, there is a general consensus that and \Pi are different abstraction operators. While we agree with this general consensus, we find it nonetheless important to allow \Pi to act as an abstraction operator. Moreover, experience with AUTOMATH and the recent revivals of \Pireduction as in [KN 95b, PM 97], illustrate the elegance of giving \Piredexes a status similar to redexes. However, \Pireduction in the cube faces serious problems as shown in [KN 95b, PM 97]: it is not safe as regards subject reduction, it does not satisfy type correctness, it loses the property that the type of an expression is wellformed and it fails to make any expression that contains a \Piredex wellfor...
Towards a formal mathematical vernacular
 Utrecht University
, 1992
"... Contemporary proof veri cators often use a command language to construct proofs. These commands are often called tactics. This new generation of theorem provers is a substantial improvement over earlier ones such asAUTOMATH. Based on experience with these new provers we feel the need to study these ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Contemporary proof veri cators often use a command language to construct proofs. These commands are often called tactics. This new generation of theorem provers is a substantial improvement over earlier ones such asAUTOMATH. Based on experience with these new provers we feel the need to study these languages further, especially, because we think that these may be improved in their adequateness to express proofs closer to the established mathematical vernacular. We also feel that a systematic treatment of these vernaculars may lead to an improvement towards the automatic inference of trivial proof steps. In any case a systematic treatment will lead to a better understanding of the command languages. This exercise is carried out in the setting of Pure Type Systems (PTSs) in which a whole range of logics can be embedded. We rstidentify a subclass of PTSs, called the PTSs for logic. For this class we de ne a formal mathematical vernacular and we prove elementary sound and completeness. Via an elaborate example we try to assess how easy proofs in mathematics can be written down in our vernacular along the lines of the original proofs. 1
Checking Textbook Proofs
 Int. Workshop on FirstOrder Theorem Proving (FTP'98), Technical Report E1852GS981
, 1998
"... . Our longrange goal is to implement a program for the machine verification of textbook proofs. We study the task from both the linguistics and deduction perspective and give an indepth analysis for a sample textbook proof. A three phase model for proof understanding is developed: parsing, str ..."
Abstract
 Add to MetaCart
. Our longrange goal is to implement a program for the machine verification of textbook proofs. We study the task from both the linguistics and deduction perspective and give an indepth analysis for a sample textbook proof. A three phase model for proof understanding is developed: parsing, structuring and refining. It shows that the combined application of techniques from both NLP and AR is quite successful. Moreover, it allows to uncover interesting insights that might initiate progress in both AI disciplines. Keywords: automated reasoning, natural language processing, discourse analysis 1 Introduction In [12], John McCarthy notes that "Checking mathematical proofs is potentially one of the most interesting and useful applications of automatic computers". In the first half of the 1960s, one of his students, namely Paul Abrahams, implemented a Lisp program for the machine verification of mathematical proofs [1]. The program, named Proofchecker, "was primarily directed towar...
The LambdaCube With Classes Which Approximate Reductional Equivalence
, 1995
"... We study lambda calculus and refine the notions of fireduction and fiequality. In particular, we define the operation TS (term reshuffling) on terms which reshuffles a term in such a way that more redexes become visible. Two terms are called shuffleequivalent if they have syntactically equivalent ..."
Abstract
 Add to MetaCart
We study lambda calculus and refine the notions of fireduction and fiequality. In particular, we define the operation TS (term reshuffling) on terms which reshuffles a term in such a way that more redexes become visible. Two terms are called shuffleequivalent if they have syntactically equivalent TSimages. The shuffleequivalence classes are shown to divide the classes of fiequal terms into smaller classes consisting of terms with similar reduction behaviour. The refinement of fireduction from a relation on terms to a relation on shuffle classes, called shufflereduction, allows one to make more redexes visible and to contract these newly visible redexes. This enables one to have more freedom in choosing the reduction path of a term, which can result in smaller terms along the reduction path if a clever reduction strategy is used. Moreover, this gain in reductional breadth is not at the expense of reductional length. We show that the cube of [Barendregt 92] extended with shuffle...