Lecture 6: MELL Proof nets

Teacher: Delia Kesner

Translation of λs-calculus to proof nets: negation is crucial, because it appears in

  • atoms
  • cuts

The operation A (involutive: A⊥⊥=A)

Grammar of formulas and negation operation

MELL:
A,BppABAB?A!A

Base formulas: {p,palso written p}

Definition of the negation operation (defined symbol):

(p)=p(p)=p(AB)=AB(AB)=AB(?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

A,Aax

%3 i1 i2 ax ax ax--i1 A ax--i2 A⊥

Γ,A,BΓ,AB

%9 i1 i2 i2--⅋ i3 i3--⅋ i4 ⋯--i1 Γ ⋯--i2 A ⋯--i3 B ⅋--i4 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

    MA,BMM0M0M1A,BM1
  • (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

pp (bas type)(AB)?(A)B ABAB?(A),B?(A)B!AB

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λstPNtPNt

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