FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
From fast exponentiation to square matrices: an adventure in types
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
MPC '98 Proceedings of the Mathematics of Program Construction
Polytypic Values Possess Polykinded Types
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
Dependent types in practical programming
Dependent types in practical programming
Journal of Functional Programming
Generalizing generalized tries
Journal of Functional Programming
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
Containers: constructing strictly positive types
Theoretical Computer Science - Applied semantics: Selected topics
Iteration and coiteration schemes for higher-order and nested datatypes
Theoretical Computer Science - Foundations of software science and computation structures
Generalized iteration and coiteration for higher-order nested datatypes
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
(Co-) iteration for higher-order nested datatypes
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
Extensionality in the calculus of constructions
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Verification of programs on truly nested datatypes in intensional type theory
MSFP'06 Proceedings of the 2006 international conference on Mathematically Structured Functional Programming
Hi-index | 0.00 |
Bushes are considered as the first example of a truly nested datatype, i. e., a family of datatypes indexed over all types where a constructor argument not only calls this family with a changing index but even with an index that involves the family itself. For the time being, no induction principles for these datatypes are known. However, the author has introduced with Abel and Uustalu (TCS 333(1–2), pp. 3–66, 2005) iteration schemes that guarantee to define only terminating functions on those datatypes. The article uses a generalization of Bushes to n-fold self-application and shows how to define elements of these types that have a number of data entries that is obtained by iterated raising to the power of n. Moreover, the data entries are just all the n-branching trees up to a certain height. The real question is how to extract this list of trees from that complicated data structure and to prove this extraction correct. Here, we use the “refined conventional iteration” from the cited article for the extraction and describe a verification that has been formally verified inside Coq with its predicative notion of set.