Results 1  10
of
37
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 52 (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...
TypeBased Termination of Recursive Definitions
, 2002
"... This article The purpose of this paper is to introduce b, a simply typed calculus that supports typebased recursive definitions. Although heavily inspired from previous work by Giménez (Giménez 1998) and closely related to recent work by Amadio and Coupet (Amadio and CoupetGrimal 1998), the techn ..."
Abstract

Cited by 46 (3 self)
 Add to MetaCart
This article The purpose of this paper is to introduce b, a simply typed calculus that supports typebased recursive definitions. Although heavily inspired from previous work by Giménez (Giménez 1998) and closely related to recent work by Amadio and Coupet (Amadio and CoupetGrimal 1998), the technical machinery behind our system puts a slightly different emphasis on the interpretation of types. More precisely, we formalize the notion of typebased termination using a restricted form of type dependency (a.k.a. indexed types), as popularized by (Xi and Pfenning 1998; Xi and Pfenning 1999). This leads to a simple and intuitive system which is robust under several extensions, such as mutually inductive datatypes and mutually recursive function definitions; however, such extensions are not treated in the paper
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 43 (2 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!.
Outline of a Proof Theory of Parametricity
 Proc. 5th International Symposium on Functional Programming Languages and Computer Architecture
, 1991
"... Reynolds' Parametricity Theorem (also known as the Abstraction Theorem), a result concerning the model theory of the second order polymorphic typed calculus (F 2 ), has recently been used by Wadler to prove some unusual and interesting properties of programs. We present a purely syntactic vers ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
(Show Context)
Reynolds' Parametricity Theorem (also known as the Abstraction Theorem), a result concerning the model theory of the second order polymorphic typed calculus (F 2 ), has recently been used by Wadler to prove some unusual and interesting properties of programs. We present a purely syntactic version of the Parametricity Theorem, showing that it is simply an example of formal theorem proving in second order minimal logic over a first order equivalence theory on terms. We analyze the use of parametricity in proving program equivalences, and show that structural induction is still required: parametricity is not enough. As in Leivant's transparent presentation of Girard's Representation Theorem for F 2 , we show that algorithms can be extracted from the proofs, such that if a term can be proven parametric, we can synthesize from the proof an "equivalent" parametric term that is moreover F 2 typable. Given that Leivant showed how proofs of termination, based on inductive data types and s...
Higher Order Logic
 In Handbook of Logic in Artificial Intelligence and Logic Programming
, 1994
"... Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2 The expressive power of second order Logic : : : : : : : : : : : 3 2.1 The language of second order logic : : : : : : : : : : : : : 3 2.2 Expressing size : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Definin ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 2 The expressive power of second order Logic : : : : : : : : : : : 3 2.1 The language of second order logic : : : : : : : : : : : : : 3 2.2 Expressing size : : : : : : : : : : : : : : : : : : : : : : : : 4 2.3 Defining data types : : : : : : : : : : : : : : : : : : : : : 6 2.4 Describing processes : : : : : : : : : : : : : : : : : : : : : 8 2.5 Expressing convergence using second order validity : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.6 Truth definitions: the analytical hierarchy : : : : : : : : 10 2.7 Inductive definitions : : : : : : : : : : : : : : : : : : : : : 13 3 Canonical semantics of higher order logic : : : : : : : : : : : : 15 3.1 Tarskian semantics of second order logic : : : : : : : : : 15 3.2 Function and re
Monotone Inductive and Coinductive Constructors of Rank 2
 Proceedings of CSL 2001
, 2001
"... A generalization of positive inductive and coinductive types to monotone inductive and coinductive constructors of rank 1 and rank 2 is described. The motivation is taken from initial algebras and nal coalgebras in a functor category and the CurryHowardcorrespondence. The denition of the system as ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
(Show Context)
A generalization of positive inductive and coinductive types to monotone inductive and coinductive constructors of rank 1 and rank 2 is described. The motivation is taken from initial algebras and nal coalgebras in a functor category and the CurryHowardcorrespondence. The denition of the system as a calculus requires an appropriate denition of monotonicity to overcome subtle problems, most notably to ensure that the (co)inductive constructors introduced via monotonicity of the underlying constructor of rank 2 are also monotone as constructors of rank 1. The problem is solved, strong normalization shown, and the notion proven to be wide enough to cover even highly complex datatypes. 1
(Co)iteration for higherorder nested datatypes
 POSTCONF. PROC. OF IST WG TYPES 2ND ANN. MEETING, TYPES'02, LECT. NOTES IN COMPUT. SCI
, 2003
"... The problem of defining iteration for higherorder nested datatypes of arbitrary (finite) rank is solved within the framework of System F ω of higherorder parametric polymorphism. The proposed solution heavily relies on a general notion of monotonicity as opposed to a syntactic criterion on the sh ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
The problem of defining iteration for higherorder nested datatypes of arbitrary (finite) rank is solved within the framework of System F ω of higherorder parametric polymorphism. The proposed solution heavily relies on a general notion of monotonicity as opposed to a syntactic criterion on the shape of the type constructors such as positivity or even being polynomial. Its use is demonstrated for some rank2 heterogeneous/nested datatypes such as powerlists and de Bruijn terms with explicit substitutions. An important feature is the availability of an iterative definition of the mapping operation (the functoriality) for those rank1 type transformers (i. e., functions from types to types) arising as least fixedpoints of monotone rank2 type transformers. Strong normalization is shown by an embedding into F ω. The results dualize to greatest fixedpoints, hence to coinductive constructors with coiteration.
The GirardReynolds Isomorphism, in
 International Symposium of Theoretical Aspects of Computer Software
, 2001
"... ..."
(Show Context)
Patching Proofs for Reuse
 Proc. European Conf. on Machine Learning, Heraklion
, 1995
"... . 1 We investigate the application of machine learning paradigms in automated reasoning in order to improve a theorem prover by reusing previously computed proofs. Our reuse procedure generalizes a previously computed proof of a conjecture yielding a schematic proof which can be instantiated subse ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
(Show Context)
. 1 We investigate the application of machine learning paradigms in automated reasoning in order to improve a theorem prover by reusing previously computed proofs. Our reuse procedure generalizes a previously computed proof of a conjecture yielding a schematic proof which can be instantiated subsequently if a new, similar conjecture is given. We show that for exploiting the full flexibility of secondorder instantiations the instantiated schematic proof has to be patched such that a proof of the new conjecture is obtained. We develop an algorithm which computes patched proofs showing thereby that proof patching is always possible in a uniform way. This enables a further processing of the obtained proof, justifies the soundness of our proposal for reusing proofs, and provides a key for comparing our method with other reuse paradigms. 1 Introduction Several machine learning paradigms aim to improve a problem solver by reusing previously computed solutions, e.g. explanationbased learn...
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 8 (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...