Abstract
We provide a framework for separation-logic based correctness proofs of
Imperative HOL programs. Our framework comes with a set of proof methods to
automate canonical tasks such as verification condition generation and
frame inference. Moreover, we provide a set of examples that show the
applicability of our framework. The examples include algorithms on lists,
hash-tables, and union-find trees. We also provide abstract interfaces for
lists, maps, and sets, that allow to develop generic imperative algorithms
and use data-refinement techniques.
As we target Imperative HOL, our programs can be translated to efficiently executable code in various target languages, including ML, OCaml, Haskell, and Scala.
As we target Imperative HOL, our programs can be translated to efficiently executable code in various target languages, including ML, OCaml, Haskell, and Scala.
License
Topics
Session Separation_Logic_Imperative_HOL
- Imperative_HOL_Add
- Syntax_Match
- Run
- Assertions
- Hoare_Triple
- Automation
- Sep_Main
- Imp_List_Spec
- List_Seg
- Open_List
- Circ_List
- Imp_Map_Spec
- Hash_Table
- Hash_Map
- Hash_Map_Impl
- Imp_Set_Spec
- Hash_Set_Impl
- To_List_GA
- Union_Find
- Idioms
- Default_Insts
- Array_Blit
- Array_Map_Impl
- Array_Set_Impl
- From_List_GA
- Sep_Examples