Abstract
We present the Autoref tool for Isabelle/HOL, which automatically
refines algorithms specified over abstract concepts like maps
and sets to algorithms over concrete implementations like red-black-trees,
and produces a refinement theorem. It is based on ideas borrowed from
relational parametricity due to Reynolds and Wadler.
The tool allows for rapid prototyping of verified, executable algorithms.
Moreover, it can be configured to fine-tune the result to the user~s needs.
Our tool is able to automatically instantiate generic algorithms, which
greatly simplifies the implementation of executable data structures.
This AFP-entry provides the basic tool, which is then used by the Refinement and Collection Framework to provide automatic data refinement for the nondeterminism monad and various collection datastructures.
License
Topics
Session Automatic_Refinement
- Refine_Util_Bootstrap1
- Mpat_Antiquot
- Mk_Term_Antiquot
- Refine_Util
- Attr_Comb
- Named_Sorted_Thms
- Prio_List
- Tagged_Solver
- Anti_Unification
- Misc
- Foldi
- Indep_Vars
- Select_Solve
- Mk_Record_Simp
- Refine_Lib
- Param_Chapter
- Relators
- Param_Tool
- Param_HOL
- Parametricity
- Autoref_Phases
- Autoref_Data
- Autoref_Tagging
- Autoref_Id_Ops
- Autoref_Fix_Rel
- Autoref_Relator_Interface
- Autoref_Translate
- Autoref_Gen_Algo
- Autoref_Chapter
- Autoref_Tool
- Autoref_Bindings_HOL
- Automatic_Refinement
Used by
- NREST: Nondeterministc RESult monad with Time
- van Emde Boas Trees
- Dictionary Construction
- IP Addresses
- Algorithms for Reduced Ordered Binary Decision Diagrams
- Verification of the UpDown Scheme
- Network Security Policy Verification
- Light-weight Containers
- A Separation Logic Framework for Imperative HOL
- Refinement for Monadic Programs
- Jinja with Threads