COLOG-88 Proceedings of the international conference on Computer logic
Substitution: a formal methods case study using monads and transformations
TAPSOFT '93 Selected papers of the colloquium on Formal approaches of software engineering
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
Extensional Equality in Intensional Type Theory
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
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
An induction principle for nested datatypes in intensional type theory
Journal of Functional Programming
On the strength of proof-irrelevant type theories
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
Extensionality in the calculus of constructions
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Formalized metatheory with terms represented by an indexed family of types
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Verification of programs on truly nested datatypes in intensional type theory
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Recursion on Nested Datatypes in Dependent Type Theory
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
An induction principle for nested datatypes in intensional type theory
Journal of Functional Programming
Coalgebraic Reasoning in Coq: Bisimulation and the λ-Coiteration Scheme
Types for Proofs and Programs
Fibrational induction rules for initial algebras
CSL'10/EACSL'10 Proceedings of the 24th international conference/19th annual conference on Computer science logic
Map fusion for nested datatypes in intensional type theory
Science of Computer Programming
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
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, the argument types of the constructors refer to indices given by expressions in which the family name may occur. Especially in this case of true nesting, termination of functions that traverse these data structures is far from being obvious. A joint paper with A. Abel and T. Uustalu (Theor. Comput. Sci., 333 (1–2), 2005, pp. 3–66) proposed iteration schemes that guarantee termination not by structural requirements but just by polymorphic typing. They are generic in the sense that no specific syntactic form of the underlying datatype “functor” is required. However, there was no induction principle 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 and covers true nesting, guarantees termination of all expressible programs, and has an induction principle that allows to prove functoriality of monotonicity witnesses (maps for nested datatypes) and naturality properties of iteratively defined polymorphic functions.