The
deduction theorem of
classical logic relates conjunction and implication: ::A \wedge B \vdash C \quad \mbox{iff} \quad A \vdash B \Rightarrow C Bunched logic has two versions of the deduction theorem: ::A * B \vdash C \quad \mbox{iff} \quad A \vdash B {-\!\!*} C \qquad \mbox{and also} \qquad A \wedge B \vdash C \quad \mbox{iff} \quad A \vdash B \Rightarrow C A * B and B {-\!\!*} C are forms of conjunction and implication that take resources into account (explained below). In addition to these connectives bunched logic has a formula, sometimes written I or emp, which is the unit of *. In the original version of bunched logic \wedge and \Rightarrow were the connectives from
intuitionistic logic, while a boolean variant takes \wedge and \Rightarrow (and \neg ) as from traditional
boolean logic. Thus, bunched logic is compatible with constructive principles, but is in no way dependent on them.
Truth-functional semantics (resource semantics) The easiest way to understand these formulae is in terms of its truth-functional semantics. In this semantics a formula is true or false with respect to given resources. A*B asserts that the resource at hand can be decomposed into resources that satisfy A and B. B {-\!\!*} C says that if we compose the resource at hand with additional resource that satisfies B, then the combined resource satisfies C. \wedge and \Rightarrow have their familiar meanings. The foundation for this reading of formulae was provided by a forcing semantics r \models A advanced by Pym, where the forcing relation means
A holds of resource
r. The semantics is analogous to Kripke's semantics of
intuitionistic or
modal logic, but where the elements of the model are regarded as resources that can be composed and decomposed, rather than as possible worlds that are accessible from one another. For example, the forcing semantics for the conjunction is of the form ::r \models A * B \quad \mbox{iff} \quad \exists r_Ar_B.\,r_A \models A,\, r_B \models B,\,\mbox{and}\,r_A \bullet r_B \leq r where r_A \bullet r_B is a way of combining resources and \leq is a relation of approximation. This semantics of bunched logic draws on prior work in
relevance logic (especially the
operational semantics of Routley–Meyer), but differs from it by not requiring r \bullet r \leq r and by accepting the semantics of standard intuitionistic or classical versions of \wedge and \Rightarrow . The property r \bullet r \leq r is justified when thinking about relevance but denied by considerations of resource; having two copies of a resource is not the same as having one, and in some models (e.g.
heap models) r \bullet r might not even be defined. The standard semantics of \Rightarrow (or of negation) is often rejected by relevantists in their bid to escape the `paradoxes of material implication', which are not a problem from the perspective of modelling resources and so not rejected by bunched logic. The semantics is also related to the 'phase semantics' of
linear logic, but again is differentiated by accepting the standard (even boolean) semantics of \wedge and \Rightarrow , which in linear logic is rejected in a bid to be constructive. These considerations are discussed in detail in an article on resource semantics by Pym, O'Hearn and Yang.
Categorical semantics (doubly closed categories) The double version of the deduction theorem of bunched logic has a corresponding category-theoretic structure. Proofs in intuitionistic logic can be interpreted in
cartesian closed categories, that is, categories with finite products satisfying the (
natural in
A and
C)
adjunction correspondence relating hom sets: ::Hom(A \wedge B, C) \quad \mbox{is isomorphic to} \quad Hom(A, B \Rightarrow C) Bunched logic can be interpreted in categories possessing two such structures ::a categorical model of bunched logic is a single category possessing two closed structures, one symmetric monoidal closed the other cartesian closed. A host of categorial models can be given using Day's
tensor product construction. Additionally, the implicational fragment of bunched logic has been given a
game semantics.
Algebraic semantics The algebraic semantics of bunched logic is a special case of its categorical semantics, but is simple to state and can be more approachable. ::An algebraic model of bunched logic is a poset that is a
Heyting algebra and that carries an additional commutative
residuated lattice structure (for the same lattice as the Heyting algebra): that is, an ordered commutative monoid with an associated implication satisfying A * B \leq C \quad \mbox{iff} \quad A \leq B {-\!\!*} C. The boolean version of bunched logic has models as follows. ::An algebraic model of boolean bunched logic is a poset that is a
Boolean algebra and that carries an additional residuated commutative monoid structure.
Proof theory and type theory (bunches) The
proof calculus of bunched logic differs from usual
sequent calculi in having a tree-like context of
hypotheses instead of a flat list-like structure. In its sequent-based proof theories, the context \Delta in an entailment judgement \Delta \vdash A is a
finite rooted tree whose leaves are propositions and whose internal nodes are labelled with modes of composition corresponding to the two conjunctions. The two combining operators, comma and semicolon, are used (for instance) in the introduction rules for the two implications. :\frac{\Gamma,A \vdash B}{\Gamma \vdash A{-\!\!*} B} \qquad \qquad \frac{\Gamma;A \vdash B}{\Gamma \vdash A{\Rightarrow} B} The difference between the two composition rules comes from additional rules that apply to them. • Multiplicative composition \Delta , \Gamma denies the
structural rules of weakening and contraction. • Additive composition \Delta ; \Gamma admits weakening and contraction of entire bunches. The structural rules and other operations on bunches are often applied deep within a tree-context, and not only at the top level: it is thus in a sense a calculus of
deep inference. Corresponding to bunched logic is a type theory having two kinds of function type. Following the
Curry–Howard correspondence, introduction rules for implications correspond to introduction rules for function types. :\frac{\Gamma,x:A \vdash M:B}{\Gamma \vdash \lambda x.M: A{-\!\!*} B} \qquad \qquad \frac{\Gamma;x:A \vdash M: B}{\Gamma \vdash \alpha x.M:A{\Rightarrow} B} Here, there are two distinct binders, \lambda and \alpha, one for each kind of function type. The proof theory of bunched logic has an historical debt to the use of bunches in relevance logic. But the bunched structure can in a sense be derived from the categorical and algebraic semantics: to formulate an introduction rule for {-\!\!*} we should mimick * on the left in sequents, and to introduce \Rightarrow we should mimick \wedge . This consideration leads to the use of two combining operators. James Brotherston has done further significant work on a unified proof theory for bunched logic and variants, employing
Belnap's notion of
display logic. Galmiche, Méry, and Pym have provided a comprehensive treatment of bunched logic, including
completeness and other meta-theory, based on labelled
tableaux. == Applications ==