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
Summary
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
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have