Algebra of programming
Least and greatest fixed points in intuitionistic natural deduction
Theoretical Computer Science - Special issue on theories of types and proofs
Least and greatest fixed points in intuitionistic natural deduction
Theoretical Computer Science - Special issue on theories of types and proofs
MPC '98 Proceedings of the Mathematics of Program Construction
de Bruijn notation as a nested datatype
Journal of Functional Programming
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Disciplined, efficient, generalised folds for nested datatypes
Formal Aspects of Computing
Iteration and coiteration schemes for higher-order and nested datatypes
Theoretical Computer Science - Foundations of software science and computation structures
A datastructure for iterated powers
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
An induction principle for nested datatypes in intensional type theory
Journal of Functional Programming
Using Coq to understand nested datatypes
EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
Hi-index | 0.00 |
Nested datatypes are families of datatypes that are indexed over all types such that the constructors may relate different family members (unlike the homogeneous lists). Moreover, even the family name may be involved in the expression that gives the index the argument type of the constructor refers to. Especially in this case of true nesting, termination of functions that traverse these data structures is far from being obvious. A joint article with A. Abel and T. Uustalu (TCS 333(1-2), pp. 3-66, 2005) proposes iteration schemes that guarantee termination not by structural requirements but just by polymorphic typing. And they are generic in the sense that no specific syntactic form of the underlying datatype "functor" is required. However, there have not been induction principles for the verification of the programs thus obtained although they are well-known in the usual model of initial algebras on endofunctor categories. The new contribution is a representation of nested datatypes in intensional type theory (more specifically, in the Calculus of Inductive Constructions) that is still generic, guarantees termination of all expressible programs and has induction principles that allow to prove functoriality of monotonicity witnesses (maps for nested datatypes) and naturality properties of iteratively defined polymorphic functions.