A Simple Separation Logic
Résumé
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 v 1 and v 2. 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 v 1 and truth of φ 2 in all total extensions of v 2; and second, as truth of φ 1 in some total extension of v 1 and truth of φ 2 in some total extension of v 2. 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.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...