Dragisa Zunic - Classical computing with explicit structural rules - the *X calculus
1. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Classical computing with explicit structural rules
–the ∗X calculus–
s ˇ c
Dragiˇa Zuni´
– together with: Silvia Ghilezan and Pierre Lescanne
Mathematical Institute SANU, Belgrade
Matematiˇki Institut Srpske Akademije Nauka i Umetnosti, Beograd
c
November 19, 2012.
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 1 / 50
2. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Outline
1 Sequent calculus, proofs and programs
2 The ∗X calculus : explicit erasure and duplication
3 Explicit vs implicit : ∗X vs X
4 Strong normalisation
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 2 / 50
3. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication Implicit structural rules – the X calculus
Explicit vs implicit : ∗X vs X Explicit structural rules – the ∗X calculus
Strong normalisation
Outline
1 Sequent calculus, proofs and programs
Implicit structural rules – the X calculus
Explicit structural rules – the ∗X calculus
2 The ∗X calculus : explicit erasure and duplication
Logical setting
From sequent proofs to terms
The syntax and reduction rules
Diagrammatic view
3 Explicit vs implicit : ∗X vs X
4 Strong normalisation
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 3 / 50
4. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication Implicit structural rules – the X calculus
Explicit vs implicit : ∗X vs X Explicit structural rules – the ∗X calculus
Strong normalisation
The framework
Classical logic
Sequent calculus of G.Gentzen (two important formalisms :
sequent calculus and natural deduction calculus)
The Curry-Howard correspondence (the relation between proof
theory and the programming language theory)
The goal is to study classical computation, by assigning
computational interpretation(s) to classical logic represented in the
sequent calculus.
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 4 / 50
5. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication Implicit structural rules – the X calculus
Explicit vs implicit : ∗X vs X Explicit structural rules – the ∗X calculus
Strong normalisation
The Curry-Howard correspondence
Reveals a strong connection between logic and computation
The intuitionistic logic and simply typed λ-calculus
Proofs ⇔ Terms
Propositions ⇔ Types
Normalization ⇔ Reduction
Extending the “Curry-Howard paradigm”
Classical logic : T. Griffin (1990)
M. Parigot (1992) : λµ-calculus (natural deduction)
¯ µ
H. Herbelin (1995-2005) : λµ˜-calculus (sequent calculus)
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 5 / 50
6. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication Implicit structural rules – the X calculus
Explicit vs implicit : ∗X vs X Explicit structural rules – the ∗X calculus
Strong normalisation
Related work
The two predecessors
Classical logic : the X calculus
C. Urban (2000)
S. Lengrand (2003)
S. van Bakel, S.Lengrand, P. Lescanne (2005)
Intuitionistic logic : the λlxr-calculus
D. Kesner, S. Lengrand (2005)
X λlxr
∗X
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 6 / 50
7. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication Implicit structural rules – the X calculus
Explicit vs implicit : ∗X vs X Explicit structural rules – the ∗X calculus
Strong normalisation
G3 sequent system for classical logic X -calculus
(axiom)
Γ, A A, ∆
Γ A, ∆ Γ, B ∆ Γ, A B, ∆
(→ left) (→ right)
Γ, A → B ∆ Γ A → B, ∆
Γ A, ∆ Γ, A ∆
(cut)
Γ ∆
Contexts Γ, ∆ are sets
Context-sharing style
No structural rules
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 7 / 50
8. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication Implicit structural rules – the X calculus
Explicit vs implicit : ∗X vs X Explicit structural rules – the ∗X calculus
Strong normalisation
G1 sequent system for classical logic ∗X calculus
(axiom)
A A
Γ A, ∆ Γ ,B ∆ Γ, A B, ∆
(→ left) (→ right)
Γ, Γ , A → B ∆, ∆ Γ A → B, ∆
Γ A, ∆ Γ ,A ∆
(cut)
Γ, Γ ∆, ∆
Γ ∆ Γ ∆
(left weakening) (right weakening)
Γ, A ∆ Γ A, ∆
Γ, A, A ∆ Γ A, A, ∆
(left contraction) (right contraction)
Γ, A ∆ Γ A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 8 / 50
9. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Outline
1 Sequent calculus, proofs and programs
Implicit structural rules – the X calculus
Explicit structural rules – the ∗X calculus
2 The ∗X calculus : explicit erasure and duplication
Logical setting
From sequent proofs to terms
The syntax and reduction rules
Diagrammatic view
3 Explicit vs implicit : ∗X vs X
4 Strong normalisation
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 9 / 50
10. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Computational interpretation of classical proofs
Sequent calculus with explicit structural rules
(weakening and contraction)
1) Terms in ∗X -calculus are in fact annotations for proofs,
2) Computation in ∗X -calculus corresponds to cut-elimination
Weakening as an eraser / Contraction as a duplicator
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 10 / 50
11. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Names
The terms are built from names.
Two categories of names : x, y , z... in-names
α, β, γ... out-names
Binders wear “hats” : x, y , z... α, β, γ...
Examples :
β
x.α x x.β β . α [P γ >α
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 11 / 50
12. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Name = Variable
In λ-calculus : variables
β
(λy .xyz)M − xMz
→
An arbitrary term M substitutes the variable y
In ∗X -calculus : names
A name can never be substituted for a term
A name can only be renamed
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 12 / 50
13. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
G1 sequent system for classical logic
(axiom)
A A
Γ A, ∆ Γ ,B ∆ Γ, A B, ∆
(→ left) (→ right)
Γ, Γ , A → B ∆, ∆ Γ A → B, ∆
Γ A, ∆ Γ ,A ∆
(cut)
Γ, Γ ∆, ∆
Γ ∆ Γ ∆
(left weakening) (right weakening)
Γ, A ∆ Γ A, ∆
Γ, A, A ∆ Γ A, A, ∆
(left contraction) (right contraction)
Γ, A ∆ Γ A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 13 / 50
14. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The terms correspond to proofs :
(caps)
x.α :. x : A α:A
P :. Γ α : A, ∆ Q :. Γ , x : B ∆ P :. Γ, x : A α : B, ∆
(imp) (exp)
P α [y ] xQ :. Γ, Γ , y : A → B ∆, ∆ x P α . β :. Γ β : A → B, ∆
P :. Γ α : A, ∆ Q :. Γ , x : A ∆
(cut)
P α † xQ :. Γ, Γ ∆, ∆
P :. Γ ∆ P :. Γ ∆
(left eraser) (right eraser)
x P :. Γ, x : A ∆ P α :. Γ α : A, ∆
P :. Γ, y : A, z : A ∆ P :. Γ β : A, γ : A, ∆
(left dupl.) (right dupl.)
x < y P] :. Γ, x : A
z ∆ [P β
γ >α :. Γ α : A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 14 / 50
15. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The terms correspond to proofs :
(caps)
x.α :. x : A α:A
P :. Γ α : A, ∆ Q :. Γ , x : B ∆ P :. Γ, x : A α : B, ∆
(imp) (exp)
P α [y ] xQ :. Γ, Γ , y : A → B ∆, ∆ x P α . β :. Γ β : A → B, ∆
P :. Γ α : A, ∆ Q :. Γ , x : A ∆
(cut)
P α † xQ :. Γ, Γ ∆, ∆
P :. Γ ∆ P :. Γ ∆
(left eraser) (right eraser)
x P :. Γ, x : A ∆ P α :. Γ α : A, ∆
P :. Γ, y : A, z : A ∆ P :. Γ β : A, γ : A, ∆
(left dupl.) (right dupl.)
x < y P] :. Γ, x : A
z ∆ [P β
γ >α :. Γ α : A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 14 / 50
16. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The terms correspond to proofs :
(caps)
x.α :. x : A α:A
P :. Γ α : A, ∆ Q :. Γ , x : B ∆ P :. Γ, x : A α : B, ∆
(imp) (exp)
P α [y ] xQ :. Γ, Γ , y : A → B ∆, ∆ x P α . β :. Γ β : A → B, ∆
P :. Γ α : A, ∆ Q :. Γ , x : A ∆
(cut)
P α † xQ :. Γ, Γ ∆, ∆
P :. Γ ∆ P :. Γ ∆
(left eraser) (right eraser)
x P :. Γ, x : A ∆ P α :. Γ α : A, ∆
P :. Γ, y : A, z : A ∆ P :. Γ β : A, γ : A, ∆
(left dupl.) (right dupl.)
x < y P] :. Γ, x : A
z ∆ [P β
γ >α :. Γ α : A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 14 / 50
17. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The terms correspond to proofs :
(caps)
x.α :. x : A α:A
P :. Γ α : A, ∆ Q :. Γ , x : B ∆ P :. Γ, x : A α : B, ∆
(imp) (exp)
P α [y ] xQ :. Γ, Γ , y : A → B ∆, ∆ x P α . β :. Γ β : A → B, ∆
P :. Γ α : A, ∆ Q :. Γ , x : A ∆
(cut)
P α † xQ :. Γ, Γ ∆, ∆
P :. Γ ∆ P :. Γ ∆
(left eraser) (right eraser)
x P :. Γ, x : A ∆ P α :. Γ α : A, ∆
P :. Γ, y : A, z : A ∆ P :. Γ β : A, γ : A, ∆
(left dupl.) (right dupl.)
x < y P] :. Γ, x : A
z ∆ [P β
γ >α :. Γ α : A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 14 / 50
18. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The terms correspond to proofs :
(caps)
x.α :. x : A α:A
P :. Γ α : A, ∆ Q :. Γ , x : B ∆ P :. Γ, x : A α : B, ∆
(imp) (exp)
P α [y ] xQ :. Γ, Γ , y : A → B ∆, ∆ x P α . β :. Γ β : A → B, ∆
P :. Γ α : A, ∆ Q :. Γ , x : A ∆
(cut)
P α † xQ :. Γ, Γ ∆, ∆
P :. Γ ∆ P :. Γ ∆
(left eraser) (right eraser)
x P :. Γ, x : A ∆ P α :. Γ α : A, ∆
P :. Γ, y : A, z : A ∆ P :. Γ β : A, γ : A, ∆
(left dupl.) (right dupl.)
x < y P] :. Γ, x : A
z ∆ [P β
γ >α :. Γ α : A, ∆
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 14 / 50
19. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
The syntax
P, Q ::= x.α capsule
| x P β .α exporter
| P α [y ] xQ importer
| P α † xQ cut
| x P left-eraser
| P α right-eraser
y
| x < z P] left-duplicator
β
| [P γ >α right-duplicator
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 15 / 50
20. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Linearity
In ∗X -calculus only linear terms are considered :
every free name occurs only once
every binder does bind an occurrence of a free name
(and therefore only one)
Examples of non-linear terms :
x y .β β . α and x.α α
Every non-linear term has a linear representation :
α1
x (x y .β ) β . α and [ x.α1 α2 α2 > α
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 16 / 50
21. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Linearity
In ∗X -calculus only linear terms are considered :
every free name occurs only once
every binder does bind an occurrence of a free name
(and therefore only one)
Examples of non-linear terms :
x y .β β . α and x.α α
Every non-linear term has a linear representation :
α1
x (x y .β ) β . α and [ x.α1 α2 α2 > α
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 16 / 50
22. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Linearity
In ∗X -calculus only linear terms are considered :
every free name occurs only once
every binder does bind an occurrence of a free name
(and therefore only one)
Examples of non-linear terms :
x y .β β . α and x.α α
Every non-linear term has a linear representation :
α1
x (x y .β ) β . α and [ x.α1 α2 α2 >α
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 16 / 50
23. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Linearity
In ∗X -calculus only linear terms are considered :
every free name occurs only once
every binder does bind an occurrence of a free name
(and therefore only one)
Examples of non-linear terms :
x y .β β . α and x.α α
Every non-linear term has a linear representation :
α1
x (x y .β ) β . α and [ x.α1 α2 α2 >α
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 16 / 50
24. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Linearity
In ∗X -calculus only linear terms are considered :
every free name occurs only once
every binder does bind an occurrence of a free name
(and therefore only one)
Examples of non-linear terms :
x y .β β . α and x.α α
Every non-linear term has a linear representation :
α1
x (x y .β ) β . α and [ x.α1 α2 α2 >α
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 16 / 50
25. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Grouping the rules :
Logical rules (L-principal names involved)
Structural rules (S-principal names involved)
(Activation rules)
(Deactivation rules)
Propagation rules
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 17 / 50
26. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
The syntax
P, Q ::= x.α capsule
| x P β .α exporter
| P α [y ] xQ importer
| P α † xQ cut
| x P left-eraser
| P α right-eraser
y
| x < z P] left-duplicator
β
| [P γ >α right-duplicator
The notion of principal name of a term.
1 L-principal name
2 S–principal name
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 18 / 50
27. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
The syntax
P, Q ::= x.α capsule
| x P β .α exporter
| P α [y ] xQ importer
| P α † xQ cut
| x P left-eraser
| P α right-eraser
y
| x < z P] left-duplicator
β
| [P γ >α right-duplicator
The notion of principal name of a term.
1 L–principal name
2 S-principal name
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 19 / 50
28. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
∗
X : logical rules
Renaming and inserting
Renaming :
(ren-L) : y .α α † xQ → Q{y /x}
(ren-R) : P α † x x.β → P{β/α}
Diagrammatically :
y x y
(ren-L) : α
Q Q
α x β β
(ren-R) : P P
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 20 / 50
29. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
∗
X : logical rules
Inserting (ei-insert) :
(Qγ † y P)β † zR
(y P β . α)α † x(Qγ [x] zR) → either
Qγ † y (P β † zR)
Diagrammatically :
y β
P γ z
Q I R
E
α x
γ y β z
Q P R
Notice : logical rules define reducing when a cut binds
L-principal names
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 21 / 50
30. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
∗
X : structural rules
Left erasure :
( † -eras) : (P α)α † xQ → IQ P OQ ,
where I Q = I (Q) x, OQ = O(Q)
Diagrammatically :
I {
Q
P α x
Q }O Q
I {
Q
P }O Q
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 22 / 50
31. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
∗
X : structural rules
Left duplication ( † -dupl) :
IQ Q
O1
([P α1 † xQ → I Q < I1 (P α1 † x1 Q1 )α2 † x2 Q2 >O
Q
α2 >α)α Q Q
O2
,
2
Diagrammatically :
I {
Q
β
P α x
Q
γ
}O Q
I {
Q
β x
Q1
P γ x
Q2 }O Q
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 23 / 50
32. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Symmetry...
The † -erasure
P
} O
I
P
{ P α x
Q
I
P
{ Q } O
P
An illustration of the symmetry...
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 24 / 50
33. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Symmetry...
The † -duplication
}O P
y
IP { P α x
z
Q
}O P
y
P1 α
Q
IP { P2 α z
An illustration of the symmetry...
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 25 / 50
34. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Duplication, informally
Classical Logic Intuitionistic Logic
Component duplicated, interface preserved.
Similarly for erasure
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 26 / 50
35. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
∗
X : propagation rules (left subgroup)
† † †
(exp − prop) : (x P γ . α)β yR → x (P β y R) γ . α
† † †
(imp − prop1 ) : (P α [x] zQ)β yR → (P β y R)α [x] zQ, β ∈ O(P)
† † †
(imp − prop2 ) : (P α [x] zQ)β yR → P α [x] z(Q β y R), β ∈ O(Q)
† †
(cut(c) − prop) : (P α † x x.β )β y R → Pα † y R
(cut † − prop1 ) : (P α † xQ)β † y R → (P β † y R)α † xQ, β ∈ O(P), Q = x.β
(cut † − prop2 ) : (P α † xQ)β † y R → P α † x(Q β † y R), β ∈ O(Q), Q = x.β
† † †
(L–eras − prop) : (x M)β yR → x (M β y R)
† † †
(R–eras − prop) : (M α)β yR → (M β y R) α, α=β
† x † x †
(L–dupl − prop) : (x < x1 M])β yR → x < x1 M β y R]
2 2
† α1 † † α1
(R–dupl − prop) : ([M α2
>α)β yR → [M β yR α2
>α, α=β
Propagation rules do not have a diagrammatic representation
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 27 / 50
36. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Propagation rules
^ ^
α α xQ
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 28 / 50
37. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Propagation rules
^ ^
α α xQ
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 29 / 50
38. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Propagation rules
^ ^
α α xQ
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 30 / 50
39. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Propagation rules
^ ^
α α xQ
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 31 / 50
40. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Propagation rules
^ ^
αα xQ
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 32 / 50
41. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The ∗X calculus
Propagation rules
^ ^
αα xQ
We may think of α † xQ as an explicit substitution
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 33 / 50
42. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
∗
X : the basic properties
1 Linearity preservation
If P is linear and P → Q then Q is linear
2 Free names (“interface”) preservation
If P → Q then N(P) = N(Q)
3 Type preservation – computation ——– (has to be) seen as
can be
proof-transformation
If P :. Γ ∆ and P → P , then P :. Γ ∆
4 Strong normalisation (termination of reduction)
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 34 / 50
43. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
Peirce’s law in ∗X
(capsule)
x.α1 :. x : A α1 : A
(R − eraser )
x.α1 β :. x : A α1 : A, β : B
(exporter ) (capsule)
x ( x.α1 β) β . γ :. α1 : A, γ : A → B y .α2 :. y : A α2 : A
(importer )
(x ( x.α1 β) β . γ) γ [z] y y .α2 :. z : (A → B) → A α1 : A, α2 : A
(R − duplicator )
α1
[(x ( x.α1 β) β . γ) γ [z] y y .α2 α2
>α :. z : (A → B) → A α:A
(exporter )
α1
z ([(x ( x.α1 β) β . γ) γ [z] y y .α2 >α) α . δ :. δ : ((A → B) → A) → A
α2
(axiom)
A A
(R − weakening )
A A, B
(→ R) (axiom)
A, A → B A A
(→ L)
(A → B) → A A, A
(R − contraction)
s ˇ c
Dragiˇa B) → A
(A → Zuni´ Classical computing with explicit structural rules
A 35 / 50
44. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
*X :
(axiom)
A A
(R − weakening )
A A, B
(→ R) (axiom)
A, A → B A A
(→ L)
(A → B) → A A, A
(R − contraction)
(A → B) → A A
(→ R)
((A → B) → A) → A
X:
(axiom)
A A, B
(→ R) (axiom)
A, A → B A A
(→ L)
(A → B) → A A
(→ R)
((A → B) → A) → A
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 36 / 50
45. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The terms of ∗X are convenient for two-dimensional representation,
due to
the presence of erasers and duplicators
but also the linearity constraints
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 37 / 50
46. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The diagrammatic calculus
The syntax
x α
P Q ::=
,
x β
P α y
Q
P I
x
E
α
P α x
Q
α x
γ z
P β y P
α
P x
P
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 38 / 50
47. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
The main source of non-confluence
Q Q
I O
P Q P
and
P P
I O
P Q Q
non-confluence is a feature of sequent calculus
an intrinsic property of classical computation
the “choice” represented by activation rules
in literature this is known as “Lafont’s example”
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 39 / 50
48. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
An example
The Peirce’s law
E
I
E
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 40 / 50
49. Sequent calculus, proofs and programs Logical setting
The ∗X calculus : explicit erasure and duplication From sequent proofs to terms
Explicit vs implicit : ∗X vs X The syntax and reduction rules
Strong normalisation Diagrammatic view
An example
The Peirce’s law - with types assigned
x: A α1 : A
α: A
β: B y: A α2: A
E
γ: A B
I
z: (A B) A
E
δ: ((A B) A) A
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 41 / 50
50. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Outline
1 Sequent calculus, proofs and programs
Implicit structural rules – the X calculus
Explicit structural rules – the ∗X calculus
2 The ∗X calculus : explicit erasure and duplication
Logical setting
From sequent proofs to terms
The syntax and reduction rules
Diagrammatic view
3 Explicit vs implicit : ∗X vs X
4 Strong normalisation
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 42 / 50
51. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Encoding ∗X in X calculus
Definition (Encoding)
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 43 / 50
52. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Encoding preserves types
Lemma (Type preservation)
For an arbitrary ∗X -term
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 44 / 50
53. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Simulating ∗X reduction
Theorem (Reduction simulation)
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 45 / 50
54. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Outline
1 Sequent calculus, proofs and programs
Implicit structural rules – the X calculus
Explicit structural rules – the ∗X calculus
2 The ∗X calculus : explicit erasure and duplication
Logical setting
From sequent proofs to terms
The syntax and reduction rules
Diagrammatic view
3 Explicit vs implicit : ∗X vs X
4 Strong normalisation
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 46 / 50
55. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Strong normalisation of ∗X -calculus
Theorem (SN)
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 47 / 50
56. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Future work
define equivalent terms, the c X calculus
formalize the diagrammatic calculus (capturing the essence of
computation)
a 3d computational model ?
possible applications of non-confluent systems ?
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 48 / 50
57. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Some references
S. Ghilezan, P. Lescanne, D. Zuni´ ˇ c
Comp. interpretation of classical logic with expl. struct. rules, 2012.
S. Ghilezan, J. Ivetic, P. Lescanne, D. ˇuni´ Z c
Intuitionistic sequent-style calculus with explicit struct. rules, 2010.
D. Kesner and S. Lengrand
Explicit operators for λ-calculus, 2006.
C. Urban and G. M. Bierman
Strong normalisation of cut-elimination in classical logic, 1999.
S. van Bakel, S. Lengrand, P. Lescanne
The language X . Circuits, computations and classical logic, 2005.
E. Robinson
Proof nets for classical logic, 2005.
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 49 / 50
58. Sequent calculus, proofs and programs
The ∗X calculus : explicit erasure and duplication
Explicit vs implicit : ∗X vs X
Strong normalisation
Thank you. Hvala na paˇnji !
z
s ˇ c
Dragiˇa Zuni´ Classical computing with explicit structural rules 50 / 50