# Lecture 6: MELL Proof nets

Teacher: Delia Kesner

Translation of $λs$-calculus to proof nets: negation $\bullet^⊥$ is crucial, because it appears in

• atoms
• cuts

The operation $A^⊥$ (involutive: $A^{⊥⊥} = A$)

## Grammar of formulas and negation operation

MELL:
A, B \, ≝ \, p \; \mid \; p^⊥ \; \mid \; A ⅋ B \; \mid \; A ⊗ B \; \mid \; ?A \; \mid \; !A

Base formulas: $\lbrace p, \underbrace{p^⊥}_{\text{also written } \underline p}\rbrace$

### Definition of the negation operation (defined symbol):

(p)^⊥ = p^⊥\\ (p^⊥)^⊥ = p\\ (A ⅋ B)^⊥ = A^⊥ ⊗ B^⊥\\ (A ⊗ B)^⊥ = A^⊥ ⅋ B^⊥\\ (?A)^⊥ = !A^⊥ (!A)^⊥ = ?A^⊥

NB:

• in negative base formulas (of the form $p^⊥$), negation is a constructor
• whereas the negation operation defined above is a defined symbol (operation defined outside)

## Proof nets

$\cfrac{}{⊢ A, A^⊥} \; ax$ $\leadsto$

  graph {
rankdir=TB;
i1, i2[shape=none, label=""];
"ax" -- i1[label="A"];
"ax" -- i2[label="A⊥"];
}


$\cfrac{⊢ Γ, A, B}{⊢ Γ, A ⅋ B} \; ⅋$ $\leadsto$

  graph {
rankdir=TB;
i1, i2, i3, i4[shape=none, label=""];
"⋯" -- i1[label="Γ"];
"⋯" -- i2[label="A"];
"⋯" -- i3[label="B"];
i2, i3 -- "⅋";
"⅋" -- i4[label="A⅋B"];
}


etc… cf picture

### Cut-elimination rules

cf. pictures

Confluent, Strongly Normalizing

Theorem: Cut-elimination for MELL Proof-nets is confluent and strongly normalizing

Alternative syntax for proof-nets: using $n$-ary contractions (as contraction is associative and commutative)

Why are $A, B$ not rewriting rules?

• Because in $λs$-calculus, we will need to use in them in both directions
• other possible syntax for proof-nets: contractions are at the boundary of the boxes (neither inside nor outside, no need to worry about that) ⟶ but not the original Girard’s proof-nets

• $V$ goes in one way only: you can’t put the weakening wire inside a box, because this wire may be connected down the way to a wire of the box

Examples: cf. picture

Untyped proof-nets: proof-nets without formula labelling ⟶ can simulate untyped $λ$-calculus (and other calculi)

The reduction system constituting of cut-elimination+$U$+$V$ modulo $A,B$ is

• confluent

\begin{xy} \xymatrix{ & M \sim_{A,B} M' \ar[ld]_{\ast} \ar[rd]^{\ast} & \\ M_0 \ar@{.>}[rd]_{\ast} & & M_0' \ar@{.>}[ld]^{\ast}\\ & M_1 \sim_{A,B} M_1' & } \end{xy}
• (strongly) normalizing: there is no $∞$ reduction sequence starting at a typed proof-net where reduction means MELL proof-nets+U,V modulo equations A,B.

## Translation of typed $λs$-calculus into MELL PNets

### Translation of types: Call-by-name translation

p^\ast \; ≝ \; p \text{ (bas type)}\\ (A → B)^\ast \; ≝ \; ?({A^\ast}^⊥) ⅋ B^\ast
\cfrac{A ⊢ B}{⊢ A → B} \qquad \cfrac{⊢ ?({A^\ast}^⊥), B^\ast}{⊢ \underbrace{?({A^\ast}^⊥) ⅋ B^\ast}_{!A^\ast ⊸ B^\ast}}

### Translating typed $λs$-terms

cf pictures

Example:

\infer{⊢ (yxz)[z/x]: A}{ \infer{x:B ⊢ x:B}{\phantom{x:B ⊢ x:B}} & \infer{y:B→B→A, x:B, z:B ⊢ yxz: A}{ \infer{y, x ⊢ yx: B → A}{ \infer{y: B → B → A}{\phantom{y: B → B → A}} & \infer{x:B ⊢ x:B}{\phantom{x:B ⊢ x:B}} } & \infer{z: B ⊢ z:B}{\phantom{z: B ⊢ z:B}} } }

Warning: Proof-nets of normal terms are not necessarily in normal form.

t ⟶_{λs} t'\\ PN_t \leadsto^\ast PN_{t'}

Only, but big, advantage of proof-nets: there’s no artificial order between things that shouldn’t be ordered (parallel cuts, whereas in proof trees in SC: everything ordered). LL is independent from that: you can use other logics as well.

Proof nets can be seen as an “operational” semantics, more “concrete” than denotational semantics.

Tags:

Updated: