Results 1  10
of
20
Inductive Definitions in the System Coq Rules and Properties
, 1992
"... In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higherorder quantification. However, this representation is not satisfactory, from the point of view of both the efficiency of the underlying programs and the power of the logical system. For ..."
Abstract

Cited by 191 (2 self)
 Add to MetaCart
In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higherorder quantification. However, this representation is not satisfactory, from the point of view of both the efficiency of the underlying programs and the power of the logical system. For these reasons, the calculus was extended with a primitive notion of inductive definitions [8]. This paper describes the rules for inductive definitions in the system Coq. They are general enough to be seen as one formulation of adding inductive definitions to a typed lambdacalculus. We prove strong normalization for a subsystem of Coq corresponding to the pure Calculus of Constructions plus Inductive Definitions with only weak nondependent eliminations.
Inductively Defined Types in the Calculus of Constructions
 IN: PROCEEDINGS OF THE FIFTH CONFERENCE ON THE MATHEMATICAL FOUNDATIONS OF PROGRAMMING SEMANTICS. SPRINGER VERLAG LNCS
, 1989
"... We define the notion of an inductively defined type in the Calculus of Constructions and show how inductively defined types can be represented by closed types. We show that all primitive recursive functionals over these inductively defined types are also representable. This generalizes work by Böhm ..."
Abstract

Cited by 47 (3 self)
 Add to MetaCart
(Show Context)
We define the notion of an inductively defined type in the Calculus of Constructions and show how inductively defined types can be represented by closed types. We show that all primitive recursive functionals over these inductively defined types are also representable. This generalizes work by Böhm & Berarducci on synthesis of functions on term algebras in the secondorder polymorphiccalculus (F2). We give several applications of this generalization, including a representation of F2programs in F3, along with a definition of functions reify, reflect, and eval for F2 in F3. We also show how to define induction over inductively defined types and sketch some results that show that the extension of the Calculus of Construction by induction principles does not alter the set of functions in its computational fragment, F!. This is because a proof by induction can be realized by primitive recursion, which is already de nable in F!.
A Cube of Proof Systems for the Intuitionistic Predicate mu,nuLogic
 Dept. of Informatics, Univ. of Oslo
, 1997
"... This paper is an attempt at a systematizing study of the proof theory of the intuitionistic predicate ¯; logic (conventional intuitionistic predicate logic extended with logical constants ¯ and for the least and greatest fixpoint operators on positive predicate transformers). We identify eight pr ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
(Show Context)
This paper is an attempt at a systematizing study of the proof theory of the intuitionistic predicate ¯; logic (conventional intuitionistic predicate logic extended with logical constants ¯ and for the least and greatest fixpoint operators on positive predicate transformers). We identify eight prooftheoretically interesting naturaldeduction calculi for this logic and propose a classification of these into a cube on the basis of the embeddibility relationships between these. 1 Introduction ¯,logics, i.e. logics with logical constants ¯ and for the least and greatest fixpoint operators on positive predicate transformers, have turned out to be a useful formalism in a number of computer science areas. The classical 1storder predicate ¯,logic can been used as a logic of (nondeterministic) imperative programs and as a database query language. It is also one of the relation description languages studied in descriptive complexity theory (finite model theory) (for a survey on this hi...
Programming with inductive and coinductive types
, 1992
"... Abstract We look at programming with inductive and coinductive datatypes, which are inspired theoretically by initial algebras and final coalgebras, respectively. A predicative calculus which incorporates these datatypes as primitive constructs is presented. This calculus allows reduction sequence ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
Abstract We look at programming with inductive and coinductive datatypes, which are inspired theoretically by initial algebras and final coalgebras, respectively. A predicative calculus which incorporates these datatypes as primitive constructs is presented. This calculus allows reduction sequences which are significantly more efficient for two dual classes of common programs than do previous calculi using similar primitives. Several techniques for programming in this calculus are illustrated with numerous examples. A short survey of related work is also included.
Towards a Practical Programming Language Based on the Polymorphic Lambda Calculus
, 1989
"... The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instanc ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instances of polymorphic functions may be passed as arguments to other functions, but
A tutorial on typebased termination, in
 of Lecture Notes in Computer Science
, 2009
"... Abstract. Typebased termination is a method to enforce termination of recursive definitions through a nonstandard type system that introduces a notion of size for inhabitants of inductively defined types. The purpose of this tutorial is to provide a gentle introduction to a polymorphically typed ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Abstract. Typebased termination is a method to enforce termination of recursive definitions through a nonstandard type system that introduces a notion of size for inhabitants of inductively defined types. The purpose of this tutorial is to provide a gentle introduction to a polymorphically typed λcalculus with typebased termination, and to the size inference algorithm which is used to guarantee automatically termination of recursive definitions. 1
STORAGE OPERATORS and ∀POSITIVE TYPES in TTR TYPE SYSTEM
"... In 1990, J.L. Krivine introduced the notion of storage operator to simulate ”call by value ” in the ”call by name” strategy. J.L. Krivine has shown that, using Gődel translation of classical into intuitionitic logic, we can find a simple type for the storage operators in AF 2 type system. This paper ..."
Abstract
 Add to MetaCart
(Show Context)
In 1990, J.L. Krivine introduced the notion of storage operator to simulate ”call by value ” in the ”call by name” strategy. J.L. Krivine has shown that, using Gődel translation of classical into intuitionitic logic, we can find a simple type for the storage operators in AF 2 type system. This paper studies the ∀positive types (the universal second order quantifier appears positively in these types), and the Gődel transformations (a generalization of classical Gődel translation) of T T R type system. We generalize, by using syntaxical methods, the J.L. Krivine’s Theorem about these types and for these transformations. We give a proof of this result in the case of the type of recursive integers.
A NonUniform Finitary Relational Semantics of System T
, 2009
"... We study iteration and recursion operators in the denotational semantics of typed λcalculi derived from the multiset relational model of linear logic. Although these operators are defined as fixpoints of typed functionals, we prove them finitary in the sense of Ehrhard’s finiteness spaces. 1 ..."
Abstract
 Add to MetaCart
We study iteration and recursion operators in the denotational semantics of typed λcalculi derived from the multiset relational model of linear logic. Although these operators are defined as fixpoints of typed functionals, we prove them finitary in the sense of Ehrhard’s finiteness spaces. 1
An arithmetical proof of the strong normalization for the λcalculus with recursive equations on types
, 2007
"... ..."
On Constructor Rewrite Systems and the LambdaCalculus
, 2009
"... We prove that orthogonal constructor term rewrite systems and lambdacalculus with weak (i.e., no reduction is allowed under the scope of a lambdaabstraction) callbyvalue reduction can simulate each other with a linear overhead. In particular, weak callbyvalue betareduction can be simulated by ..."
Abstract
 Add to MetaCart
(Show Context)
We prove that orthogonal constructor term rewrite systems and lambdacalculus with weak (i.e., no reduction is allowed under the scope of a lambdaabstraction) callbyvalue reduction can simulate each other with a linear overhead. In particular, weak callbyvalue betareduction can be simulated by an orthogonal constructor term rewrite system in the same number of reduction steps. Conversely, each reduction in an orthogonal term rewrite system can be simulated by a constant number of weak callbyvalue betareduction steps. This is relevant to implicit computational complexity, because the number of beta steps to normal form is polynomially related to the actual cost (that is, as performed on a Turing machine) of normalization, under weak callbyvalue reduction. Orthogonal constructor term rewrite systems and lambdacalculus are thus both polynomially related to Turing machines, taking as notion of cost their natural parameters. 1