255 research outputs found
Focused Proof-search in the Logic of Bunched Implications
The logic of Bunched Implications (BI) freely combines additive and
multiplicative connectives, including implications; however, despite its
well-studied proof theory, proof-search in BI has always been a difficult
problem. The focusing principle is a restriction of the proof-search space that
can capture various goal-directed proof-search procedures. In this paper, we
show that focused proof-search is complete for BI by first reformulating the
traditional bunched sequent calculus using the simpler data-structure of nested
sequents, following with a polarised and focused variant that we show is sound
and complete via a cut-elimination argument. This establishes an operational
semantics for focused proof-search in the logic of Bunched Implications.Comment: 18 pages conten
Ribbon Proofs - A Proof System for the Logic of Bunched Implications
Submitted for the degree of Doctor of Philosophy, Queen Mary, University of London
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
Qub: A Resource Aware Functional Programming Language
Managing resources---file handles, database connections, etc.---is a hard problem. Debugging resource leaks and runtime errors due to resource mismanagement are difficult in evolving production code. Programming languages with static type systems are great tools to ensure erroneous code is detected at compile time. However, modern static type systems do little in the aspect of resource management as resources are treated as normal values. We propose a type system, Qub, based on the logic of bunched implications (BI) which models resources as first class citizens. We distinguish two kinds of program objects---restricted and unrestricted---and two kinds of functions---sharing and separating. Our approach guarantees resource correctness without compromising existing functional abstractions
A Bunched Logic for Conditional Independence
Independence and conditional independence are fundamental concepts for reasoning about groups of random variables in probabilistic programs. Verification methods for independence are still nascent, and existing methods cannot handle conditional independence. We extend the logic of bunched implications (BI) with a non-commutative conjunction and provide a model based on Markov kernels; conditional independence can be directly captured as a logical formula in this model. Noting that Markov kernels are Kleisli arrows for the distribution monad, we then introduce a second model based on the powerset monad and show how it can capture join dependency, a non-probabilistic analogue of conditional independence from database theory. Finally, we develop a program logic for verifying conditional independence in probabilistic programs
From IF to BI: a tale of dependence and separation
We take a fresh look at the logics of informational dependence and
independence of Hintikka and Sandu and Vaananen, and their compositional
semantics due to Hodges. We show how Hodges' semantics can be seen as a special
case of a general construction, which provides a context for a useful
completeness theorem with respect to a wider class of models. We shed some new
light on each aspect of the logic. We show that the natural propositional logic
carried by the semantics is the logic of Bunched Implications due to Pym and
O'Hearn, which combines intuitionistic and multiplicative connectives. This
introduces several new connectives not previously considered in logics of
informational dependence, but which we show play a very natural role, most
notably intuitionistic implication. As regards the quantifiers, we show that
their interpretation in the Hodges semantics is forced, in that they are the
image under the general construction of the usual Tarski semantics; this
implies that they are adjoints to substitution, and hence uniquely determined.
As for the dependence predicate, we show that this is definable from a simpler
predicate, of constancy or dependence on nothing. This makes essential use of
the intuitionistic implication. The Armstrong axioms for functional dependence
are then recovered as a standard set of axioms for intuitionistic implication.
We also prove a full abstraction result in the style of Hodges, in which the
intuitionistic implication plays a very natural r\^ole.Comment: 28 pages, journal versio
- …