Recursive Coalgebras from Comonads

The concept of recursive coalgebra of a functor was introduced in the 1970s by Osius in his work on categorical set theory to discuss the relationship between wellfounded induction and recursively specified functions. In this paper, we motivate the use of recursive coalgebras as a paradigm of structured recursion in programming semantics, list some basic facts about recursive coalgebras and, centrally, give new conditions for the recursiveness of a coalgebra based on comonads, comonad-coalgebras and distributive laws of functors over comonads. We also present an alternative construction using countable products instead of coffee comonads.

[1]  Lawrence S. Moss Parametric corecursion , 2001, Theor. Comput. Sci..

[2]  J. Lambek A fixpoint theorem for complete categories , 1968 .

[3]  Maarten M. Fokkinga,et al.  Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire , 1991, FPCA.

[4]  Furio Honsell,et al.  Generalized Coiteration Schemata , 2003, CMCS.

[5]  Roy Dyckhoff PRACTICAL FOUNDATIONS OF MATHEMATICS (Cambridge Studies in Advanced Mathematics 59) , 2000 .

[6]  Paul Taylor,et al.  Intuitionistic sets and ordinals , 1996, Journal of Symbolic Logic.

[7]  Jirí Adámek,et al.  Free iterative theories: a coalgebraic view , 2003, Mathematical Structures in Computer Science.

[8]  Bart Jacobs Relating Two Approaches to Coinductive Solution of Recursive Equations , 2004, CMCS.

[9]  Peter J. Freyd,et al.  Recursive types reduced to inductive types , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[10]  Maarten M. Fokkinga,et al.  Law and order in algorithmics , 1992 .

[11]  A. Eppendahl,et al.  Fixed Point Objects Corresponding to Freyd Algebras , 2005 .

[12]  Paul Taylor,et al.  Practical Foundations of Mathematics , 1999, Cambridge studies in advanced mathematics.

[13]  Conor McBride,et al.  Epigram: Practical Programming with Dependent Types , 2004, Advanced Functional Programming.

[14]  Adam Eppendahl Coalgebra-to-Algebra Morphisms , 1999, CTCS.

[15]  Falk Bartels,et al.  Generalised coinduction , 2003, Mathematical Structures in Computer Science.

[16]  Paul Taylor,et al.  Towards a Unified Treatment of Induction , I : The General Recursion Theorem , 2006 .

[17]  Stefan Milius,et al.  From Iterative Algebras to Iterative Theories (Extended Abstract) , 2004, CMCS.

[18]  Alexander Simpson Workshop on Types for Proofs and Programs , 1993 .

[19]  Tarmo Uustalu,et al.  The Dual of Substitution is Redecoration , 2001, Scottish Functional Programming Workshop.

[20]  Eduardo Giménez,et al.  Structural Recursive Definitions in Type Theory , 1998, ICALP.

[21]  Peter Aczel,et al.  Infinite trees and completely iterative theories: a coalgebraic view , 2003, Theor. Comput. Sci..

[22]  J. Cheney,et al.  A sequent calculus for nominal logic , 2004, LICS 2004.

[23]  P. Freyd Algebraically complete categories , 1991 .

[24]  Conor McBride,et al.  The view from the left , 2004, Journal of Functional Programming.

[25]  Gordon D. Plotkin,et al.  Towards a mathematical operational semantics , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[26]  Stefan Milius Completely iterative algebras and completely iterative monads , 2005, Inf. Comput..

[27]  Jirí Adámek,et al.  Recursive coalgebras of finitary functors , 2007, RAIRO Theor. Informatics Appl..

[28]  Gerhard Osius,et al.  Categorical set theory: A characterization of the category of sets , 1974 .

[29]  Tarmo Uustalu,et al.  Recursion Schemes from Comonads , 2001, Nord. J. Comput..

[30]  Eduardo Giménez,et al.  Codifying Guarded Definitions with Recursive Schemes , 1994, TYPES.

[31]  Tarmo Uustalu,et al.  Primitive (Co)Recursion and Course-of-Value (Co)Iteration, Categorically , 1999, Informatica.

[32]  Venanzio Capretta,et al.  Modelling general recursion in type theory , 2005, Mathematical Structures in Computer Science.

[33]  Tatsuya Hagino,et al.  A Typed Lambda Calculus with Categorical Type Constructors , 1987, Category Theory and Computer Science.

[34]  D. A. Turner,et al.  Elementary Strong Functional Programming , 1995, FPLE.

[35]  Venanzio Capretta,et al.  Nested General Recursion and Partiality in Type Theory , 2001, TPHOLs.

[36]  Roland Carl Backhouse,et al.  Mathematics of Recursive Program Construction , 2001 .

[37]  G. Malcolm,et al.  Data Structures and Program Transformation , 1990, Sci. Comput. Program..

[38]  P. J. Freyd Applications of Categories in Computer Science: Remarks on algebraically compact categories , 1992 .

[39]  Martín Hötzel Escardó,et al.  A universal characterization of the closed Euclidean interval , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.