Sequent calculus

From LLWiki
(Difference between revisions)
Jump to: navigation, search
(Formulas: table markup)
(conventions for quantifiers)
Line 1: Line 1:
 
This article presents the language and sequent calculus of second-order
 
This article presents the language and sequent calculus of second-order
 
propositional linear logic and the basic properties of this sequent calculus.
 
propositional linear logic and the basic properties of this sequent calculus.
 
 
   
 
== Formulas ==
 
== Formulas ==
Line 8: Line 6:
 
Formulas are built on a set of atoms, written <math>\alpha,\beta,\ldots</math>, that can
 
Formulas are built on a set of atoms, written <math>\alpha,\beta,\ldots</math>, that can
 
be either propositional variables <math>X,Y,Z\ldots</math> or atomic formulas
 
be either propositional variables <math>X,Y,Z\ldots</math> or atomic formulas
<math>X(t_1,\ldots,t_n)</math>, where the <math>t_i</math> are terms from some first-order language.
+
<math>p(t_1,\ldots,t_n)</math>, where the <math>t_i</math> are terms from some first-order language and <math>p</math> is a predicate symbol.
 
Formulas, represented by capital letters <math>A</math>, <math>B</math>, <math>C</math>, are built using the
 
Formulas, represented by capital letters <math>A</math>, <math>B</math>, <math>C</math>, are built using the
 
following connectives:
 
following connectives:
Line 50: Line 48:
 
| exponentials
 
| exponentials
 
|-
 
|-
| <math>\exists x.A</math>
+
| <math>\exists \xi.A</math>
 
| there exists
 
| there exists
| <math>\forall x.A</math>
+
| <math>\forall \xi.A</math>
 
| for all
 
| for all
| quantifiers
+
| quantifiers (<math>\xi</math> is a first or second order variable)
 
|}
 
|}
   
Line 66: Line 64:
 
read ''of course <math>A</math>'' for <math>\oc A</math> and ''why not <math>A</math>'' for <math>\wn A</math>.
 
read ''of course <math>A</math>'' for <math>\oc A</math> and ''why not <math>A</math>'' for <math>\wn A</math>.
 
Quantifiers may apply to first- or second-order variables.
 
Quantifiers may apply to first- or second-order variables.
 
   
 
Given a formula <math>A</math>, its linear negation, also called ''orthogonal'' and
 
Given a formula <math>A</math>, its linear negation, also called ''orthogonal'' and
Line 112: Line 109:
 
| <math>:= \oc ( A\orth ) </math>
 
| <math>:= \oc ( A\orth ) </math>
 
|-
 
|-
|align="right"| <math> ( \exists X.A )\orth </math>
+
|align="right"| <math> ( \exists \xi.A )\orth </math>
| <math>:= \forall X.( A\orth ) </math>
+
| <math>:= \forall \xi.( A\orth ) </math>
 
|
 
|
|align="right"| <math> ( \forall X.A )\orth </math>
+
|align="right"| <math> ( \forall \xi.A )\orth </math>
| <math>:= \exists X.( A\orth ) </math>
+
| <math>:= \exists \xi.( A\orth ) </math>
 
|}
 
|}
 
   
 
Note that this operation is defined syntactically, hence negation is not a
 
Note that this operation is defined syntactically, hence negation is not a
Line 133: Line 129:
 
A \limp B := A\orth \parr B
 
A \limp B := A\orth \parr B
 
</math>
 
</math>
 
   
 
Free and bound variables are defined in the standard way, as well as
 
Free and bound variables are defined in the standard way, as well as
Line 150: Line 145:
 
Proofs are labelled trees of sequents, built using the following inference
 
Proofs are labelled trees of sequents, built using the following inference
 
rules:
 
rules:
 
   
 
* Identity group:<br><math>
 
* Identity group:<br><math>
Line 163: Line 157:
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
   
 
* Multiplicative group:<br><math>
 
* Multiplicative group:<br><math>
Line 186: Line 179:
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
   
 
* Additive group:<br><math>
 
* Additive group:<br><math>
Line 209: Line 201:
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
   
 
* Exponential group:<br><math>
 
* Exponential group:<br><math>
Line 233: Line 224:
 
</math>
 
</math>
   
+
* Quantifier group (in the <math>\forall</math> rule, <math>\xi</math> must not occur free in <math>\Gamma</math>):<br><math>
* Quantifier group (in the <math>\forall</math> rule, <math>X</math> must not occur in <math>\Gamma</math>):<br><math>
+
\AxRule{ \vdash \Gamma, A[t/x] }
  +
\LabelRule{ \exists^1 }
  +
\UnaRule{ \vdash \Gamma, \exists x.A }
  +
\DisplayProof
  +
\qquad
 
\AxRule{ \vdash \Gamma, A[B/X] }
 
\AxRule{ \vdash \Gamma, A[B/X] }
\LabelRule{ \exists }
+
\LabelRule{ \exists^2 }
 
\UnaRule{ \vdash \Gamma, \exists X.A }
 
\UnaRule{ \vdash \Gamma, \exists X.A }
 
\DisplayProof
 
\DisplayProof
Line 242: Line 233:
 
\AxRule{ \vdash \Gamma, A }
 
\AxRule{ \vdash \Gamma, A }
 
\LabelRule{ \forall }
 
\LabelRule{ \forall }
\UnaRule{ \vdash \Gamma, \forall X.A }
+
\UnaRule{ \vdash \Gamma, \forall \xi.A }
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
 
   
 
The rules for exponentials are called ''dereliction'', ''weakening'',
 
The rules for exponentials are called ''dereliction'', ''weakening'',
Line 276: Line 265:
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
 
   
 
== Equivalences and definability ==
 
== Equivalences and definability ==
Line 293: Line 280:
 
=== Fundamental equivalences ===
 
=== Fundamental equivalences ===
   
  +
* Associativity, commutativity, neutrality: <br> <math>
  +
A \tens (B \tens C) \equiv (A \tens B) \tens C </math> &emsp; <math>
  +
A \tens B \equiv B \tens A </math> &emsp; <math>
  +
A \tens \one \equiv A </math> <br> <math>
  +
A \plus (B \plus C) \equiv (A \plus B) \plus C </math> &emsp; <math>
  +
A \plus B \equiv B \plus A </math> &emsp; <math>
  +
A \plus \zero \equiv A </math>
   
  +
* Idempotence of additives: <br> <math>
  +
A \plus A \equiv A </math>
   
* Associativity, commutativity, neutrality:
+
* Distributivity of multiplicatives over additives: <br> <math>
{|
+
A \tens (B \plus C) \equiv (A \tens B) \plus (A \tens C) </math> &emsp; <math>
|-
+
A \tens \zero \equiv \zero </math>
|align="right"| &emsp; <math>
 
A \tens (B \tens C) </math>
 
| <math>\equiv (A \tens B) \tens C </math>
 
|align="right"| &emsp; <math>
 
A \tens B </math>
 
| <math>\equiv B \tens A </math>
 
|align="right"| &emsp; <math>
 
A \tens \one </math>
 
| <math>\equiv A </math>
 
|-
 
|align="right"| &emsp; <math>
 
A \plus (B \plus C) </math>
 
| <math>\equiv (A \plus B) \plus C </math>
 
|align="right"| &emsp; <math>
 
A \plus B </math>
 
| <math>\equiv B \plus A </math>
 
|align="right"| &emsp; <math>
 
A \plus \zero </math>
 
| <math>\equiv A
 
</math>
 
|}
 
   
  +
* Defining property of exponentials:<br> <math>
  +
\oc(A \with B) \equiv \oc A \tens \oc B </math> &emsp; <math>
  +
\oc\top \equiv \one </math>
   
* Idempotence of additives:
+
* Monoidal structure of exponentials, digging: <br> <math>
{|
+
\oc A \otimes \oc A \equiv \oc A </math> &emsp; <math>
|-
+
\oc \one \equiv \one </math> &emsp; <math>
|align="right"| &emsp; <math>
+
\oc\oc A \equiv \oc A </math>
A \plus A </math>
 
| <math>\equiv A
 
</math>
 
|}
 
   
+
* Commutation of quantifiers (<math>\zeta</math> does not occur in <math>A</math>): <br> <math>
* Distributivity of multiplicatives over additives:
+
\exists \xi. \exists \psi. A \equiv \exists \psi. \exists \xi. A </math> &emsp; <math>
{|
+
\exists \xi.(A \plus B) \equiv \exists \xi.A \plus \exists \xi.B </math> &emsp; <math>
|-
+
\exists \zeta.(A\tens B) \equiv A\tens\exists \zeta.B </math> &emsp; <math>
|align="right"| &emsp; <math>
+
\exists \zeta.A \equiv A </math>
A \tens (B \plus C) </math>
 
| <math>\equiv (A \tens B) \plus (A \tens C) </math>
 
|align="right"| &emsp; <math>
 
A \tens \zero </math>
 
| <math>\equiv \zero
 
</math>
 
|}
 
 
 
* Defining property of exponentials:
 
{|
 
|-
 
|align="right"| &emsp; <math>
 
\oc(A \with B) </math>
 
| <math>\equiv \oc A \tens \oc B </math>
 
|align="right"| &emsp; <math>
 
\oc\top </math>
 
| <math>\equiv \one
 
</math>
 
|}
 
 
 
* Monoidal structure of exponentials, digging:
 
{|
 
|-
 
|align="right"| &emsp; <math>
 
\oc A \otimes \oc A </math>
 
| <math>\equiv \oc A </math>
 
|align="right"| &emsp; <math>
 
\oc \one </math>
 
| <math>\equiv \one </math>
 
|align="right"| &emsp; <math>
 
\oc\oc A </math>
 
| <math>\equiv \oc A
 
</math>
 
|}
 
 
 
* Commutation of quantifiers (<math>z</math> does not occur in <math>A</math>):
 
{|
 
|-
 
|align="right"| &emsp; <math>
 
\exists x. \exists y. A </math>
 
| <math>\equiv \exists y. \exists x. A </math>
 
|align="right"| &emsp; <math>
 
\exists x.(A \plus B) </math>
 
| <math>\equiv \exists x.A \plus \exists x.B </math>
 
|align="right"| &emsp; <math>
 
\exists z.(A\tens B) </math>
 
| <math>\equiv A\tens\exists z.B
 
</math>
 
|align="right"| &emsp; <math>
 
\exists z.A </math>
 
| <math>\equiv A
 
</math>
 
|}
 
   
 
=== Definability ===
 
=== Definability ===
Line 316: Line 315:
 
quantification and exponentials, indeed the following equivalences hold:
 
quantification and exponentials, indeed the following equivalences hold:
   
{|
+
<math> \zero \equiv \forall X.X </math> &emsp;
|-
+
<math> \one \equiv \forall X.(X \limp X) </math> &emsp;
|align="right"| &emsp; <math>
+
<math> A \plus B \equiv \forall X.(\oc(A \limp X) \limp \oc(B \limp X) \limp X) </math>
\zero </math>
 
| <math>\equiv \forall X.X </math>
 
|align="right"| &emsp; <math>
 
\one </math>
 
| <math>\equiv \forall X.(X \limp X) </math>
 
|align="right"| &emsp; <math>
 
A \plus B </math>
 
| <math>\equiv \forall X.(\oc(A \limp X) \limp \oc(B \limp X) \limp X)
 
</math>
 
|}
 
 
   
 
=== Additional equivalences ===
 
=== Additional equivalences ===
   
{|
+
<math> \oc\wn\oc\wn A \equiv \oc\wn A </math> &emsp;
|-
+
<math> \oc\wn \one \equiv \one </math>
|align="right"| &emsp; <math>
 
\oc\wn\oc\wn A </math>
 
| <math>\equiv \oc\wn A
 
</math>
 
|align="right"| &emsp; <math>
 
\oc\wn \one</math>
 
| <math>\equiv \one
 
</math>
 
|}
 
 
   
 
Any pair of connectives that has the same rules as <math>\tens/\parr</math> is
 
Any pair of connectives that has the same rules as <math>\tens/\parr</math> is
 
equivalent to it, the same holds for additives, but not for exponentials.
 
equivalent to it, the same holds for additives, but not for exponentials.
 
   
 
=== Positive/negative commutation ===
 
=== Positive/negative commutation ===
 
   
 
<math>\exists\forall\limp\forall\exists</math>,
 
<math>\exists\forall\limp\forall\exists</math>,
Line 346: Line 343:
   
 
{{Theorem|title=cut elimination|
 
{{Theorem|title=cut elimination|
For every sequent <math>\vdash\Gamma</math>, there is a proof of <math>\vdash\Gamma</math> if and
+
For every sequent <math>\vdash\Gamma</math>, there is a proof of <math>\vdash\Gamma</math> if and only if there is a proof of <math>\vdash\Gamma</math> that does not use the cut rule.
only if there is a proof of <math>\vdash\Gamma</math> that does not use the cut rule.
 
 
}}
 
}}
   
Line 357: Line 354:
   
 
{{Definition|title=subformula|
 
{{Definition|title=subformula|
The subformulas of a formula <math>A</math> are <math>A</math> and, inductively, the subformulas
+
The subformulas of a formula <math>A</math> are <math>A</math> and, inductively, the subformulas of its immediate subformulas:
of its immediate subformulas:
 
 
 
 
* the immediate subformulas of <math>A\tens B</math>, <math>A\parr B</math>, <math>A\plus B</math>, <math>A\with B</math> are <math>A</math> and <math>B</math>,
 
* the immediate subformulas of <math>A\tens B</math>, <math>A\parr B</math>, <math>A\plus B</math>, <math>A\with B</math> are <math>A</math> and <math>B</math>,
 
 
* the only immediate subformula of <math>\oc A</math> and <math>\wn A</math> is <math>A</math>,
 
* the only immediate subformula of <math>\oc A</math> and <math>\wn A</math> is <math>A</math>,
 
 
* <math>\one</math>, <math>\bot</math>, <math>\zero</math>, <math>\top</math> and atomic formulas <math>\alpha</math> and <math>\alpha\orth</math> have no immediate subformula,
 
* <math>\one</math>, <math>\bot</math>, <math>\zero</math>, <math>\top</math> and atomic formulas <math>\alpha</math> and <math>\alpha\orth</math> have no immediate subformula,
+
* the immediate subformulas of <math>\exists x.A</math> and <math>\forall x.A</math> are all the <math>A[t/x]</math> for all first-order terms <math>t</math>.
 
* the immediate subformulas of <math>\exists X.A</math> and <math>\forall X.A</math> are all the <math>A[B/X]</math> for all formulas <math>B</math>.
 
* the immediate subformulas of <math>\exists X.A</math> and <math>\forall X.A</math> are all the <math>A[B/X]</math> for all formulas <math>B</math>.
 
}}
 
}}
Line 372: Line 367:
 
formulas of <math>\Gamma</math>.
 
formulas of <math>\Gamma</math>.
 
}}
 
}}
{{Proof|
+
{{Proof|By the cut elimination theorem, if a sequent <math>\vdash</math> is provable, then it
By the cut elimination theorem, if a sequent <math>\vdash</math> is provable, then it
 
 
is provable by a cut-free proof.
 
is provable by a cut-free proof.
 
In each rule except the cut rule, all formulas of the premisses are either
 
In each rule except the cut rule, all formulas of the premisses are either
Line 423: Line 418:
 
We prove this by induction on <math>A</math>.
 
We prove this by induction on <math>A</math>.
 
Not that there is a case for each pair of dual connectives.
 
Not that there is a case for each pair of dual connectives.
 
   
 
* If <math>A</math> is atomic, then <math>\vdash A\orth,A</math> is an instance of the atomic axiom rule.
 
* If <math>A</math> is atomic, then <math>\vdash A\orth,A</math> is an instance of the atomic axiom rule.
Line 444: Line 438:
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
   
 
* If <math>A=A_1\plus A_2</math> then we have<br><math>
 
* If <math>A=A_1\plus A_2</math> then we have<br><math>
Line 463: Line 456:
 
\DisplayProof
 
\DisplayProof
 
</math>
 
</math>
 
   
 
* If <math>A=\oc B</math> then we have<br><math>
 
* If <math>A=\oc B</math> then we have<br><math>
Line 483: Line 475:
 
</math><br>where <math>\pi</math> exists by induction hypothesis.
 
</math><br>where <math>\pi</math> exists by induction hypothesis.
   
  +
* First-order quantification works like second-order quantification.
 
}}
 
}}
   
Line 493: Line 486:
 
{{Definition|title=reversibility|
 
{{Definition|title=reversibility|
 
A connective <math>c</math> is called ''reversible'' if
 
A connective <math>c</math> is called ''reversible'' if
 
   
 
* for every proof <math>\pi\vdash\Gamma,c(A_1,\ldots,A_n)</math>, there is a proof <math>\pi'</math> with the same conclusion in which <math>c(A_1,\ldots,A_n)</math> is introduced by the last rule,
 
* for every proof <math>\pi\vdash\Gamma,c(A_1,\ldots,A_n)</math>, there is a proof <math>\pi'</math> with the same conclusion in which <math>c(A_1,\ldots,A_n)</math> is introduced by the last rule,
   
 
* if <math>\pi</math> is cut-free then there is a cut-free <math>\pi'</math>.
 
* if <math>\pi</math> is cut-free then there is a cut-free <math>\pi'</math>.
 
 
}}
 
}}
   
Line 548: Line 539:
 
<math>\top</math> rule with the appropriate conclusion.
 
<math>\top</math> rule with the appropriate conclusion.
   
For <math>\forall</math>, consider a proof <math>\pi\vdash\Gamma,\forall X.A</math>.
+
For <math>\forall</math> at second order, consider a proof <math>\pi\vdash\Gamma,\forall X.A</math>.
 
Up to renaming, we can assume that <math>X</math> occurs free only above the rule that
 
Up to renaming, we can assume that <math>X</math> occurs free only above the rule that
 
introduces the quantifier.
 
introduces the quantifier.
Line 556: Line 547:
 
The case when the <math>\forall</math> was introduced in a <math>\top</math> rule is solved as
 
The case when the <math>\forall</math> was introduced in a <math>\top</math> rule is solved as
 
before.
 
before.
  +
First-order quantification is similar.
   
 
Note that, in each case, if the proof we start from is cut-free, our
 
Note that, in each case, if the proof we start from is cut-free, our

Revision as of 18:10, 17 January 2009

This article presents the language and sequent calculus of second-order propositional linear logic and the basic properties of this sequent calculus.

Contents

Formulas

Formulas are built on a set of atoms, written \alpha,\beta,\ldots, that can be either propositional variables X,Y,Z\ldots or atomic formulas p(t_1,\ldots,t_n), where the ti are terms from some first-order language and p is a predicate symbol. Formulas, represented by capital letters A, B, C, are built using the following connectives:

α atom \alpha\orth negated atom atoms
A \tens B tensor A \parr B par multiplicatives
\one one \bot bottom multiplicative units
A \plus B plus A \with B with additives
\zero zero \top top additive units
\oc A of course \wn A why not exponentials
\exists \xi.A there exists \forall \xi.A for all quantifiers (ξ is a first or second order variable)

Each line corresponds to a particular class of connectives, and each class consists in a pair of connectives. Those in the left column are called positive and those in the right column are called negative. The tensor and with are conjunctions while par and plus are disjunctions. The exponential connectives are called modalities, and traditionally read of course A for \oc A and why not A for \wn A. Quantifiers may apply to first- or second-order variables.

Given a formula A, its linear negation, also called orthogonal and written A\orth, is obtained by exchanging each positive connective with the negative one of the same class and vice versa, in a way analogous to de Morgan laws in classical logic. Formally, the definition of linear negation is

 ( \alpha )\orth := \alpha\orth  ( \alpha\orth )\orth : = α
 ( A \tens B )\orth := A\orth \parr B\orth  ( A \parr B )\orth := A\orth \tens B\orth
 \one\orth := \bot  \bot\orth := \one
 ( A \plus B )\orth := A\orth \with B\orth  ( A \with B )\orth := A\orth \plus B\orth
 \zero\orth := \top  \top\orth := \zero
 ( \oc A )\orth := \wn ( A\orth )  ( \wn A )\orth := \oc ( A\orth )
 ( \exists \xi.A )\orth := \forall \xi.( A\orth )  ( \forall \xi.A )\orth := \exists \xi.( A\orth )

Note that this operation is defined syntactically, hence negation is not a connective, the only place in formulas where the symbol (\cdot)\orth occurs is for negated atoms \alpha\orth. Note also that, by construction, negation is involutive: for any formula A, it holds that A\biorth=A.

There is no connective for implication in the syntax of standard linear logic. Instead, a linear implication is defined similarly to the decomposition A\imp B=\neg A\vee B in classical logic:


A \limp B := A\orth \parr B

Free and bound variables are defined in the standard way, as well as substitution. Formulas are always considered up to renaming of bound names. If A and B are formulas and X is a propositional variable, the formula A[B / X] is A where all atoms X are replaced (without capture) by B and all atoms X\orth are replaced by the formula B\orth.

Sequents and proofs

A sequent is an expression \vdash\Gamma where Γ is a finite multiset of formulas. For a multiset \Gamma=A_1,\ldots,A_n, the notation \wn\Gamma represents the multiset \wn A_1,\ldots,\wn A_n. Proofs are labelled trees of sequents, built using the following inference rules:

  • Identity group:
    
\LabelRule{axiom}
\NulRule{ \vdash A, A\orth }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, A }
\AxRule{ \vdash \Delta, A\orth }
\LabelRule{cut}
\BinRule{ \vdash \Gamma, \Delta }
\DisplayProof
  • Multiplicative group:
    
\AxRule{ \vdash \Gamma, A }
\AxRule{ \vdash \Delta, B }
\LabelRule{ \tens }
\BinRule{ \vdash \Gamma, \Delta, A \tens B }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, A, B }
\LabelRule{ \parr }
\UnaRule{ \vdash \Gamma, A \parr B }
\DisplayProof
\qquad
\LabelRule{ \one }
\NulRule{ \vdash \one }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma }
\LabelRule{ \bot }
\UnaRule{ \vdash \Gamma, \bot }
\DisplayProof
  • Additive group:
    
\AxRule{ \vdash \Gamma, A }
\LabelRule{ \plus_1 }
\UnaRule{ \vdash \Gamma, A \plus B }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, B }
\LabelRule{ \plus_2 }
\UnaRule{ \vdash \Gamma, A \plus B }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, A }
\AxRule{ \vdash \Gamma, B }
\LabelRule{ \with }
\BinRule{ \vdash, \Gamma, A \with B }
\DisplayProof
\qquad
\LabelRule{ \top }
\NulRule{ \vdash \Gamma, \top }
\DisplayProof
  • Exponential group:
    
\AxRule{ \vdash \Gamma, A }
\LabelRule{ d }
\UnaRule{ \vdash \Gamma, \wn A }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma }
\LabelRule{ w }
\UnaRule{ \vdash \Gamma, \wn A }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, \wn A, \wn A }
\LabelRule{ c }
\UnaRule{ \vdash \Gamma, \wn A }
\DisplayProof
\qquad
\AxRule{ \vdash \wn\Gamma, B }
\LabelRule{ \oc }
\UnaRule{ \vdash \wn\Gamma, \oc B }
\DisplayProof
  • Quantifier group (in the \forall rule, ξ must not occur free in Γ):
    
\AxRule{ \vdash \Gamma, A[t/x] }
\LabelRule{ \exists^1 }
\UnaRule{ \vdash \Gamma, \exists x.A }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, A[B/X] }
\LabelRule{ \exists^2 }
\UnaRule{ \vdash \Gamma, \exists X.A }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, A }
\LabelRule{ \forall }
\UnaRule{ \vdash \Gamma, \forall \xi.A }
\DisplayProof

The rules for exponentials are called dereliction, weakening, contraction and promotion, respectively. Note the fundamental fact that there are no contraction and weakening rules for aribtrary formulas, but only for the formulas starting with the \wn modality. This is what distinguishes linear logic from classical logic: if weakening and contraction were allowed for arbitrary formulas, then \tens and \with would be identified, as well as \plus and \parr, \one and \top, \zero and \bot. By identified, we mean here that replacing a \tens with a \with or vice versa would preserve provability.

Note that this system contains only introduction rules and no elimination rule. Moreover, there is no introduction rule for the additive unit \zero, the only ways to introduce it at top level are the axiom rule and the \top rule.

Sequents are considered as multisets, in other words as sequences up to permutation. An equivalent presentation would be to define a sequent as a finite sequence of formulas and to add the exchange rule:


\AxRule{ \vdash \Gamma, A, B, \Delta }
\LabelRule{exchange}
\UnaRule{ \vdash \Gamma, B, A, \Delta }
\DisplayProof

Equivalences and definability

Two formulas A and B are (linearly) equivalent, written A\equiv B, if both implications A\limp B and B\limp A are provable. Equivalently, A\equiv B if both \vdash A\orth,B and \vdash B\orth,A are provable. Another formulation of A\equiv B is that, for all Γ, \vdash\Gamma,A is provable if and only if \vdash\Gamma,B is provable. Note that, because of the definition of negation, an equivalence A\equiv B holds if and only if the dual equivalence A\orth\equiv B\orth holds.

Fundamental equivalences

  • Associativity, commutativity, neutrality:
    
A \tens (B \tens C) \equiv (A \tens B) \tens C 
A \tens B \equiv B \tens A 
A \tens \one \equiv A
    
A \plus (B \plus C) \equiv (A \plus B) \plus C 
A \plus B \equiv B \plus A 
A \plus \zero \equiv A
  • Idempotence of additives:
    
A \plus A \equiv A
  • Distributivity of multiplicatives over additives:
    
A \tens (B \plus C) \equiv (A \tens B) \plus (A \tens C) 
A \tens \zero \equiv \zero
  • Defining property of exponentials:
    
\oc(A \with B) \equiv \oc A \tens \oc B 
\oc\top \equiv \one
  • Monoidal structure of exponentials, digging:
    
\oc A \otimes \oc A \equiv \oc A 
\oc \one \equiv \one 
\oc\oc A \equiv \oc A
  • Commutation of quantifiers (ζ does not occur in A):
    
\exists \xi. \exists \psi. A \equiv \exists \psi. \exists \xi. A 
\exists \xi.(A \plus B) \equiv \exists \xi.A \plus \exists \xi.B 
\exists \zeta.(A\tens B) \equiv A\tens\exists \zeta.B 
\exists \zeta.A \equiv A

Definability

The units and the additive connectives can be defined using second-order quantification and exponentials, indeed the following equivalences hold:

 \zero \equiv \forall X.X  \one \equiv \forall X.(X \limp X)  A \plus B \equiv \forall X.(\oc(A \limp X) \limp \oc(B \limp X) \limp X)

Additional equivalences

 \oc\wn\oc\wn A \equiv \oc\wn A  \oc\wn \one \equiv \one

Any pair of connectives that has the same rules as \tens/\parr is equivalent to it, the same holds for additives, but not for exponentials.

Positive/negative commutation

\exists\forall\limp\forall\exists, A\tens(B\parr C)\limp(A\tens B)\parr C

Properties of proofs

The fundamental property of the sequent calculus of linear logic is the cut elimination property, which states that the cut rule is useless as far as provability is concerned. This property is exposed in the following section, together with a sketch of proof.

Cut elimination and consequences

Theorem (cut elimination)

For every sequent \vdash\Gamma, there is a proof of \vdash\Gamma if and only if there is a proof of \vdash\Gamma that does not use the cut rule.

This property is proved using a set of rewriting rules on proofs, using appropriate termination arguments (see the specific articles on cut elimination for detailed proofs), it is the core of the proof/program correspondence.

It has several important consequences:

Definition (subformula)

The subformulas of a formula A are A and, inductively, the subformulas of its immediate subformulas:

  • the immediate subformulas of A\tens B, A\parr B, A\plus B, A\with B are A and B,
  • the only immediate subformula of \oc A and \wn A is A,
  • \one, \bot, \zero, \top and atomic formulas α and \alpha\orth have no immediate subformula,
  • the immediate subformulas of \exists x.A and \forall x.A are all the A[t / x] for all first-order terms t.
  • the immediate subformulas of \exists X.A and \forall X.A are all the A[B / X] for all formulas B.

Theorem (subformula property)

A sequent \vdash\Gamma is provable if and only if it is the conclusion of a proof in which each intermediate conclusion is made of subformulas of the formulas of Γ.

Proof. By the cut elimination theorem, if a sequent \vdash is provable, then it is provable by a cut-free proof. In each rule except the cut rule, all formulas of the premisses are either formulas of the conclusion, or immediate subformulas of it, therefore cut-free proofs have the subformula property.

The subformula property means essentially nothing in the second-order system, since any formula is a subformula of a quantified formula where the quantified variable occurs. However, the property is very meaningful if the sequent Γ does not use second-order quantification, as it puts a strong restriction on the set of potential proofs of a given sequent. In particular, it implies that the first-order fragment without quantifiers is decidable.

Theorem (consistency)

The empty sequent \vdash is not provable. Subsequently, it is impossible to prove both a formula A and its negation A\orth; it is impossible to prove \zero or \bot.

Proof.  If \vdash\Gamma is a provable sequent, then it is the conclusion of a cut-free proof. In each rule except the cut rule, there is at least one formula in conclusion. Therefore \vdash cannot be the conclusion of a proof.

The other properties are immediate consequences: if A and A\orth were provable, then by a cut rule one would get an empty conclusion, which is not possible. As particular cases, since \one and \top are provable, their negations \bot and \zero are not.

Expansion of identities

Let us write \pi\vdash\Gamma to signify that π is a proof with conclusion \vdash\Gamma.

Proposition (η-expansion)

For every proof π, there is a proof π' with the same conclusion as π in which the axiom rule is only used with atomic formulas. If π is cut-free, then there is a cut-free π'.

Proof.  It suffices to prove that for every formula A, the sequent \vdash A\orth,A has a cut-free proof in which the axiom rule is used only for atomic formulas. We prove this by induction on A. Not that there is a case for each pair of dual connectives.

  • If A is atomic, then \vdash A\orth,A is an instance of the atomic axiom rule.
  • If A=A_1\tens A_2 then we have
    
\AxRule{ \pi_1 \vdash A_1\orth, A_1 }
\AxRule{ \pi_2 \vdash A_2\orth, A_2 }
\LabelRule{ \tens }
\BinRule{ \vdash A_1\orth, A_2\orth, A_1 \tens A_2 }
\LabelRule{ \parr }
\UnaRule{ \vdash A_1\orth \parr A_2\orth, A_1 \tens A_2 }
\DisplayProof
    where π1 and π2 exist by induction hypothesis.
  • If A=\one or A=\bot then we have
    
\LabelRule{ \one }
\NulRule{ \vdash \one }
\LabelRule{ \bot }
\UnaRule{ \vdash \one, \bot }
\DisplayProof
  • If A=A_1\plus A_2 then we have
    
\AxRule{ \pi_1 \vdash A_1\orth, A_1 }
\LabelRule{ \plus_1 }
\UnaRule{ \vdash A_1\orth, A_1 \plus A_2 }
\AxRule{ \pi_2 \vdash A_2\orth, A_2 }
\LabelRule{ \plus_2 }
\UnaRule{ \vdash A_2\orth, A_1 \plus A_2 }
\LabelRule{ \with }
\BinRule{ \vdash A_1\orth \with A_2\orth, A_1 \plus A_2 }
\DisplayProof
    where π1 and π2 exist by induction hypothesis.
  • If A=\zero or A=\top, we have
    
\LabelRule{ \top }
\NulRule{ \vdash \top, \zero }
\DisplayProof
  • If A=\oc B then we have
    
\AxRule{ \pi \vdash B\orth, B }
\LabelRule{ d }
\UnaRule{ \pi \vdash \wn B\orth, B }
\LabelRule{ \oc }
\UnaRule{ \pi \vdash \wn B\orth, \oc B }
\DisplayProof
    where π exists by induction hypothesis.
  • If A=\exists X.B then we have
    
\AxRule{ \pi \vdash B\orth, B }
\LabelRule{ \exists }
\UnaRule{ \vdash B\orth, \exists X.B }
\LabelRule{ \forall }
\UnaRule{ \vdash \forall X.B\orth, \exists X.B }
\DisplayProof
    where π exists by induction hypothesis.
  • First-order quantification works like second-order quantification.

The interesting thing with η-expansion is that, we can always assume that each connective is explicitly introduced by its associated rule (except in the case where there is an occurrence of the \top rule).

Reversibility

Definition (reversibility)

A connective c is called reversible if

  • for every proof \pi\vdash\Gamma,c(A_1,\ldots,A_n), there is a proof π' with the same conclusion in which c(A_1,\ldots,A_n) is introduced by the last rule,
  • if π is cut-free then there is a cut-free π'.

Proposition

The connectives \parr, \bot, \with, \top and \forall are reversible.

Proof.  Using the η-expansion property, we assume that the axiom rule is only applied to atomic formulas. Then each top-level connective is introduced either by its associated rule or in an instance of the \top rule.

For \parr, consider a proof \pi\vdash\Gamma,A\parr B. If A\parr B is introduced by a \parr rule, then if we remove this rule we get a proof of \vdash\Gamma,A,B (this can be proved by a straightforward induction). If it is introduced in the contect of a \top rule, then this rule can be changed so that A\parr B is replaced by A,B. In either case, we can apply a final \parr rule to get the expected proof.

For \bot, the same technique applies: if it is introduced by a \bot rule, then remove this rule to get a proof of \vdash\Gamma, if it is introduced by a \top rule, remove the \bot from this rule, then apply the \bot rule at the end of the new proof.

For \with, consider a proof \pi\vdash\Gamma,A\with B. If the connective is introduced by a \with rule then this rule is applied in a context like


\AxRule{ \pi_1 \vdash \Delta, A }
\AxRule{ \pi_2 \vdash \Delta, B }
\LabelRule{ \with }
\BinRule{ \vdash \Delta, A \with B }
\DisplayProof

Since the formula A\with B is not involved in other rules (except as context), if we replace this step by π1 in π we finally get a proof \pi'_1\vdash\Gamma,A. If we replace this step by π2 we get a proof \pi'_2\vdash\Gamma,B. Combining π1 and π2 with a final \with rule we finally get the expected proof. The case when the \with was introduced in a \top rule is solved as before.

For \top the result is trivial: just choose π' as an instance of the \top rule with the appropriate conclusion.

For \forall at second order, consider a proof \pi\vdash\Gamma,\forall X.A. Up to renaming, we can assume that X occurs free only above the rule that introduces the quantifier. If the quantifier is introduced by a \forall rule, then if we remove this rule, we can check that we get a proof of \vdash\Gamma,A on which we can finally apply the \forall rule. The case when the \forall was introduced in a \top rule is solved as before. First-order quantification is similar.

Note that, in each case, if the proof we start from is cut-free, our transformations do not introduce a cut rule. However, if the original proof has cuts, then the final proof may have more cuts, since in the case of \with we duplicated a part of the original proof.

Variations

Two-sided sequent calculus

The sequent calculus of linear logic can also be presented using two-sided sequents \Gamma\vdash\Delta, with any number of formulas on the left and right. In this case, it is customary to provide rules only for the positive connectives, then there are left and right introduction rules and a negation rule that moves formulas between the left and right sides:


\AxRule{ \Gamma, A \vdash \Delta }
\UnaRule{ \Gamma \vdash A\orth, \Delta }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash A, \Delta }
\UnaRule{ \Gamma, A\orth \vdash \Delta }
\DisplayProof

Identity group:


\LabelRule{axiom}
\NulRule{ A \vdash A }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash A, \Delta }
\AxRule{ \Gamma', A \vdash \Delta' }
\LabelRule{cut}
\BinRule{ \Gamma, \Gamma' \vdash \Delta, \Delta' }
\DisplayProof

Multiplicative group:


\AxRule{ \Gamma, A, B \vdash \Delta }
\LabelRule{ \tens_L }
\UnaRule{ \Gamma, A \tens B \vdash \Delta }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash A, \Delta }
\AxRule{ \Gamma' \vdash B, \Delta' }
\LabelRule{ \tens_R }
\BinRule{ \Gamma, \Gamma' \vdash A \tens B, \Delta, \Delta' }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash \Delta }
\LabelRule{ \one_L }
\UnaRule{ \Gamma, \one \vdash \Delta }
\DisplayProof
\qquad
\LabelRule{ \one_R }
\NulRule{ \vdash \one }
\DisplayProof

Additive group:


\AxRule{ \Gamma, A \vdash \Delta }
\AxRule{ \Gamma, B \vdash \Delta }
\LabelRule{ \plus_L }
\BinRule{ \Gamma, A \plus B \vdash \Delta }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash A, \Delta }
\LabelRule{ \plus_{R1} }
\UnaRule{ \Gamma \vdash A \plus B, \Delta }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash B, \Delta }
\LabelRule{ \plus_{R2} }
\UnaRule{ \Gamma \vdash A \plus B, \Delta }
\DisplayProof
\qquad
\LabelRule{ \zero_L }
\NulRule{ \Gamma, \zero \vdash \Delta }
\DisplayProof

Exponential group:


\AxRule{ \Gamma, A \vdash \Delta }
\LabelRule{ d }
\UnaRule{ \Gamma, \oc A \vdash \Delta }
\DisplayProof
\qquad
\AxRule{ \Gamma \vdash \Delta }
\LabelRule{ w }
\UnaRule{ \Gamma, \oc A \vdash \Delta }
\DisplayProof
\qquad
\AxRule{ \Gamma, \oc A, \oc A \vdash \Delta }
\LabelRule{ c }
\UnaRule{ \Gamma, \oc A \vdash \Delta }
\DisplayProof
\qquad
\AxRule{ \oc A_1, \ldots, \oc A_n \vdash B }
\LabelRule{ \oc_R }
\UnaRule{ \oc A_1, \ldots, \oc A_n \vdash \oc B }
\DisplayProof

Personal tools