Results 1 - 10
of
40
Mechanizing Coinduction and Corecursion in Higher-order Logic
- Journal of Logic and Computation
, 1997
"... A theory of recursive and corecursive definitions has been developed in higher-order logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists; greatest fixedpoints express coinductive data types, such as lazy lists. Wellfounded recursion expresse ..."
Abstract
-
Cited by 38 (5 self)
- Add to MetaCart
A theory of recursive and corecursive definitions has been developed in higher-order logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists; greatest fixedpoints express coinductive data types, such as lazy lists. Wellfounded recursion expresses recursive functions over inductive data types; corecursion expresses functions that yield elements of coinductive data types. The theory rests on a traditional formalization of infinite trees. The theory is intended for use in specification and verification. It supports reasoning about a wide range of computable functions, but it does not formalize their operational semantics and can express noncomputable functions also. The theory is illustrated using finite and infinite lists. Corecursion expresses functions over infinite lists; coinduction reasons about such functions. Key words. Isabelle, higher-order logic, coinduction, corecursion Copyright c fl 1996 by Lawrence C. Paulson Content...
Type-Based Termination of Recursive Definitions
, 2002
"... This article The purpose of this paper is to introduce b, a simply typed -calculus that supports type-based 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 Coupet-Grimal 1998), the techn ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
This article The purpose of this paper is to introduce b, a simply typed -calculus that supports type-based 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 Coupet-Grimal 1998), the technical machinery behind our system puts a slightly different emphasis on the interpretation of types. More precisely, we formalize the notion of type-based 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
Induction and co-induction in sequent calculus
- Post-proceedings of TYPES 2003, number 3085 in LNCS
, 2003
"... Abstract. Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic (rather than set-t ..."
Abstract
-
Cited by 18 (5 self)
- Add to MetaCart
Abstract. Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic (rather than set-theoretic) notion of definition [13, 20, 25, 51]. Definitions are akin to (stratified) logic programs, where the left and right rules for defined atoms allow one to view theories as “closed ” or defining fixed points. The use of definitions makes it possible to reason intensionally about syntax, in particular enforcing free equality via unification. We add in a consistent way rules for pre and post fixed points, thus allowing the user to reason inductively and co-inductively about properties of computational system making full use of higher-order abstract syntax. Consistency is guaranteed via cut-elimination, where we give the first, to our knowledge, cut-elimination procedure in the presence of general inductive and co-inductive definitions. 1
Representing Inductively Defined Sets by Wellorderings in Martin-Löf's Type Theory
, 1996
"... We prove that every strictly positive endofunctor on the category of sets generated by Martin-Lof's extensional type theory has an initial algebra. This representation of inductively defined sets uses essentially the wellorderings introduced by Martin-Lof in "Constructive Mathematics and Computer Pr ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
We prove that every strictly positive endofunctor on the category of sets generated by Martin-Lof's extensional type theory has an initial algebra. This representation of inductively defined sets uses essentially the wellorderings introduced by Martin-Lof in "Constructive Mathematics and Computer Programming". 1 Background Martin-Lof [10] introduced a general set former for wellorderings in intuitionistic type theory. It has formation rule Aset (x : A) B(x)set W x:A B(x)set introduction rule a : A (x : B(a)) b(x) : W x:A B(x) sup(a; b) : W x:A B(x) : elimination rule c : W x:A B(x) (x : A; y : B(x) !W x:A B(x); z : Q t:B(x) C(y(t))) d(x; y; z) : C(sup(a; b)) T (c; d) : C(c) and equality rule a : A (x : B(a)) b(x) : W x:A B(x) (x : A; y : B(x) !W x:A B(x); z : Q t:B(x) C(y(t))) d(x; y; z) : C(sup(a; b)) T (sup(a; b); d) = d(a; b; t:T (b(t); d) : C(c) The elimination rule can be viewed either as a rule of transfinite induction or as a rule of definition by transfinite re...
Primitive (co)recursion and course-of-values (co)iteration, categorically
- Informatica
, 1999
"... Abstract. In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic function definition schemes of iteration and coiteration are modelled by constructions known as catamorphisms and ana ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
Abstract. In the mainstream categorical approach to typed (total) functional programming, datatypes are modelled as initial algebras and codatatypes as terminal coalgebras. The basic function definition schemes of iteration and coiteration are modelled by constructions known as catamorphisms and anamorphisms. Primitive recursion has been captured by a construction called paramorphisms. We draw attention to the dual construction of apomorphisms, and show on examples that primitive corecursion is a useful function definition scheme. We also put forward and study two novel constructions, viz., histomorphisms and futumorphisms, that capture the powerful schemes of course-of-value iteration and its dual, respectively, and argue that even these are helpful.
Un Calcul De Constructions Infinies Et Son Application A La Verification De Systemes Communicants
, 1996
"... m networks and the recent works of Thierry Coquand in type theory have been the most important sources of motivation for the ideas presented here. I wish to specially thank Roberto Amadio, who read the manuscript in a very short delay, providing many helpful comments and remarks. Many thanks also to ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
m networks and the recent works of Thierry Coquand in type theory have been the most important sources of motivation for the ideas presented here. I wish to specially thank Roberto Amadio, who read the manuscript in a very short delay, providing many helpful comments and remarks. Many thanks also to Luc Boug'e, who accepted to be my oficial supervisor, and to the chair of the jury, Michel Cosnard, who opened to me the doors of the LIP. During these last three years in Lyon I met many wonderful people, who then become wonderful friends. Miguel, Nuria, Veronique, Patricia, Philippe, Pia, Rodrigo, Salvador, Sophie : : : with you I have shared the happiness and sadness of everyday life, those little things which make us to remember someone forever. I also would like to thank the people from "Tango de Soie", for all those funny nights at the Caf'e Moulin Joly. Thanks too to the Uruguayan research community in Computer Science (specially to Cristina Cornes and Alberto Pardo) w
From Set-theoretic Coinduction to Coalgebraic Coinduction: some results, some problems
- In Jacobs and Rutten [JR99
, 1999
"... We investigate the relation between the set-theoretical description of coinduction based on Tarski Fixpoint Theorem, and the categorical description of coinduction based on coalgebras. In particular, we examine set-theoretic generalizations of the coinduction proof principle, in the spirit of Mil ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
We investigate the relation between the set-theoretical description of coinduction based on Tarski Fixpoint Theorem, and the categorical description of coinduction based on coalgebras. In particular, we examine set-theoretic generalizations of the coinduction proof principle, in the spirit of Milner's bisimulation "up-to", and we discuss categorical counterparts for these. Moreover, we investigate the connection between these and the equivalences induced by T -coiterative functions. These are morphisms into final coalgebras, satisfying the T -coiteration scheme, which is a generalization of both the coiteration and the corecursion scheme. We generalize Rutten's transformation from coalgebraic bisimulations to set-theoretic bisimulations, in order to cover also the case of bisimulations "up-to". A list of examples of set-theoretic coinductive specifications which appear not to be easily expressible in coalgebraic terms are discussed. Introduction Coinductive definitions and ...
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 Curry-Howard-correspondence. The denition of the system as ..."
Abstract
-
Cited by 9 (4 self)
- Add to MetaCart
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 Curry-Howard-correspondence. 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
Functional programming with apomorphisms (corecursion
- Proceedings of the Estonian Academy of Sciences: Physics, Mathematics
, 1998
"... Abstract. In the mainstream categorical approach to typed (total) functional programming, functions with inductive source types defined by primitive recursion are called paramorphisms; the utility of primitive recursion as a scheme for defining functions in programming is well known. We draw attenti ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
Abstract. In the mainstream categorical approach to typed (total) functional programming, functions with inductive source types defined by primitive recursion are called paramorphisms; the utility of primitive recursion as a scheme for defining functions in programming is well known. We draw attention to the dual notion of apomorphisms — with coinductive target types defined by primitive corecursion and show on examples that primitive corecursion is useful in programming. Key words: typed (total) functional programming, categorical program calculation, (co)datatypes, (co)recursion forms. 1.
Generalized Iteration and Coiteration for Higher-Order Nested Datatypes
- PROC. OF FOSSACS 2003
, 2003
"... We solve the problem of extending Bird and Paterson's generalized folds for nested datatypes and its dual to inductive and coinductive constructors of arbitrarily high ranks by appropriately generalizing Mendler-style (co)iteration. Characteristically to Mendler-style schemes of disciplined (co)recu ..."
Abstract
-
Cited by 8 (5 self)
- Add to MetaCart
We solve the problem of extending Bird and Paterson's generalized folds for nested datatypes and its dual to inductive and coinductive constructors of arbitrarily high ranks by appropriately generalizing Mendler-style (co)iteration. Characteristically to Mendler-style schemes of disciplined (co)recursion, the schemes we propose do not rest on notions like positivity or monotonicity of a constructor and facilitate programming in a natural and elegant style close to programming with the customary letrec construct, where the typings of the schemes, however, guarantee termination. For rank 2, a smoothened version of Bird and Paterson's generalized folds and its dual are achieved; for rank 1, the schemes instantiate to Mendler's original (re)formulation of iteration and coiteration. Several examples demonstrate the power of the approach. Strong normalization of our proposed extension of system F of higherorder parametric polymorphism is proven by a reduction-preserving embedding into pure F .

