### 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.

### License

BSD License

### Topics

- Computer science/Programming languages/Logics

### 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

### Depends on

- Automatic Data Refinement
- Collections Framework
- Native Word

### Used by

- The Imperative Refinement Framework
- Verification of the UpDown Scheme

### Auto-related entries

- Verification Components for Hybrid Systems
- Converting Linear-Time Temporal Logic to Generalized Büchi Automata
- Refinement for Monadic Programs
- Tree Automata

## Cite

×

Separation_Logic_Imperative_HOL-AFP

    @article{Separation_Logic_Imperative_HOL-AFP,
      author  = {Peter Lammich and Rene Meis},
      title   = {A Separation Logic Framework for Imperative HOL},
      journal = {Archive of Formal Proofs},
      month   = {November},
      year    = {2012},
      note    = {\url{https://isa-afp.org/entries/Separation_Logic_Imperative_HOL.html},
                 Formal proof development},
      ISSN    = {2150-914x},
    }

Download

## Download

× Download latest

Older releases:

- Sep 13, 2023 : Isabelle2023
- Oct 27, 2022 : Isabelle2022
- Dec 14, 2021 : Isabelle2021-1
- Feb 23, 2021 : Isabelle2021
- Apr 20, 2020 : Isabelle2020
- Jun 11, 2019 : Isabelle2019
- Aug 16, 2018 : Isabelle2018
- Oct 10, 2017 : Isabelle2017
- Dec 17, 2016 : Isabelle2016-1
- Feb 22, 2016 : Isabelle2016
- May 27, 2015 : Isabelle2015
- Aug 28, 2014 : Isabelle2014
- Dec 11, 2013 : Isabelle2013-2
- Nov 17, 2013 : Isabelle2013-1
- Mar 2, 2013 : Isabelle2013
- Feb 16, 2013 : Isabelle2013
- Nov 15, 2012 : Isabelle2012