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
- Jinja with Threads
- Refinement for Monadic Programs
- A Separation Logic Framework for Imperative HOL
- Light-weight Containers
- Network Security Policy Verification
- Verification of the UpDown Scheme
- Algorithms for Reduced Ordered Binary Decision Diagrams
- IP Addresses
- Dictionary Construction
- van Emde Boas Trees
- NREST: Nondeterministc RESult monad with Time