Non-deterministic data types: models and implementations
Acta Informatica
Proc. of the European symposium on programming on ESOP 86
4th Annual Symposium on Theoretical Aspects of Computer Sciences on STACS 87
Software Development: A Rigorous Approach
Software Development: A Rigorous Approach
Interactive Theorem Proving and Program Development
Interactive Theorem Proving and Program Development
Efficient execution in an automated reasoning environment
Journal of Functional Programming
Quotients revisited for Isabelle/HOL
Proceedings of the 2011 ACM Symposium on Applied Computing
Animating the formalised semantics of a Java-like language
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
Automatic proof and disproof in Isabelle/HOL
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Code generation via higher-order rewrite systems
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Verified decision procedures for MSO on words based on derivatives of regular expressions
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
The paper shows how the code generator of Isabelle/HOL supports data refinement, i.e., providing efficient code for operations on abstract types, e.g., sets or numbers. This allows all tools that employ code generation, e.g., Quickcheck or proof by evaluation, to compute with these abstract types. At the core is an extension of the code generator to deal with data type invariants. In order to automate the process of setting up specific data refinements, two packages for transferring definitions and theorems between types are exploited.