Results 1  10
of
13
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 66 (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 re ..."
Abstract

Cited by 65 (9 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
"... 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 su cient detail to be formalised. Thereafter we show by examples how the formalised proof has been veri ed by the automated proof chec ..."
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 su cient detail to be formalised. Thereafter we show by examples how the formalised proof has been veri ed 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.
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
Important Issues in Foundational Formalisms
, 1995
"... This article discusses my work in the last few years on logical formalisms which have been shown to be useful to various aspects of Natural and Programming Languages and for foundational formalisms. In this period, I have been involved in two extensive programs: 1. The first program concerns languag ..."
Abstract
 Add to MetaCart
This article discusses my work in the last few years on logical formalisms which have been shown to be useful to various aspects of Natural and Programming Languages and for foundational formalisms. In this period, I have been involved in two extensive programs: 1. The first program concerns languages which exhibit various ways of combining expressiveness with logic. While I do not propose that any of these languages is ideal, I believe that they illustrate the fruitfulness of bringing together ideas from distinct disciplines. Central to the program will be Logic, calculus and Type Theory, which have played an important role not only in foundational discussions, but also in applied formal semantics; specifically, the semantics of natural language (nl) and of programming languages (pl). The general goal here has been to find expressive and unifying theories which keep the earlier advantages but bring about new dimensions. This goal moreover extends to finding a general framework whic...
Term Reshuffling in the Barendregt Cube
"... This paper will concentrate on a new feature related to reshuffling terms so that more redexes become visible. The idea is explained as follows: Assume a redex is a `[' next to a `]'. What will happen in a term of the form `[ [ ] [ ] ]' ? We know that the two internal `[ ]' are ..."
Abstract
 Add to MetaCart
This paper will concentrate on a new feature related to reshuffling terms so that more redexes become visible. The idea is explained as follows: Assume a redex is a `[' next to a `]'. What will happen in a term of the form `[ [ ] [ ] ]' ? We know that the two internal `[ ]' are redexes, but classical notation does not allow us to say that the outside `[' and `]' form a redex. In [BKN 9x], we generalised the notion of a redex from a pair of adjacent matching parentheses to simply a pair of matching parentheses. Hence, with generalised reduction all the three redexes are visible in `[ [ ] [ ] ]'. In this paper, we propose to reshuffle `[ [ ] [ ] ]' to `[ ] [ ] [ ]' where the first `[' has been moved next to the last `]'. The item notation enables us to see the matching parentheses and to reshuffle terms so that all matching paretheses become adjacent