19 research outputs found
Internal Calculi for Separation Logics
We present a general approach to axiomatise separation logics with heaplet semantics with no external features such as nominals/labels. To start with, we design the first (internal) Hilbert-style axiomatisation for the quantifier-free separation logic SL(?, -*). We instantiate the method by introducing a new separation logic with essential features: it is equipped with the separating conjunction, the predicate ls, and a natural guarded form of first-order quantification. We apply our approach for its axiomatisation. As a by-product of our method, we also establish the exact expressive power of this new logic and we show PSpace-completeness of its satisfiability problem
A Stone-type Duality Theorem for Separation Logic Via its Underlying Bunched Logics
Stone-type duality theorems, which relate algebraic and relational/topological models, are important tools in logic because — in addition to elegant abstraction — they strengthen soundness and completeness to a categorical equivalence, yielding a framework through which both algebraic and topological methods can be brought to bear on a logic. We give a systematic treatment of Stone-type duality theorems for the structures that interpret bunched logics, starting with the weakest systems, recovering the familiar Boolean BI, and concluding with Separation Logic. Our results encompass all the known existing algebraic approaches to Separation Logic and prove them sound with respect to the standard store-heap semantics. We additionally recover soundness and completeness theorems of the specific truth-functional models of these logics as presented in the literature. This approach synthesises a variety of techniques from modal, substructural and categorical logic and contextualises the ‘resource semantics’ interpretation underpinning Separation Logic amongst them. As a consequence, theory from those fields — as well as algebraic and topological methods — can be applied to both Separation Logic and the systems of bunched logics it is built upon. Conversely, the notion of indexed resource frame (generalizing the standard model of Separation Logic) and its associated completeness proof can easily be adapted to other non-classical predicate logics
Sub-classical Boolean Bunched Logics and the Meaning of Par
We investigate intermediate logics between the bunched logics Boolean BI and Classical BI, obtained by combining classical propositional logic with various flavours of Hyland and De Paiva\u27s full intuitionistic linear logic. Thus, in addition to the usual multiplicative conjunction (with its adjoint implication and unit), our logics also feature a multiplicative disjunction (with its adjoint co-implication and unit). The multiplicatives behave "sub-classically", in that disjunction and conjunction are related by a weak distribution principle, rather than by De Morgan equivalence.
We formulate a Kripke semantics, covering all our sub-classical bunched logics, in which the multiplicatives are naturally read in terms of resource operations. Our main theoretical result is that validity according to this semantics coincides with provability in a corresponding Hilbert-style proof system.
Our logical investigation sheds considerable new light on how one can understand the multiplicative disjunction, better known as linear logic\u27s "par", in terms of resource operations. In particular, and in contrast to the earlier Classical BI, the models of our logics include the heap-like memory models of separation logic, in which disjunction can be interpreted as a property of intersection operations over heaps
Semantic cut elimination for the logic of bunched implications, formalized in Coq
The logic of bunched implications (BI) is a substructural logic that forms
the backbone of separation logic, the much studied logic for reasoning about
heap-manipulating programs. Although the proof theory and metatheory of BI are
mathematically involved, the formalization of important metatheoretical results
is still incipient. In this paper we present a self-contained formalized, in
the Coq proof assistant, proof of a central metatheoretical property of BI: cut
elimination for its sequent calculus.
The presented proof is *semantic*, in the sense that is obtained by
interpreting sequents in a particular "universal" model. This results in a more
modular and elegant proof than a standard Gentzen-style cut elimination
argument, which can be subtle and error-prone in manual proofs for BI. In
particular, our semantic approach avoids unnecessary inversions on proof
derivations, or the uses of cut reductions and the multi-cut rule.
Besides modular, our approach is also robust: we demonstrate how our method
scales, with minor modifications, to (i) an extension of BI with an arbitrary
set of \emph{simple structural rules}, and (ii) an extension with an S4-like
modality.Comment: 15 pages, to appear in CPP 202
Provability in BI's Sequent Calculus is Decidable
The logic of Bunched Implications (BI) combines both additive and
multiplicative connectives, which include two primitive intuitionistic
implications. As a consequence, contexts in the sequent presentation are not
lists, nor multisets, but rather tree-like structures called bunches. This
additional complexity notwithstanding, the logic has a well-behaved metatheory
admitting all the familiar forms of semantics and proof systems. However, the
presentation of an effective proof-search procedure has been elusive since the
logic's debut. We show that one can reduce the proof-search space for any given
sequent to a primitive recursive set, the argument generalizing Gentzen's
decidability argument for classical propositional logic and combining key
features of Dyckhoff's contraction-elimination argument for intuitionistic
logic. An effective proof-search procedure, and hence decidability of
provability, follows as a corollary.Comment: Submitted to CADE-2
Stone-Type Dualities for Separation Logics
Stone-type duality theorems, which relate algebraic and
relational/topological models, are important tools in logic because -- in
addition to elegant abstraction -- they strengthen soundness and completeness
to a categorical equivalence, yielding a framework through which both algebraic
and topological methods can be brought to bear on a logic. We give a systematic
treatment of Stone-type duality for the structures that interpret bunched
logics, starting with the weakest systems, recovering the familiar BI and
Boolean BI (BBI), and extending to both classical and intuitionistic Separation
Logic. We demonstrate the uniformity and modularity of this analysis by
additionally capturing the bunched logics obtained by extending BI and BBI with
modalities and multiplicative connectives corresponding to disjunction,
negation and falsum. This includes the logic of separating modalities (LSM), De
Morgan BI (DMBI), Classical BI (CBI), and the sub-classical family of logics
extending Bi-intuitionistic (B)BI (Bi(B)BI). We additionally obtain as
corollaries soundness and completeness theorems for the specific Kripke-style
models of these logics as presented in the literature: for DMBI, the
sub-classical logics extending BiBI and a new bunched logic, Concurrent Kleene
BI (connecting our work to Concurrent Separation Logic), this is the first time
soundness and completeness theorems have been proved. We thus obtain a
comprehensive semantic account of the multiplicative variants of all standard
propositional connectives in the bunched logic setting. This approach
synthesises a variety of techniques from modal, substructural and categorical
logic and contextualizes the "resource semantics" interpretation underpinning
Separation Logic amongst them
A bunch of sessions:a propositions-as-sessions interpretation of bunched implications in channel-based concurrency
The emergence of propositions-as-sessions, a Curry-Howard correspondence between propositions of Linear Logic and session types for concurrent processes, has settled the logical foundations of message-passing concurrency. Central to this approach is the resource consumption paradigm heralded by Linear Logic. In this paper, we investigate a new point in the design space of session type systems for message-passing concurrent programs. We identify O’Hearn and Pym’s Logic of Bunched Implications (BI) as a fruitful basis for an interpretation of the logic as a concurrent programming language. This leads to a treatment of non-linear resources that is radically different from existing approaches based on Linear Logic. We introduce a new π-calculus with sessions, called πBI; its most salient feature is a construct called spawn, which expresses new forms of sharing that are induced by structural principles in BI. We illustrate the expressiveness of πBI and lay out its fundamental theory: type preservation, deadlock-freedom, and weak normalization results for well-typed processes; an operationally sound and complete typed encoding of an affine λ-calculus; and a non-interference result for access of resources
A Complete Axiomatisation for Quantifier-Free Separation Logic
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