SLIDE 1 Cut elimination for infinitary proofs
Amina Doumane LSV-IRIF-Université Paris Diderot March 2016 - Shonan meeting Joint work with: David Baelde
LSV-ENS Cachan IRIF-Université Paris 7
SLIDE 2
Introduction
SLIDE 3
Introduction
Inductive and coinductive definitions A natural number is either 0 or the successor of a natural number.
SLIDE 4
Introduction
Inductive and coinductive definitions N = 1 ⊕ N
SLIDE 5
Introduction
Inductive and coinductive definitions N = µX.1⊕X
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
Introduction
Inductive and coinductive definitions N = µX.1⊕X S = N ⊗ S
SLIDE 8
Introduction
Inductive and coinductive definitions N = µX.1⊕X S = νX.N⊗X
SLIDE 9
Introduction
Inductive and coinductive definitions N = µX.1⊕X S = νX.N⊗X
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 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 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 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 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
Structural proof theory
Two main properties: Syntactic cut-elimination
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
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
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
Infinitary proof system µMALL∞
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 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 Sequent calculus - Example
. . .
(µ)
⊢ µX.X
(µ)
⊢ µX.X . . .
(ν)
⊢ νX.X,F
(ν)
⊢ νX.X,F
(cut)
⊢ F
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 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
Cut elimination
SLIDE 26 Cut elimination procedure
Strategy: “push” the cuts away from the root. Cut-Cut: ⊢ Γ,F ⊢ ¬F,∆,G
(cut)
⊢ Γ,∆,G ⊢ ¬G,Σ
(cut)
⊢ Γ,∆,Σ
⊢ ¬F,∆,G ⊢ ¬G,Σ
(cut)
⊢ ¬F,∆,Σ
(cut)
⊢ Γ,∆,Σ
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 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 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
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
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
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
Cut elimination is productive
Theorem
Internal phase always halts.
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
Cut elimination produces a proof
Theorem
The pre-proof obtained by the cut elimination algorithm is valid.
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
Conclusion
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
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!