A Simple Separation Logic
نویسنده
چکیده
The kinds of models that are usually considered in separation logic are structures such as words, trees, and more generally pointer structures (heaps). In this paper we introduce the separation logic of much simpler structures, viz. sets. The models of our set separation logic are nothing but valuations of classical propositional logic. Separating a valuation V consists in splitting it up into two partial valuations v1 and v2. Truth of a formula φ1 ∗φ2 in a valuation V can then be defined in two different ways: first, as truth of φ1 in all total extensions of v1 and truth of φ2 in all total extensions of v2; and second, as truth of φ1 in some total extension of v1 and truth of φ2 in some total extension of v2. The first is an operator of separation of resources: the update of φ1 ∗ φ2 by ψ is the conjunction of the update of φ1 by ψ and the update of φ2 by ψ; in other words, φ1 ∗ φ2 can be updated independently. The second is an operator of separation of processes: updates by ψ1 ∗ ψ2 can be performed independently. We show that the satisfiability problem of our logic is decidable in polynomial space (PSPACE). We do so by embedding it into dynamic logic of propositional assignments (which is PSPACE complete). We moreover investigate its applicability to belief update and belief revision, where the separation operators allow to formulate natural requirements on independent pieces of information.
منابع مشابه
BI Hyperdoctrines and Higher-Order Separation Logic
We present a precise correspondence between separation logic and a new simple notion of predicate BI, extending the earlier correspondence given between part of separation logic and propositional BI [14]. Moreover, we introduce the notion of a BI hyperdoctrine and show that it soundly models classical and intuitionistic firstand higher-order predicate BI, and use it to show that we may easily e...
متن کاملA Fresh Look at Separation Algebras and Share Accounting
Separation Algebras serve as models of Separation Logics; Share Accounting allows reasoning about concurrent-read/exclusive-write resources in Separation Logic. In designing a Concurrent Separation Logic and in mechanizing proofs of its soundness, we found previous axiomatizations of separation algebras and previous systems of share accounting to be useful but imperfect. We adjust the axioms of...
متن کاملSemantics of Separation-Logic Typing and Higher-order Frame Rules for Algol-like Languages
We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we provide simple sound rules for deriving higher-order frame rules, allowing for local reasoning.
متن کاملVerification of programs in virtual memory using separation logic
Formal reasoning about programs executing in virtual memory is a difficult problem, as it is an environment in which writing to memory can change its layout. At the same time, correctly reasoning about virtual memory is essential to operating system verification, a field we are very much interested in. Current approaches rely on entering special modes or making high-level assertions about the n...
متن کاملAn Outline of Separation Logic
Separation Logic is an effective Program Logic for proving programs that involve pointers. Reasoning with pointers becomes difficult especially when there is aliasing arising due to several pointers to a given cell location. In this paper, we try to explore the problems with aliasing through some simple examples and introduce the notion of separating conjunction as a tool to deal with it. We in...
متن کاملA Simple Model of Separation Logic for Higher-Order Store
Separation logic is a Hoare-style logic for reasoning about pointer-manipulating programs. Its core ideas have recently been extended from low-level to richer, high-level languages. In this paper we develop a new semantics of the logic for a programming language where code can be stored (i.e., with higher-order store). The main improvement on previous work is the simplicity of the model. As a c...
متن کامل