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