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.

Leave a comment