Title
CoInduction in Coq
Abstract
The inductive type itself is defined as the smallest collection of elements that is stable with respect to the constructors: it must contain all constants that are declared to be in the inductive type and all results of the constructors when the arguments of these constructors are already found to be in the inductive type. When considering structural recursion, recur-sive definitions are functions that consume elements of the inductive type. The discipline of structural recursion imposes that recursive calls consume data that is obtained through the destructor. The inductive type uses the constructors and destructors in a specific way. Co-inductive types are the types one obtains when using them in a dual fashion. A co-inductive type will appear as the largest collection of elements that is stable with respect to the destructor. It contains every object that can be destructed by pattern-matching. The duality goes on when considering the definition of recursive functions. Co-recursive functions are function that produce elements of the co-inductive type. The discipline of guarded co-recursion imposes that co-recursive calls produce data that is consumed by a constructor. The main practical consequence is that co-inductive types contain objects that look like infinite objects. This rough sketch is more of a philosophical nature. When looking at the details, there are some aspects of co-inductive types that are not so simple to derive from a mere reflection of what happens with inductive types. The possibility to have co-inductive types in theorem proving tools was studied by Co-quand [7], Paulson [19], Leclerc and Paulin-Mohring [16], and Gimenez [13]. Most of these authors were inspired by Aczel [1]. The paper [2] provides a short presentation of terms and (possibly infinite) trees, mainly in set-theoretic terms; it also explains recursion and co-recursion. In this document, we only consider the use of co-inductive types as it is provided in Coq.
Year
Venue
Keywords
2006
Clinical Orthopaedics and Related Research
theorem proving,pattern matching
Field
DocType
Volume
Discrete mathematics,Algebra,Algorithm,Calculus of constructions,Real number,Mathematics
Journal
abs/cs/060
Citations 
PageRank 
References 
5
0.53
14
Authors
1
Name
Order
Citations
PageRank
Yves Bertot144240.82