Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
Computational aspects of an order-sorted logic with term declarations
Computational aspects of an order-sorted logic with term declarations
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Higher-order rewrite systems and their confluence
Theoretical Computer Science - Special issue: rewriting systems and applications
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
Qualified types: theory and practice (ordering relation)
Qualified types: theory and practice (ordering relation)
Random Testing in Isabelle/HOL
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Efficient execution in an automated reasoning environment
Journal of Functional Programming
Extraction in Coq: An Overview
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
ML Modules and Haskell Type Classes: A Constructive Comparison
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Turning Inductive into Equational Specifications
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Formalising FinFuns --- Generating Code for Functions as Data from Isabelle/HOL
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
Certification of Termination Proofs Using CeTA
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
CTP-based programming languages?: considerations about an experimental design
ACM Communications in Computer Algebra
Verified synthesis of knowledge-based programs in finite synchronous environments
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
Animating the formalised semantics of a Java-like language
ITP'11 Proceedings of the Second international conference on Interactive theorem proving
Verified efficient enumeration of plane graphs modulo isomorphism
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
The isabelle collections framework
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Smart testing of functional programs in isabelle
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Proof Pearl: Regular Expression Equivalence and Relation Algebra
Journal of Automated Reasoning
The new quickcheck for isabelle: random, exhaustive and symbolic testing under one roof
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
Verified decision procedures for MSO on words based on derivatives of regular expressions
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
A fully verified executable LTL model checker
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Data refinement in Isabelle/HOL
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Light-Weight containers for isabelle: efficient, extensible, nestable
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
A universal machine for biform theory graphs
CICM'13 Proceedings of the 2013 international conference on Intelligent Computer Mathematics
Proof Pearl--A Mechanized Proof of GHC's Mergesort
Journal of Automated Reasoning
Hi-index | 0.00 |
We present the meta-theory behind the code generation facilities of Isabelle/HOL. To bridge the gap between the source (higher-order logic with type classes) and the many possible targets (functional programming languages), we introduce an intermediate language, Mini-Haskell. To relate the source and the intermediate language, both are given a semantics in terms of higher-order rewrite systems (HRSs). In a second step, type classes are removed from Mini-Haskell programs by means of a dictionary translation; we prove the correctness of this step. Building on equational logic also directly supports a simple but powerful algorithm and data refinement concept.