Constructing recursion operators in intuitionistic type theory
Journal of Symbolic Computation
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Theoretical Computer Science - Foundations of software science and computation structures
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extracting a data flow analyser in constructive logic
Theoretical Computer Science - Applied semantics: Selected topics
A structured approach to proving compiler optimizations based on dataflow analysis
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
A uniform and certified approach for two static analyses
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
A certified denotational abstract interpreter
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Hi-index | 0.00 |
This paper presents fixpoint calculations on lattice structures as example of highly modular programming in a dependently typed functional language. We propose a library of Coq module functors for constructing complex lattices using efficient data structures. The lattice signature contains a well-foundedness proof obligation which ensures termination of generic fixpoint iteration algorithms. With this library, complex well-foundedness proofs can hence be constructed in a functorial fashion. This paper demonstrates the ability of the recent Coq module system in manipulating algebraic structures and extracting efficient Ocaml implementations from them. The second contribution of this work is a generic result, based on the constructive notion of accessibility predicate, about preservation of accessibility properties when combining relations.