Lecture 3: Proof nets

Teacher: Michele Pagani


If you have a proof with a (multiplicative) cut: cut-elimination ⟶ how to define the process of eliminating cuts so that it terminates?

It could be the case that the formula you’re cutting is active in the sequent that are just above:

\infer{Γ, Γ' ⊢ Δ, Δ'}{ \infer{Γ ⊢ Δ, B ⊗ C}{ Γ_1 ⊢ Δ_1, B & Γ_2 ⊢ Δ_2, C } & \infer{Γ', B ⊗ C ⊢ Δ'}{ Γ', B, C ⊢ Δ' } }

but it might also not be the case:

\infer{Γ, Γ' ⊢ Δ, Δ'}{ \infer{Γ ⊢ Δ, F ⊗ E, B ⊗ C}{ Γ_1 ⊢ Δ_1, F, B ⊗ C & Γ_2 ⊢ Δ_2, E, B ⊗ C } & \infer{Γ', B ⊗ C ⊢ Δ'}{ Γ', B, C ⊢ Δ' } }

in which case you have to “move the cut up” first, with resort to commutative rules for cut-elimination, very messy. Proof nets enable us to do without these messy commutative rules.

Right-sided Sequent Calculus


\cfrac{Γ, A ⊢ Δ}{Γ⊢ A^⊥, Δ}\qquad \cfrac{Γ ⊢ A, Δ}{Γ, A^⊥ ⊢ Δ}\\ ⊢ A ≡ A^{⊥⊥}

we can restrict ourselves to sequent with formulas only on the left or only on the right.

So usually in LL, to avoid having to many rules, one only considers sequents of the form:

⊢ Γ^⊥, Δ

So for instance:

\cfrac{Γ, A ⊢ B, Δ}{Γ ⊢ A ⊸ B, Δ} \quad\leadsto \quad \cfrac{⊢ Γ^⊥, A^⊥, B, Δ}{⊢ Γ^⊥, A ⊸ B, Δ}

Other example: associativity of the tensor

A ⊗ (B ⊗ C) ≡ (A ⊗ B) ⊗ C

Let’s prove the left-to-right implication in right-sided sequent calculus:

\infer{⊢ A^⊥ ⅋ (B^⊥ ⅋ C^⊥), (A ⊗ B) ⊗ C}{ \infer{⊢ A^⊥, B^⊥ ⅋ C^⊥, (A ⊗ B) ⊗ C}{ \infer{⊢ A^⊥, B^⊥, C^⊥, (A ⊗ B) ⊗ C}{ \infer{A^⊥, B^⊥, A⊗B}{ ⊢ A^⊥, A & ⊢ B^⊥, B } & ⊢ C^⊥, C } } }


A, B \, ≝ \, X \; \mid \; X^⊥ \; \mid \; 1 \; \mid \; ⊥ \; \mid \; 0 \; \mid \; ⊤ \; \\ \mid \; A ⊗ B \; \mid \; A ⅋ B \; \mid \; A \& B \; \mid \; A ⊕ B \; \mid \; !A \; \mid \; ? A
1^⊥ = ⊥\\ 0^⊥ = ⊤\\ (A⊗B)^⊥ = A^⊥ ⅋ B^⊥\\ (A⊕B)^⊥ = A^⊥ \& B^⊥\\ (!A)^⊥ = ? A^⊥\\ A^{⊥⊥}=A

And then you can prove the other de Morgan laws:

(A ⅋ B)^⊥ = (A^{⊥⊥} ⅋ B^{⊥⊥})^⊥ = (A^⊥ ⊗ B^⊥)^{⊥⊥} = A^⊥ ⊗ B^⊥

Key example: syllogism

⊢ A^⊥ ⅋ A, A ⊗ A^⊥, A ⊗ A^⊥

Two possible proofs:

\infer{⊢ A^⊥ ⅋ A, A ⊗ A^⊥, A ⊗ A^⊥}{ \infer{⊢ A^⊥, A, A ⊗ A^⊥, A ⊗ A^⊥}{ ⊢ A^⊥, A & \infer{⊢ A, A^⊥, A ⊗ A^⊥}{ ⊢ A, A^⊥ & ⊢ A^⊥, A } } }


\infer{⊢ A^⊥ ⅋ A, A ⊗ A^⊥, A ⊗ A^⊥}{ \infer{⊢ A^⊥, A, A ⊗ A^⊥, A ⊗ A^⊥}{ ⊢ A, A^⊥ & \infer{⊢ A^⊥, A ⊗ A^⊥, A}{ ⊢ A^⊥, A & ⊢ A, A^⊥ } } }

but they represent the same morphisms/computational processes. In proof nets, these two proofs will be represented the same way. If you follow a given $A$ in both proof trees, you’ll see that the “path” taken is the same.

Reference: An introduction to Proof Nets by Olivier Laurent (http://perso.ens-lyon.fr/olivier.laurent/pn16.pdf)

Proof nets for MLL without units

\cfrac{}{⊢ A, A^⊥} \text{ax} \qquad \cfrac{⊢ A, Γ \qquad ⊢ A^⊥, Δ}{⊢ Γ, Δ} \text{cut}
\cfrac{⊢ Γ, A, B}{⊢ Γ, A ⅋ B} ⅋ \qquad \cfrac{⊢ Γ, A \qquad ⊢ Δ, B}{⊢ Γ, A ⊗ B} ⊗
Proof structure:

directed multigraph $(N,E)$ (nodes and edges) where

  • nodes are labelled with the sequent rules (ax, cut, $⊗$, $⅋$ and a constant $c$ (for conclusion))
  • edges are labelled by MLL formulas

the structure of which is of this form: (cf. picture 1)

NB: direction of the edges: from top to bottom

Previous proof: cf. picture 2


  • The tensor is not strictly commutative, otherwise the theory induced by cut-elimination becomes trivial
  • What we’re doing is sequent proofs except that we forget the contexts
  • sometimes, the mix rule is also added (MLL with mix): \cfrac{⊢ Γ \qquad ⊢ Δ}{⊢ Γ, Δ} \text{mix}

    Without it, Olivier Laurent calls these proof nets “connected proof nets” (because the mix of two proof nets is their disjoint union, hence introducing non-connected in the resulting graph)

Some proof structures don’t correspond to any sequent proof. Ex: (picture 3)

Among these proof structures, the left one is not provable, the right one is.

Other examples don’t correspond to any sequent proof: picture 4

MLL Sequent Calculus embed into MLL proof nets, and then: correctness criteria to characterize proof nets that correspond to sequent proofs (picture 5).

Desequentialisation of a proof

Out of a proof $π$: its desequentialisation $des(π)$ is a proof net representing $π$. It is defined by induction on $π$ (picture 5).

But problem: how can we make a difference between $⅋$ nodes and $⊗$ nodes? (having an axiom and then a $⊗$-node corresponds to no sequent proof).


\ell: ⅋\text{-nodes} ⟶ \lbrace l(eft), r(ight)\rbrace where each $⅋$-node has its left (given by $\ell$) input edge cut and made into a conclusion. This yields a new graph: $G_\ell^π$


Correctness criterion: $π$ is a proof net whenever for any switching $\ell$ of $π$, the switching graph is a tree

Examples: (picture)


  • the proof of the last correctness criterion is not easy: we’re translating an existential quantifier (“there exists a $π$”) into a universal one (“for all switching”).

  • this criterion is highly inefficient: exponential algorithm to check all the possible switchings. But there exists a linear (in the size of the proof structure) criterion.

  • Recent result (5/6 years ago): if you introduce the units to proof nets, the criterion is NP-complete (that’s why we don’t usually consider correctness of MLL with unit)

Th: Given a proof structure $π$, there exists a sequent proof $\Pi$ s.t. $des(\Pi) = π$ iff $π$ is a proof net.

In the iff: $⟹$ is trivial, by induction.

$⟸$: Induction on the number of internal (non-conclusion) nodes of $π$ + the number of cuts of $π$ (proof in the lecture notes)

Terminal node:

a node s.t. all outcoming edges target a conclusion node.

A switching path $γ$ of $π$:

is a path in one switching graph of $π$ (i.e. it does not cross two premises of the same $⅋$)

A switching path $γ$ is strong:

if it does not start from the premise of $⅋$

A blocking $⅋$ for a $⊗$ T with premises $e_0$ and $e_1$:

is a $⅋$ with two premises $e_0’$ and $e_1’$ s.t. there exist

  • a switching path from $e_0$ to $e_0’$
  • a switching path from $e_1$ to $e_1’$

that are disjoint (note that both are strong)

Lemma (1.6):

Leave a comment