Cut elimination for infinitary proofs Amina Doumane - - PowerPoint PPT Presentation

cut elimination for infinitary proofs
SMART_READER_LITE
LIVE PREVIEW

Cut elimination for infinitary proofs Amina Doumane - - PowerPoint PPT Presentation

Cut elimination for infinitary proofs Amina Doumane LSV-IRIF-Universit Paris Diderot March 2016 - Shonan meeting Joint work with: David Baelde Alexis Saurin LSV-ENS Cachan IRIF-Universit Paris 7 Introduction Introduction


slide-1
SLIDE 1

Cut elimination for infinitary proofs

Amina Doumane LSV-IRIF-Université Paris Diderot March 2016 - Shonan meeting Joint work with: David Baelde

  • Alexis Saurin

LSV-ENS Cachan IRIF-Université Paris 7

slide-2
SLIDE 2

Introduction

slide-3
SLIDE 3

Introduction

Inductive and coinductive definitions A natural number is either 0 or the successor of a natural number.

slide-4
SLIDE 4

Introduction

Inductive and coinductive definitions N = 1 ⊕ N

slide-5
SLIDE 5

Introduction

Inductive and coinductive definitions N = µX.1⊕X

slide-6
SLIDE 6

Introduction

Inductive and coinductive definitions N = µX.1⊕X A stream is made of a natural number (head) and a stream (tail).

slide-7
SLIDE 7

Introduction

Inductive and coinductive definitions N = µX.1⊕X S = N ⊗ S

slide-8
SLIDE 8

Introduction

Inductive and coinductive definitions N = µX.1⊕X S = νX.N⊗X

slide-9
SLIDE 9

Introduction

Inductive and coinductive definitions N = µX.1⊕X S = νX.N⊗X

slide-10
SLIDE 10

Introduction

Inductive and coinductive definitions N = µX.1⊕X S = νX.N⊗X Proofs-programs over these data types double(n) = if n = 0 = succ(succ(double(m))) if n = succ(m)

slide-11
SLIDE 11

Introduction

Inductive and coinductive definitions N = µX.1⊕X S = νX.N⊗X Proofs-programs over these data types double(n) = if n = 0 = succ(succ(double(m))) if n = succ(m) Πdouble =

(1)

1 ⊢ 1

(⊕1)

1 ⊢ 1⊕N

(µl)

1 ⊢ N Πdouble N ⊢ N

(⊕2)

N ⊢ 1⊕N

(µr)

N ⊢ N

(⊕2)

N ⊢ 1⊕N

(µr)

N ⊢ N (⊕l) 1⊕N ⊢ N

(µl)

N ⊢ N

slide-12
SLIDE 12

Infinitary (circular) proofs in the litterature

Verification device: Complete deduction sytem giving algorithms for checking validity (Tableaux, sequent calculi) Success → Validity µ-calulus formula → Proof search ր

ց

Failure → Invalidity

slide-13
SLIDE 13

Infinitary (circular) proofs in the litterature

Verification device: Complete deduction sytem giving algorithms for checking validity (Tableaux, sequent calculi) Success → Validity µ-calulus formula → Proof search ր

ց

Failure → Invalidity Completeness arguments: Intermediate objects between syntax and semantics (Kozen, Kaivola, Walukiewicz) µ-calulus formula → Circular proof → Finite axiomatization

slide-14
SLIDE 14

Infinitary (circular) proofs in the litterature

Verification device: Complete deduction sytem giving algorithms for checking validity (Tableaux, sequent calculi) Success → Validity µ-calulus formula → Proof search ր

ց

Failure → Invalidity Completeness arguments: Intermediate objects between syntax and semantics (Kozen, Kaivola, Walukiewicz) µ-calulus formula → Circular proof → Finite axiomatization But rarely as proof/programm objects in themselves

slide-15
SLIDE 15

Structural proof theory

Two main properties: Syntactic cut-elimination

slide-16
SLIDE 16

Structural proof theory

Two main properties: Syntactic cut-elimination

Motivation: At the heart of proofs-as-programms viewpoint

Focalization

Motivation: Proof search startegy based on the notion of polarity

slide-17
SLIDE 17

Structural proof theory

Two main properties: Syntactic cut-elimination

Motivation: At the heart of proofs-as-programms viewpoint State of art: Semantical cut elimination (Brotherstone), Additive fragment (Fortier-Santocanale)

Focalization

Motivation: Proof search startegy based on the notion of polarity State of art: Nothing

slide-18
SLIDE 18

Structural proof theory

Two main properties: Syntactic cut-elimination

Motivation: At the heart of proofs-as-programms viewpoint State of art: Semantical cut elimination (Brotherstone), Additive fragment (Fortier-Santocanale) Contribution: See this talk

Focalization

Motivation: Proof search startegy based on the notion of polarity State of art: Nothing Contribution: Not in this talk

slide-19
SLIDE 19

Infinitary proof system µMALL∞

slide-20
SLIDE 20

Formulas

µMALL∞ formulas

F ::= ⊤ |⊥| 0 | 1 | F ⊗F | FF | FF | F ⊕F MALL formulas | µX.F least fixed point | νX.F greatest fixed point µ and ν are dual. Example: ¬(νX.X ⊗X) = µX.XX. Data types encoding Nat := µX.1⊕X Stream(A) := νX.A⊗X

slide-21
SLIDE 21

Sequent calculus

µMALL∞ pre-proofs are the trees coinductively generated by:

Usual logical rules

⊢ Γ,F ⊢ ∆,G

(⊗)

⊢ Γ,∆,F ⊗G ⊢ Γ,F,G

()

⊢ Γ,FG ⊢ Γ,F ⊢ Γ,G

()

⊢ Γ,FG ⊢ Γ,Fi

(⊕i)

⊢ Γ,F1 ⊕F2

Identity rules

(ax)

⊢ F,¬F ⊢ Γ,F ⊢ ∆,¬F

(cut)

⊢ Γ,∆

Rules for µ and ν

⊢ Γ,F[µX.F/X]

(µ)

⊢ Γ,µX.F ⊢ Γ,F[νX.F/X]

(ν)

⊢ Γ,νX.F

slide-22
SLIDE 22

Sequent calculus - Example

. . .

(µ)

⊢ µX.X

(µ)

⊢ µX.X . . .

(ν)

⊢ νX.X,F

(ν)

⊢ νX.X,F

(cut)

⊢ F

slide-23
SLIDE 23

Sequent calculus - Example

. . .

(µ)

⊢ µX.X

(µ)

⊢ µX.X . . .

(ν)

⊢ νX.X,F

(ν)

⊢ νX.X,F

(cut)

⊢ F Pre-proofs are unsound, hence the need for a validity condition.

slide-24
SLIDE 24

Sequent calculus - Validity condition

A thread in a branch is a sequence of formulas that traces the evolution of a given formula. A thread is valid if its outermost formula is a ν-formula. A pre-proof is valid if every branch contains a valid thread. A valid pre-proof is called proof. F := µX.νY .X ⊕Y G := νX.µY .X ⊕Y H := νY .F ⊕Y I := µY .G ⊕Y

. . .

(⊕1)

⊢ F,G

(⊕1)

⊢ F,G ⊕I

(µ)

⊢ F,I

(ν)

⊢ F,G

(⊕1)

⊢ F ⊕H,G

(ν)

⊢ H,G

(µ)

⊢ F,G

slide-25
SLIDE 25

Cut elimination

slide-26
SLIDE 26

Cut elimination procedure

Strategy: “push” the cuts away from the root. Cut-Cut: ⊢ Γ,F ⊢ ¬F,∆,G

(cut)

⊢ Γ,∆,G ⊢ ¬G,Σ

(cut)

⊢ Γ,∆,Σ

  • ⊢ Γ,F

⊢ ¬F,∆,G ⊢ ¬G,Σ

(cut)

⊢ ¬F,∆,Σ

(cut)

⊢ Γ,∆,Σ

slide-27
SLIDE 27

Cut elimination procedure

Strategy: “push” the cuts away from the root. Cut-Cut: ⊢ Γ,F ⊢ ¬F,∆,G

(cut)

⊢ Γ,∆,G ⊢ ¬G,Σ

(cut)

⊢ Γ,∆,Σ ↓ ⊢ Γ,F ⊢ ¬F,∆,G ⊢ ¬G,Σ

(m-cut)

⊢ Γ,∆,Σ

slide-28
SLIDE 28

Cut elimination procedure - External operations

⊢ ∆,F,G

()

⊢ ∆,FG ...

(m-cut)

⊢ Σ,FG ⇒ ⊢ ∆,F,G ...

(m-cut)

⊢ Σ,F,G

()

⊢ Σ,FG ⊢ ∆,F ⊢ ∆,G

()

⊢ ∆,FG ...

(m-cut)

⊢ Σ,FG ⇒ ⊢ ∆,F ...

(m-cut)

⊢ Σ,F ⊢ ∆,G ...

(m-cut)

⊢ Σ,G

()

⊢ Σ,FG ⊢ ∆,F[µX.F/X]

(µ)

⊢ ∆,µX.F ...

(m −cut)

⊢ Σ,µX.F ⇒ ⊢ ∆,F[µX.F/X] ...

(m −cut)

⊢ Σ,F[µX.F/X]

(µ)

⊢ Σ,µX.F

External operations are productive

slide-29
SLIDE 29

Cut elimination procedure - Internal operations

... ⊢ ∆,F2 ⊢ ∆,F1

()

⊢ ∆,F2F1 ⊢ Γ,F ⊥

i (⊕i)

⊢ Γ,F ⊥

1 ⊕F ⊥ 2 (m-cut)

⊢ Σ ⇒ ... ⊢ ∆,Fi ⊢ Γ,F ⊥

i (m-cut)

⊢ Σ ... ⊢ ∆,F[µX.F/X]

(µ)

⊢ ∆,µX.F ⊢ Γ,F ⊥[νX.F ⊥/X]

(ν)

⊢ Γ,νX.F ⊥

(m-cut)

⊢ Σ ⇒ ... ⊢ ∆,F[µX.F/X] ⊢ Γ,F ⊥[νX.F ⊥/X]

(m-cut)

⊢ Σ

Internal operations are not productive

slide-30
SLIDE 30

Cut elimination algorithm

Internal phase: Perform internal transformations while you can’t do anything else. External phase: Build a part of the output tree whenever you can.

slide-31
SLIDE 31

Cut elimination algorithm

Internal phase: Perform internal transformations while you can’t do anything else. External phase: Build a part of the output tree whenever you can. Repeat.

slide-32
SLIDE 32

Cut elimination algorithm

Internal phase: Perform internal transformations while you can’t do anything else. External phase: Build a part of the output tree whenever you can. Repeat.

slide-33
SLIDE 33

Cut elimination is productive

Theorem

Internal phase always halts.

slide-34
SLIDE 34

Cut elimination is productive

Theorem

Internal phase always halts. Proof: Suppose that the internal phase diverges for a proof π ⊢ ∆. Let θ be the sub-derivation of π explored by the reduction. No rule is applied to a formula of ∆ in θ, as this would contradict the divergence of internal phase. Let θ be the proof obtained from θ by dropping all the formulas from ∆. θ is then a proof for ⊢. We define a truth semantics for µMALL∞ formulas and show that the proof system is sound with respect to it. Contradiction.

slide-35
SLIDE 35

Cut elimination produces a proof

Theorem

The pre-proof obtained by the cut elimination algorithm is valid.

slide-36
SLIDE 36

Cut elimination produces a proof

Theorem

The pre-proof obtained by the cut elimination algorithm is valid. Proof: Let π⋆ be the pre-proof obtained from π ⊢ ∆ by cut

  • elimination. Suppose that a branch b of π⋆ is not valid.

Let θ be the sub-derivation of π explored by the reduction that produces b. Fact: Threads of θ are the threads of b, together with threads starting from cut formulas. The validity of θ cannot rely on the threads of b. θ µ is θ where we replace in ∆ any ν by a µ and any 1,⊤ by ⊥,0. Show that formulas containing only µ,⊥,0 and MALL connectives are false. θ µ proves a false sequent which contradicts soundness.

slide-37
SLIDE 37

Conclusion

slide-38
SLIDE 38

Conclusion

Syntactic cut elimination with a new technique Focalisation Futur work:

Go beyond Linear Logic and handle structural rules Translate infinitrary proofs to finitary ones Same question by preserving the computational content

slide-39
SLIDE 39

Conclusion

Syntactic cut elimination with a new technique Focalisation Futur work:

Go beyond Linear Logic and handle structural rules Translate infinitrary proofs to finitary ones Same question by preserving the computational content

Thank you for your attention!