Sequent calculus

From LLWiki
Revision as of 15:25, 17 January 2009 by Emmanuel Beffara (Talk | contribs)

Jump to: navigation, search

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 X(t_1,\ldots,t_n), where the ti are terms from some first-order language. Formulas, represented by capital letters A, B, C, are built using the following connectives:


\begin{array}{clcll}
\alpha & \text{atom} &
\alpha\orth & \text{negated atom} & \text{atoms} \\
A \tens B & \text{tensor} &
A \parr B & \text{par} & \text{multiplicatives} \\
\one & \text{one} &
\bot & \text{bottom} & \text{multiplicative units} \\
A \plus B & \text{plus} &
A \with B & \text{with} & \text{additives} \\
\zero & \text{zero} &
\top & \text{top} & \text{additive units} \\
\oc A & \text{of course} &
\wn A & \text{why not} & \text{exponentials} \\
\exists x.A & \text{there exists} &
\forall x.A & \text{for all} & \text{quantifiers}
\end{array}

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 X.A )\orth := \forall X.( A\orth ) 
( \forall X.A )\orth := \exists X.( 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, X must not occur in Γ):
    
\AxRule{ \vdash \Gamma, A[B/X] }
\LabelRule{ \exists }
\UnaRule{ \vdash \Gamma, \exists X.A }
\DisplayProof
\qquad
\AxRule{ \vdash \Gamma, A }
\LabelRule{ \forall }
\UnaRule{ \vdash \Gamma, \forall X.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 (z does not occur in A):

\exists x. \exists y. A \equiv \exists y. \exists x. A 
\exists x.(A \plus B) \equiv \exists x.A \plus \exists x.B 
\exists z.(A\tens B) \equiv A\tens\exists z.B

\exists z.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[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.


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, 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.

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