Abstract

We present the first complete axiomatisation for quantifier-free separation logic. The logic is equipped with the standard concrete heaplet semantics and the proof system has no external feature such as nominals/labels. It is not possible to rely completely on proof systems for Boolean BI as the concrete semantics needs to be taken into account. Therefore, we present the first internal Hilbert-style axiomatisation for quantifier-free separation logic. The calculus is divided in three parts: the axiomatisation of core formulae where Boolean combinations of core formulae capture the expressivity of the whole logic, axioms and inference rules to simulate a bottom-up elimination of separating connectives, and finally structural axioms and inference rules from propositional calculus and Boolean BI with the magic wand.

Highlights

  • The calculus is divided in three parts: the axiomatisation of core formulae where Boolean combinations of core formulae capture the expressivity of the whole logic, axioms and inference rules to simulate a bottom-up elimination of separating connectives, and structural axioms and inference rules from propositional calculus and Boolean BI with the magic wand

  • Our methodology leads to a calculus that is divided in three parts: (1) the axiomatisation of Boolean combinations of core formulae, (2) axioms and inference rules to simulate a bottom-up elimination of the separating conjunction, and (3) axioms and inference rules to simulate a bottom-up elimination of the magic wand

  • Lemma 6.2 in which φ and ψ are core types can be extended to arbitrary Boolean combinations of core formulae, as we show that the distributivity off over disjunctions is provable in HCp, ́ ̊q

Read more

Summary

Introduction

We advocate a puristic approach and aim at designing a Hilbert-style proof system for quantifier-free separation logic SLp, ́ ̊q (which includes the separating conjunctionand implication ̊, as well as all Boolean connectives) and more generally for other separation logics, while remaining within the very logical language (see the second part of [DLM20]).[1] in this work, we only focus on axiomatising separation logics, and we have no claim for practical applications in the field of program verification with separation logics. Our methodology leads to a calculus that is divided in three parts: (1) the axiomatisation of Boolean combinations of core formulae, (2) axioms and inference rules to simulate a bottom-up elimination of the separating conjunction, and (3) axioms and inference rules to simulate a bottom-up elimination of the magic wand Such an approach that consists in first axiomatising a syntactic fragment of the whole logic (in our case, the core formulae), is best described in [Dou17] (see [Wal[00], vB11, WC13, Luc[18], DFM19]). A technical appendix contains syntactic derivations omitted from the body of the paper

Preliminaries
A simple calculus for the core formulae
Atompxiqφ1 ñ φ
Related work
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call