SLIDE 1
Conflict nets: Efficient locally canonical MALL proof nets Dominic - - PowerPoint PPT Presentation
Conflict nets: Efficient locally canonical MALL proof nets Dominic - - PowerPoint PPT Presentation
Conflict nets: Efficient locally canonical MALL proof nets Dominic J. D. Hughes and Willem Heijltjes LICS, 6 July 2016 Conflict nets: Efficient locally canonical MALL proof nets Conflict nets: Efficient locally canonical MALL proof nets
SLIDE 2
SLIDE 3
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ NJ
LJ = Intuitionistic sequent calculus NJ = Intuitionistic natural deduction
SLIDE 4
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ NJ
A B C D ⊢ E A B C∧D ⊢ E A∧B C∧D ⊢ E ≃ A B C D ⊢ E A∧B C D ⊢ E A∧B C∧D ⊢ E − → ← − A B A∧B C D C∧D E
SLIDE 5
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ NJ
A B C D ⊢ E A B C∧D ⊢ E A∧B C∧D ⊢ E ≃ A B C D ⊢ E A∧B C D ⊢ E A∧B C∧D ⊢ E − → ← − x : A B A∧B y : C D C∧D N E N [ a, b / x ] [ c, d / y ]
SLIDE 6
⊢ A B, C ⊢ D B ⊢ C D A B ⊢ C D ≃ ⊢ A B, C ⊢ D A B, C ⊢ D A B ⊢ C D − → ← − A B A B [C] D C D
SLIDE 7
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧
SLIDE 8
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
SLIDE 9
A ⊢ C B ⊢ C A∨B ⊢ C D ⊢ E A∨B, C D ⊢ E ∼ A ⊢ C D ⊢ E A, C D ⊢ E B ⊢ C D ⊢ E B, C D ⊢ E A∨B, C D ⊢ E − → − →
C D A∨B [A] C [B] C C D E A∨B C D [A] C D E C D [B] C D E E
SLIDE 10
A ⊢ C B ⊢ C A∨B ⊢ C D ⊢ E A∨B, C D ⊢ E ∼ A ⊢ C D ⊢ E A, C D ⊢ E B ⊢ C D ⊢ E B, C D ⊢ E A∨B, C D ⊢ E − → − →
f : C D x : A∨B [A]
L
C [B]
R
C C D
N
E x : A∨B f : C D [A]
L
C D
N
E f : C D [B]
R
C D
N
E E
N[fM / d]
where
M = case v of inl a → L
inr b → R case v of inl a → N[fL / d] inr b → N[fR / d]
SLIDE 11
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
SLIDE 12
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
P P QQ ⊗ P P⊗QQ RR ⊗ P P⊗QQ⊗RR ≃ P P QQ RR ⊗ QQ⊗RR ⊗ P P⊗QQ⊗RR − → ← − P P⊗Q Q⊗R R
SLIDE 13
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ canonical for MALL (⊗`
` ⊕)
SLIDE 14
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ canonical for MALL (⊗`
` ⊕)
- 1996 Girard: MALL
Monomial nets
✗ efficient ✗ canonical
SLIDE 15
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ canonical for MALL (⊗`
` ⊕)
- 1996 Girard: MALL
Monomial nets
✗ efficient ✗ canonical
- 2003 Hughes + Van Glabbeek: MALL
Slice nets
✗ efficient canonical
SLIDE 16
PP PP P ` P P QQ P ` P P⊗Q Q ≃ PP QQ P P⊗Q Q PP QQ P P⊗Q Q P ` P P⊗Q Q − → ← − P ` P P⊗Q Q
SLIDE 17
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ canonical for MALL (⊗`
` ⊕)
- 1996 Girard: MALL
Monomial nets
✗ efficient ✗ canonical
- 2003 Hughes + Van Glabbeek: MALL
Slice nets
✗ efficient canonical
SLIDE 18
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ canonical for MALL (⊗`
` ⊕)
- 1996 Girard: MALL
Monomial nets
✗ efficient ✗ canonical
- 2003 Hughes + Van Glabbeek: MALL
Slice nets
✗ efficient canonical
- This paper: MALL
Conflict nets
efficient locally canonical
SLIDE 19
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ locally canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ locally canonical for MALL (⊗`
` ⊕)
- 1996 Girard: MALL
Monomial nets
✗ efficient ✗ locally canonical
- 2003 Hughes + Van Glabbeek: MALL
Slice nets
✗ efficient strongly canonical
- This paper: MALL
Conflict nets
efficient locally canonical
SLIDE 20
All MLL and ALL rule commutations are local
P
- P
Q Q ⊗ P P⊗Q Q R R S
- S
⊗ R R⊗S S ` R⊗S R`S ⊗ P P⊗Q Q⊗(R⊗S) R`S ` P`(P⊗Q)Q⊗(R⊗S)R`S → P
- P
Q Q ⊗ P P⊗Q Q R
- R
S
- S
⊗ R R⊗S S ⊗ P P⊗Q Q⊗(R⊗S)R S ` P P⊗Q Q⊗(R⊗S) R`S ` P`(P⊗Q)Q⊗(R⊗S)R`S
SLIDE 21
One MALL rule commutation is not local Π
. . .
Γ, A B,∆,C B,∆,D ` B∆C ` D ⊗ Γ, A⊗B, ∆, C ` D → Π
. . .
Γ, A B,∆,C ⊗ Γ, A⊗B, ∆,C Π
. . .
Γ, A B,∆,D ⊗ Γ, A⊗B, ∆,D ` Γ, A⊗B, ∆, C ` D
SLIDE 22
Local/strong canonicity
- Local canonicity
Invariance under local rule commutations
- Strong canonicity
Invariance under all rule commutations
SLIDE 23
Conflict nets: Efficient locally canonical MALL proof nets
- 1934 Gentzen: LJ
NJ = Λ
efficient canonical for →∧ ✗ locally canonical for →∧∨
- 1987 Girard: LL
Box nets
efficient canonical for MLL
(⊗`)
✗ locally canonical for MALL (⊗`
` ⊕)
- 1996 Girard: MALL
Monomial nets
✗ efficient ✗ locally canonical
- 2003 Hughes + Van Glabbeek: MALL
Slice nets
✗ efficient strongly canonical
- This paper: MALL
Conflict nets
efficient locally canonical
SLIDE 24
Conflict net 1 P (P⊗(Q ` Q))`(Q⊕R)
a b c
- a
b c
SLIDE 25
Conflict net 2 P ` P P⊗R R ` R
a b c d f e g
>- a
b c
- d e
- f g
SLIDE 26
Conflict nets are locally canonical PP QQ QQ ` Q ` QQ ⊗ PP⊗(Q ` Q)Q ⊕1 PP⊗(Q ` Q)Q⊕R ` P
- P⊗(Q
` Q)
- `(Q⊕R)
≃ PP QQ ⊕1 QQ⊕R QQ ⊕1 QQ⊕R ` Q ` QQ⊕R ⊗ PP⊗(Q ` Q)Q⊕R ` P
- P⊗(Q
` Q)
- `(Q⊕R)
− → − → P (P⊗(Q ` Q))`(Q⊕R)
a b c
- a
b c
SLIDE 27
Conflict nets: efficient rather than strongly canonical PP a PPb P ` P P QQ c P ` P P⊗Q Q ∼ PP a QQd P P⊗Q Q PP b QQ e P P⊗Q Q P ` P P⊗Q Q − → − → P ` P P⊗Q Q
a b c
- >
a b c
P ` P P⊗Q Q
a b d e
>- a
d
- b
e
SLIDE 28
Coalescence correctness (generalizing MLL contractibility) P (P⊗(Q ` Q))`(Q⊕R)
a b c
- a
b c
P (P⊗(Q ` Q))`(Q⊕R)
`
a bc
- a
bc
P (P⊗(Q ` Q))`(Q⊕R)
⊕1
a bc
- a
bc
P (P⊗(Q ` Q))`(Q⊕R)
⊗
a bc
a bc
P (P⊗(Q ` Q))`(Q⊕R)
`
a bc
a bc
SLIDE 29 QQ
QQ
PP
a
bc
c
Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a b c
- a
b c
SLIDE 30 QQ
QQ
PP
a
bc
c
Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a b c
- a
b c
P (P⊗(Q ` Q))`(Q⊕R)
`
a bc
- a
bc
SLIDE 31
PP
a
QQ QQ Q ` Q Q
bc
Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a b c
- a
b c
P (P⊗(Q ` Q))`(Q⊕R)
`
a bc
- a
bc
SLIDE 32
PP
a
QQ QQ Q ` Q Q
bc
Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
SLIDE 33
PP
a
QQ QQ Q ` Q Q
bc
Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
SLIDE 34
PP
a
QQ QQ Q ` Q Q
bc
Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
SLIDE 35
PP
a
QQ QQ Q ` Q Q
bc
Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
P (P⊗(Q ` Q))`(Q⊕R)
⊕1
a bc
- a
bc
SLIDE 36
PP
a
QQ QQ Q ` Q Q Q ` Q Q⊕R
bc
P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
P (P⊗(Q ` Q))`(Q⊕R)
⊕1
a bc
- a
bc
SLIDE 37
PP
a
QQ QQ Q ` Q Q Q ` Q Q⊕R
bc
P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
SLIDE 38
PP
a
QQ QQ Q ` Q Q Q ` Q Q⊕R
bc
P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
SLIDE 39
PP
a
QQ QQ Q ` Q Q Q ` Q Q⊕R
bc
P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
SLIDE 40
PP
a
QQ QQ Q ` Q Q Q ` Q Q⊕R
bc
P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
P (P⊗(Q ` Q))`(Q⊕R)
⊗
a bc
a bc
SLIDE 41
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R
a bc
P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
- a
bc
P (P⊗(Q ` Q))`(Q⊕R)
⊗
a bc
a bc
SLIDE 42
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R
a bc
P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
SLIDE 43
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R
a bc
P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
SLIDE 44
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R
a bc
P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
SLIDE 45
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R
a bc
P (P⊗(Q ` Q))`(Q⊕R) P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
P (P⊗(Q ` Q))`(Q⊕R)
`
a bc
a bc
SLIDE 46
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R)
a bc
P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
P (P⊗(Q ` Q))`(Q⊕R)
`
a bc
a bc
SLIDE 47
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R)
a bc
P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
SLIDE 48
PP QQ QQ Q ` Q Q Q ` Q Q⊕R P P⊗(Q ` Q) Q⊕R P (P⊗(Q ` Q))`(Q⊕R)
a bc
P (P⊗(Q ` Q))`(Q⊕R)
a bc
a bc
SLIDE 49
Cut elimination P P⊗Q
a
Q∗Q Q ` Q
b c d
- a
b
>c d
↓ P P⊗Q
a
Q∗Q Q∗Q Q ` Q
c
˙
b d
˜
b
- a
- ˙
b c
- ˜
b d
↓ ↓ P P⊗Q
a
Q ` Q
˙
bc
˜
b d
- a