TermsforClassical Sequents
Proof Invariants & Strong Normalisation Greg Restall
melbourne logic seminar · 6 may 2016
TermsforClassical Sequents Proof Invariants & Strong - - PowerPoint PPT Presentation
TermsforClassical Sequents Proof Invariants & Strong Normalisation Greg Restall melbourne logic seminar 6 may 2016 My Aim To introduce a new invariant for classical propositional proofs and to show how they can be used. Greg Restall
TermsforClassical Sequents
Proof Invariants & Strong Normalisation Greg Restall
melbourne logic seminar · 6 may 2016
My Aim
To introduce a new invariant for classical propositional proofs and to show how they can be used.
Greg Restall Terms for Classical Sequents 2 of 66
Today's Plan
Background Preterms Derivations Terms Eliminating Cuts Strong Normalisation Further Work
Greg Restall Terms for Classical Sequents 3 of 66
When is π1 the same proof as π2?
p p
∨R
p p ∨ q
∧L
p ∧ q p ∨ q p ∧ q
∧E
p
∨I
p ∨ q p p
∧L
p ∧ q p
∨R
p ∧ q p ∨ q
R L E I L R
Greg Restall Terms for Classical Sequents 5 of 66
When is π1 the same proof as π2?
p p
∨R
p p ∨ q
∧L
p ∧ q p ∨ q p ∧ q
∧E
p
∨I
p ∨ q p p
∧L
p ∧ q p
∨R
p ∧ q p ∨ q q q
∨R
q p ∨ q
∧L
p ∧ q p ∨ q p ∧ q
∧E
q
∨I
p ∨ q q q
∧L
p ∧ q q
∨R
p ∧ q p ∨ q
Greg Restall Terms for Classical Sequents 5 of 66
When is π1 the same proof as π2?
p ∨ q [p]1
∨I
q ∨ p [q]1
∨I
q ∨ p
∨E1
q ∨ p
∨I
(q ∨ p) ∨ r p ∨ q [p]1
∨I
q ∨ p
∨I
(q ∨ p) ∨ r [q]1
∨I
q ∨ p
∨I
(q ∨ p) ∨ r
∨E1
(q ∨ p) ∨ r Are these different proofs, or different ways of presenting the same proof ?
Greg Restall Terms for Classical Sequents 6 of 66
Girard, Lafont and Taylor: ProofsandTypes, Chapter 2
Natural deduction is a slightly paradoxical system: it is limited to the intuitionistic case (in the classical case it has no particularly good properties) but it is only satisfactory for the (∧, ⇒, ∀) fragment of the language: we shall defer consideration of ∨ and ∃ until chapter 10. Yet disjunction and existence are the two most typically intuitionistic connectors! The basic idea of natural deduction is an asymmetry: a proof is a vaguely tree-like structure (this view is more a graphical illusion than a mathematical reality, but it is a pleasant illusion) with one or more hypotheses (possibly none) but a single conclusion. The deep symmetry of the calculus is shown by the introduction and elimination rules which match each other exactly. Observe, incidentally, that with a tree-like structure, one can always decide uniquely what was the last rule used, which is something we could not say if there were several conclusions.
Greg Restall Terms for Classical Sequents 7 of 66
LambdaTerms and Proofs
[x : p ⊃ (q ⊃ r)] [z : p]
⊃E
xz : q ⊃ r [y : p ⊃ q] [z : p]
⊃E
yz : q
⊃E
(xz)(yz) : r
⊃I
λz (xz)(yz) : p ⊃ r
⊃I
λyλz (xz)(yz) : (p ⊃ q) ⊃ (p ⊃ r)
⊃I
λxλyλz (xz)(yz) : (p ⊃ (q ⊃ r)) ⊃ ((p ⊃ q) ⊃ (p ⊃ r))
Greg Restall Terms for Classical Sequents 8 of 66
Contraction and weakening are managed by variables
[x : p]
⊃I
λy x : q ⊃ p
⊃I
λxλy x : p ⊃ (q ⊃ p)
E E I
Greg Restall Terms for Classical Sequents 9 of 66
Contraction and weakening are managed by variables
[x : p]
⊃I
λy x : q ⊃ p
⊃I
λxλy x : p ⊃ (q ⊃ p) x : p ⊃ (p ⊃ q) [y : p]
⊃E
xy : p ⊃ q [y : p]
⊃E
(xy)y : q
⊃I
λy (xy)y : p ⊃ q
Greg Restall Terms for Classical Sequents 9 of 66
Classical Sequent Derivations
p p
¬R
p, ¬p
∨R
p ∨ ¬p p p
¬L
p, ¬p
∧L
p ∧ ¬p
L R L R
Greg Restall Terms for Classical Sequents 10 of 66
Classical Sequent Derivations
p p
¬R
p, ¬p
∨R
p ∨ ¬p p p
¬L
p, ¬p
∧L
p ∧ ¬p p p q q r r
∨L
q ∨ r q, r
∧R
p, q ∨ r p ∧ q, r
∧L
p ∧ (q ∨ r) p ∧ q, r
∨R
p ∧ (q ∨ r) (p ∧ q) ∨ r
Greg Restall Terms for Classical Sequents 10 of 66
Sequents and Terms X Y X A, Y X, A Y
Where do you put the variables, and where do you put the terms?
Greg Restall Terms for Classical Sequents 11 of 66
Our Choice x1 : A1, . . . , xn : An y1 : B1, . . . , ym : Bm
Each premise and conclusion is decorated with variables. The sequent gets the term, connecting inputs & outputs.
Greg Restall Terms for Classical Sequents 12 of 66
Our Choice x1 : A1, . . . , xn : An y1 : B1, . . . , ym : Bm
Each premise and conclusion is decorated with variables. The sequent gets the term, connecting inputs & outputs.
Greg Restall Terms for Classical Sequents 12 of 66
Our Choice
π(x1, . . . , xn)[y1, . . . , ym]
x1 : A1, . . . , xn : An y1 : B1, . . . , ym : Bm
Each premise and conclusion is decorated with variables. The sequent gets the term, connecting inputs & outputs.
Greg Restall Terms for Classical Sequents 12 of 66
Example 1
x⌢x
x : p x : p
y⌢y
y : q y : q
z⌢z
z : r z : r
∨L
Lw⌢y Rw⌢z
w : q ∨ r y : q, z : r
∧R
x⌢Fv Lw⌢Sv Rw⌢z
x : p, w : q ∨ r v : p ∧ q, z : r
∧L
Fu⌢Fv LSu⌢Sv RSu⌢z
u : p ∧ (q ∨ r) v : p ∧ q, z : r
∨R
Fu⌢FLt LSu⌢SLt RSu⌢Rt
u : p ∧ (q ∨ r) t : (p ∧ q) ∨ r
Greg Restall Terms for Classical Sequents 13 of 66
Example 2
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fy x⌢Sy
x : p y : p ∧ p
z⌢z
z : p z : p
∧L
Fw⌢z
w : p ∧ p z : p
Cut
x⌢F• x⌢S• F•⌢z
x : p z : p
Greg Restall Terms for Classical Sequents 14 of 66
Variables and Cut Points
▶ For each formula A, xA 1 , xA 2 , . . . are variables of type A.
For each formula , , , are cut points of type . – We use ; as schematic letters for variables and cut points, ommitting type superscripts where possible.
Greg Restall Terms for Classical Sequents 16 of 66
Variables and Cut Points
▶ For each formula A, xA 1 , xA 2 , . . . are variables of type A. ▶ For each formula A, •A 1 , •A 2 , . . . are cut points of type A.
– We use ; as schematic letters for variables and cut points, ommitting type superscripts where possible.
Greg Restall Terms for Classical Sequents 16 of 66
Variables and Cut Points
▶ For each formula A, xA 1 , xA 2 , . . . are variables of type A. ▶ For each formula A, •A 1 , •A 2 , . . . are cut points of type A.
– We use x, y, z, u, v, w, . . .; •, ⋆, ∗, ♯, ♭ as schematic letters for variables and cut points, ommitting type superscripts where possible.
Greg Restall Terms for Classical Sequents 16 of 66
Nodes and Subnodes
▶ A variable x of type A and a cut point • of type A are both A nodes.
If is an node, then L is an node and R is a node. If is an node, then F is an node and S is a node. If is an node, then A is an node and C is a node. If is a node, then N is an node. For each complex node L , R , F , S , A , C and N , is its immediate subnode, and the subnodes of are also subnodes of the original node.
Greg Restall Terms for Classical Sequents 17 of 66
Nodes and Subnodes
▶ A variable x of type A and a cut point • of type A are both A nodes. ▶ If n is an A ∧ B node, then Ln is an A node and Rn is a B node.
If is an node, then F is an node and S is a node. If is an node, then A is an node and C is a node. If is a node, then N is an node. For each complex node L , R , F , S , A , C and N , is its immediate subnode, and the subnodes of are also subnodes of the original node.
Greg Restall Terms for Classical Sequents 17 of 66
Nodes and Subnodes
▶ A variable x of type A and a cut point • of type A are both A nodes. ▶ If n is an A ∧ B node, then Ln is an A node and Rn is a B node. ▶ If n is an A ∨ B node, then Fn is an A node and Sn is a B node.
If is an node, then A is an node and C is a node. If is a node, then N is an node. For each complex node L , R , F , S , A , C and N , is its immediate subnode, and the subnodes of are also subnodes of the original node.
Greg Restall Terms for Classical Sequents 17 of 66
Nodes and Subnodes
▶ A variable x of type A and a cut point • of type A are both A nodes. ▶ If n is an A ∧ B node, then Ln is an A node and Rn is a B node. ▶ If n is an A ∨ B node, then Fn is an A node and Sn is a B node. ▶ If n is an A ⊃ B node, then An is an A node and Cn is a B node.
If is a node, then N is an node. For each complex node L , R , F , S , A , C and N , is its immediate subnode, and the subnodes of are also subnodes of the original node.
Greg Restall Terms for Classical Sequents 17 of 66
Nodes and Subnodes
▶ A variable x of type A and a cut point • of type A are both A nodes. ▶ If n is an A ∧ B node, then Ln is an A node and Rn is a B node. ▶ If n is an A ∨ B node, then Fn is an A node and Sn is a B node. ▶ If n is an A ⊃ B node, then An is an A node and Cn is a B node. ▶ If n is a ¬A node, then Nn is an A node.
For each complex node L , R , F , S , A , C and N , is its immediate subnode, and the subnodes of are also subnodes of the original node.
Greg Restall Terms for Classical Sequents 17 of 66
Nodes and Subnodes
▶ A variable x of type A and a cut point • of type A are both A nodes. ▶ If n is an A ∧ B node, then Ln is an A node and Rn is a B node. ▶ If n is an A ∨ B node, then Fn is an A node and Sn is a B node. ▶ If n is an A ⊃ B node, then An is an A node and Cn is a B node. ▶ If n is a ¬A node, then Nn is an A node. ▶ For each complex node Ln, Rn, Fn, Sn, An, Cn and Nn, n is its immediate
subnode, and the subnodes of n are also subnodes of the original node.
Greg Restall Terms for Classical Sequents 17 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type.
In , is in input position, and is in output position. Positions generalise to subnodes as follows:
If L , R , F , S
are in input position, is also in input position. If L , R , F , S
are in output position, is also in output position. – L, R, F, S and C each preserve position. If A
is in input position, is in output position. If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position.
Positions generalise to subnodes as follows:
If L , R , F , S
are in input position, is also in input position. If L , R , F , S
are in output position, is also in output position. – L, R, F, S and C each preserve position. If A
is in input position, is in output position. If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
If L , R , F , S
are in input position, is also in input position. If L , R , F , S
are in output position, is also in output position. – L, R, F, S and C each preserve position. If A
is in input position, is in output position. If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position.
If L , R , F , S
are in output position, is also in output position. – L, R, F, S and C each preserve position. If A
is in input position, is in output position. If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position. ▶ If Ln, Rn, Fn, Sn or Cn are in output position, n is also in output position.
– L, R, F, S and C each preserve position. If A
is in input position, is in output position. If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position. ▶ If Ln, Rn, Fn, Sn or Cn are in output position, n is also in output position.
– L, R, F, S and C each preserve position. If A
is in input position, is in output position. If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position. ▶ If Ln, Rn, Fn, Sn or Cn are in output position, n is also in output position.
– L, R, F, S and C each preserve position.
▶ If An or Nn is in input position, n is in output position.
If A
is in output position, is in input position. – A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position. ▶ If Ln, Rn, Fn, Sn or Cn are in output position, n is also in output position.
– L, R, F, S and C each preserve position.
▶ If An or Nn is in input position, n is in output position. ▶ If An or Nn is in output position, n is in input position.
– A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position. ▶ If Ln, Rn, Fn, Sn or Cn are in output position, n is also in output position.
– L, R, F, S and C each preserve position.
▶ If An or Nn is in input position, n is in output position. ▶ If An or Nn is in output position, n is in input position.
– A and N reverse position.
The inputs (outputs) of a linking are the variables in input (output) position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Linkings, Inputs and Outputs
▶ A linking is a pair n⌢m of nodes of the same type. ▶ In n⌢m, n is in input position, and m is in output position. ▶ Positions generalise to subnodes as follows:
▶ If Ln, Rn, Fn, Sn or Cn are in input position, n is also in input position. ▶ If Ln, Rn, Fn, Sn or Cn are in output position, n is also in output position.
– L, R, F, S and C each preserve position.
▶ If An or Nn is in input position, n is in output position. ▶ If An or Nn is in output position, n is in input position.
– A and N reverse position.
▶ The inputs (outputs) of a linking are the variables in input (output)
position of that linking.
Greg Restall Terms for Classical Sequents 18 of 66
Example Linkings x of type ((p ⊃ q) ⊃ p) ⊃ p AAA C CA C
Greg Restall Terms for Classical Sequents 19 of 66
Example Linkings x of type ((p ⊃ q) ⊃ p) ⊃ p AAAx⌢Cx CA C
Greg Restall Terms for Classical Sequents 19 of 66
Example Linkings x of type ((p ⊃ q) ⊃ p) ⊃ p AAAx⌢Cx CAx⌢Cx
Greg Restall Terms for Classical Sequents 19 of 66
Preterms
▶ A preterm is a finite set of linkings.
The inputs of a preterm are the inputs of its linkings. Its outputs are the outputs of its linkings.
Greg Restall Terms for Classical Sequents 20 of 66
Preterms
▶ A preterm is a finite set of linkings. ▶ The inputs of a preterm are the inputs of its linkings.
Its outputs are the outputs of its linkings.
Greg Restall Terms for Classical Sequents 20 of 66
Preterms
▶ A preterm is a finite set of linkings. ▶ The inputs of a preterm are the inputs of its linkings. ▶ Its outputs are the outputs of its linkings.
Greg Restall Terms for Classical Sequents 20 of 66
Annotating Derivations: Identity
x⌢y
Σ, x : A y : A, ∆
Greg Restall Terms for Classical Sequents 22 of 66
Annotating Derivations: Conjunction
π(x, y)
Σ, x : A, y : B ∆
∧L
π(Fz, Sz)
Σ, z : A ∧ B ∆
R
F S
Greg Restall Terms for Classical Sequents 23 of 66
Annotating Derivations: Conjunction
π(x, y)
Σ, x : A, y : B ∆
∧L
π(Fz, Sz)
Σ, z : A ∧ B ∆
π[x]
Σ x : A, ∆
π′[y]
Σ′ y : B, ∆′
∧R
π[Fz] π′[Sz]
Σ, Σ′ z : A ∧ B, ∆, ∆′
Greg Restall Terms for Classical Sequents 23 of 66
Excursus on Weakening and Variables
[x : p]
⊃I
λy x : q ⊃ p
⊃I
λxλy x : p ⊃ (q ⊃ p)
L
F S
can be
L
F
In a premise the indicated and display all
and inputs to the proof term. There might be none.
Greg Restall Terms for Classical Sequents 24 of 66
Excursus on Weakening and Variables
[x : p]
⊃I
λy x : q ⊃ p
⊃I
λxλy x : p ⊃ (q ⊃ p)
π(x, y)
Σ, x : A, y : B ∆
∧L
π(Fz, Sz)
Σ, z : A ∧ B ∆ can be
π(x)
Σ, x : A ∆
∧L
π(Fz)
Σ, z : A ∧ B ∆ In a premise the indicated and display all
and inputs to the proof term. There might be none.
Greg Restall Terms for Classical Sequents 24 of 66
Excursus on Weakening and Variables
[x : p]
⊃I
λy x : q ⊃ p
⊃I
λxλy x : p ⊃ (q ⊃ p)
π(x, y)
Σ, x : A, y : B ∆
∧L
π(Fz, Sz)
Σ, z : A ∧ B ∆ can be
π(x)
Σ, x : A ∆
∧L
π(Fz)
Σ, z : A ∧ B ∆ In a premise π(x, y) the indicated x and y display all
There might be none.
Greg Restall Terms for Classical Sequents 24 of 66
Annotating Derivations: Negation
π[x]
Σ x : A, ∆
¬L
π[Nz]
Σ, z : ¬A ∆
π(x)
Σ, x : A ∆
¬R
π(Nz)
Σ z : ¬A, ∆
Greg Restall Terms for Classical Sequents 25 of 66
Annotating Derivations: Disjunction
π(x)
Σ, x : A ∆
π′(y)
Σ′, y : B ∆′
∨L
π(Lz) π′(Rz)
Σ, Σ′, z : A ∨ B ∆, ∆′
π[x, y]
Σ x : A, y : B, ∆
∨R
π[Lz, Rz]
Σ z : A ∨ B, ∆
Greg Restall Terms for Classical Sequents 26 of 66
Annotating Derivations: Conditional
π[x]
Σ x : A, ∆
π′(y)
Σ′, y : B ∆′
⊃L
π[Az] π′(Lz)
Σ, Σ′, z : A ⊃ B ∆, ∆′
π(x)[y]
Σ, x : A y : B, ∆
⊃R
π(Az)[Cz]
Σ z : A ⊃ B, ∆
Greg Restall Terms for Classical Sequents 27 of 66
Example Annotation
x⌢x
x : p x : p
y⌢y
y : q y : q
z⌢z
z : r z : r
∨L
Lw⌢y Rw⌢z
w : q ∨ r y : q, z : r
∧R
x⌢Fv Lw⌢Sv Rw⌢z
x : p, w : q ∨ r v : p ∧ q, z : r
∧L
Fu⌢Fv LSu⌢Sv RSu⌢z
u : p ∧ (q ∨ r) v : p ∧ q, z : r
∨R
Fu⌢FLt LSu⌢SLt RSu⌢Rt
u : p ∧ (q ∨ r) t : (p ∧ q) ∨ r
Greg Restall Terms for Classical Sequents 28 of 66
Annotating Derivations: Cut
π[x]
Σ x : A, ∆
π′(y)
Σ′, y : A ∆′
Cut
π[•] π′(•)
Σ, Σ′ ∆, ∆′
Greg Restall Terms for Classical Sequents 29 of 66
Example Annotation, with Cut
x⌢x
x : p x : p
x⌢x
x : p x : p
∨L
Ly⌢x Ry⌢x
y : p ∨ p x : p
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fz x⌢Sz
x : p z : p ∧ p
Cut
Ly⌢• Ry⌢•
y : p ∨ p z : p ∧ p
Greg Restall Terms for Classical Sequents 30 of 66
When is π1 the same proof as π2 (revisited)?
z⌢z
z : p z : p
∨R
z⌢Ly
z : p y : p ∨ q
∧L
Fx⌢Ly
x : p ∧ q y : p ∨ q p ∧ q
∧E
p
∨I
p ∨ q
z⌢z
z : p z : p
∨R
Fx⌢z
x : p ∧ q z : p
∧L
Fx⌢Ly
x : p ∧ q y : p ∨ q
R
R
L
S R
E I R
S
L
S R
Greg Restall Terms for Classical Sequents 31 of 66
When is π1 the same proof as π2 (revisited)?
z⌢z
z : p z : p
∨R
z⌢Ly
z : p y : p ∨ q
∧L
Fx⌢Ly
x : p ∧ q y : p ∨ q p ∧ q
∧E
p
∨I
p ∨ q
z⌢z
z : p z : p
∨R
Fx⌢z
x : p ∧ q z : p
∧L
Fx⌢Ly
x : p ∧ q y : p ∨ q
w⌢w
w : q w : q
∨R
w⌢Ry
w : q y : p ∨ q
∧L
Sx⌢Ry
x : p ∧ q y : p ∨ q p ∧ q
∧E
q
∨I
p ∨ q
w⌢w
w : q w : q
∨R
Sx⌢w
x : p ∧ q w : q
∧L
Sx⌢Ry
x : p ∧ q y : p ∨ q
Greg Restall Terms for Classical Sequents 31 of 66
When is π1 the same proof as π2 (revisited)?
p ∨ q [p]1
∨I
q ∨ p [q]1
∨I
q ∨ p
∨E1
q ∨ p
∨I
(q ∨ p) ∨ r
x⌢x
x : p x : p
∨R
x⌢Rz
x : p z : q ∨ p
y⌢y
y : q y : q
∨R
y⌢Lz
y : q z : q ∨ p
∨L
Lw⌢Rz Rw⌢Lz
w : p ∨ q z : q ∨ p
∨R
Lw⌢RLu Rw⌢LLu
w : p ∨ q u : (q ∨ p) ∨ r
Greg Restall Terms for Classical Sequents 32 of 66
When is π1 the same proof as π2 (revisited)?
p ∨ q [p]1
∨I
q ∨ p
∨I
(q ∨ p) ∨ r [q]1
∨I
q ∨ p
∨I
(q ∨ p) ∨ r
∨E1
(q ∨ p) ∨ r
x⌢x
x : p x : p
∨R
x⌢Rz
x : p z : q ∨ p
∨R
x⌢RLu
x : p u : (q ∨ p) ∨ r
y⌢y
y : q y : q
∨R
x⌢LLu
y : q z : q ∨ p
∨R
y⌢LLu
y : q u : (q ∨ p) ∨ r
∨L
Lw⌢RLu Rw⌢LLu
w : p ∨ q u : (q ∨ p) ∨ r
Greg Restall Terms for Classical Sequents 33 of 66
Sequentialisable Preterms
A preterm is sequentialisable iff it is the conclusion of some derivation.
Greg Restall Terms for Classical Sequents 34 of 66
Nonsequentialisable Preterms
Lx⌢Fy Rx⌢Sy
x : p ∨ q y : p ∧ q
This is connected, but it is not connected enough.
Greg Restall Terms for Classical Sequents 36 of 66
Switching Example
Lx⌢Fy Rx⌢Sy
x : p ∨ q y : p ∧ q
L F R S L F R S L F R S L F R S
Greg Restall Terms for Classical Sequents 37 of 66
Switching Example
Lx⌢Fy Rx⌢Sy
x : p ∨ q y : p ∧ q
Lx⌢Fy ✚
✚
Rx⌢✚
✚
Sy
x : p ∨ − y : p ∧ −
Lx⌢
✚
Rx⌢Sy
x : p ∨ − y : − ∧ q
✚
Lx⌢Fy Rx⌢✚
✚
Sy
x : − ∨ q y : p ∧ −
✚
Lx⌢
Rx⌢Sy
x : − ∨ q y : − ∧ q
Greg Restall Terms for Classical Sequents 37 of 66
Switchings
▶ The switchings of a preterm π are found by selecting for each pair of
subterms Ln and Rn in input position; Fn and Sn in output position, An in
and output position), one item of the pair to keep, and the other to delete. A linking in a switching of a preterm survives if and only if neither side of the link involves a deletion. A preterm is spanned if every switching has at least one surviving linking.
Greg Restall Terms for Classical Sequents 38 of 66
Switchings
▶ The switchings of a preterm π are found by selecting for each pair of
subterms Ln and Rn in input position; Fn and Sn in output position, An in
and output position), one item of the pair to keep, and the other to delete.
▶ A linking in a switching of a preterm π survives if and only if neither
side of the link involves a deletion. A preterm is spanned if every switching has at least one surviving linking.
Greg Restall Terms for Classical Sequents 38 of 66
Switchings
▶ The switchings of a preterm π are found by selecting for each pair of
subterms Ln and Rn in input position; Fn and Sn in output position, An in
and output position), one item of the pair to keep, and the other to delete.
▶ A linking in a switching of a preterm π survives if and only if neither
side of the link involves a deletion.
▶ A preterm is spanned if every switching has at least one surviving linking.
Greg Restall Terms for Classical Sequents 38 of 66
Example
Fu⌢FLt LSu⌢SLt RSu⌢Rt This has two pairs for switching: LSu/RSu in input position. FLt/SLt in output position. F FL LS SL RS R F FL LS SL RS R F FL LS SL RS R F FL LS SL RS R
Greg Restall Terms for Classical Sequents 39 of 66
Example
Fu⌢FLt LSu⌢SLt RSu⌢Rt This has two pairs for switching: LSu/RSu in input position. FLt/SLt in output position. Fu⌢✟
✟
FLt ✟✟
✟
LSu⌢SLt RSu⌢Rt Fu⌢FLt ✟✟
✟
LSu⌢✟
✟
SLt RSu⌢Rt Fu⌢✟
✟
FLt LSu⌢SLt ✘✘
✘
RSu⌢Rt Fu⌢FLt LSu⌢✟
✟
SLt ✘✘
✘
RSu⌢Rt
Greg Restall Terms for Classical Sequents 39 of 66
Terms A preterm π is a term when it is spanned.
Greg Restall Terms for Classical Sequents 40 of 66
Sequentialisable Preterms are Terms By induction on the derivation sequentialising π.
Greg Restall Terms for Classical Sequents 41 of 66
Sequentialisable Preterms are Terms: Identity
x⌢y
Σ, x : A y : A, ∆
Greg Restall Terms for Classical Sequents 42 of 66
Sequentialisable Preterms are Terms: Conjunction
π(x, y)
Σ, x : A, y : B ∆
∧L
π(Fz, Sz)
Σ, z : A ∧ B ∆
π[x]
Σ x : A, ∆
π′[y]
Σ′ y : B, ∆′
∧R
π[Fz] π′[Sz]
Σ, Σ′ z : A ∧ B, ∆, ∆′
Greg Restall Terms for Classical Sequents 43 of 66
Sequentialisable Preterms are Terms: Negation
π[x]
Σ x : A, ∆
¬L
π[Nz]
Σ, z : ¬A ∆
π(x)
Σ, x : A ∆
¬R
π(Nz)
Σ z : ¬A, ∆
Greg Restall Terms for Classical Sequents 44 of 66
Sequentialisable Preterms are Terms: Disjunction
π(x)
Σ, x : A ∆
π′(y)
Σ′, y : B ∆′
∨L
π(Lz) π′(Rz)
Σ, Σ′, z : A ∨ B ∆, ∆′
π[x, y]
Σ x : A, y : B, ∆
∨R
π[Lz, Rz]
Σ z : A ∨ B, ∆
Greg Restall Terms for Classical Sequents 45 of 66
Sequentialisable Preterms are Terms: Conditional
π[x]
Σ x : A, ∆
π′(y)
Σ′, y : B ∆′
⊃L
π[Az] π′(Cz)
Σ, Σ′, z : A ⊃ B ∆, ∆′
π(x)[y]
Σ, x : A y : B, ∆
⊃R
π(Az)[Cz]
Σ z : A ⊃ B, ∆
Greg Restall Terms for Classical Sequents 46 of 66
Sequentialisable Preterms are Terms: Cut
π[x]
Σ x : A, ∆
π′(y)
Σ′, y : A ∆′
Cut
π[•] π′(•)
Σ, Σ′ ∆, ∆′
Greg Restall Terms for Classical Sequents 47 of 66
Terms are Sequentialisable By induction on the number of pairs for switching in π. Except … x⌢y u⌢v
Greg Restall Terms for Classical Sequents 48 of 66
Conjunction Cut Reduction
π[x]
Σ x : A, ∆
π′[y]
Σ′ y : B, ∆
∧R
π[Fz] π′[Sz]
Σ, Σ′ z : A ∧ B, ∆, ∆
π′′(u, v)
Σ′′, u : A, v : B ∆′′
∧L
π′′(Fw, Sw)
Σ′′, w : A ∧ B ∆′′
Cut
π[F•] π′[S•] π′′(F•, S•)
Σ, Σ′, Σ′′ ∆, ∆′, ∆′′ reduces to
Cut Cut
Greg Restall Terms for Classical Sequents 50 of 66
Conjunction Cut Reduction
π[x]
Σ x : A, ∆
π′[y]
Σ′ y : B, ∆
∧R
π[Fz] π′[Sz]
Σ, Σ′ z : A ∧ B, ∆, ∆
π′′(u, v)
Σ′′, u : A, v : B ∆′′
∧L
π′′(Fw, Sw)
Σ′′, w : A ∧ B ∆′′
Cut
π[F•] π′[S•] π′′(F•, S•)
Σ, Σ′, Σ′′ ∆, ∆′, ∆′′ reduces to
π[x]
Σ x : A, ∆
π′[y]
Σ′ y : B, ∆
π′′(u, v)
Σ′′, u : A, v : B ∆′′
Cut
π′[⋆] π′′(u, ⋆)
Σ′, Σ′′, u : A ∆′, ∆′′
Cut
π[∗] π′[⋆] π′′(∗, ⋆)
Σ, Σ′, Σ′′ ∆, ∆′, ∆′′
Greg Restall Terms for Classical Sequents 50 of 66
Identity Cut Reduction
π[x]
Σ x : A, ∆
y⌢z
Σ′, y : A z : A, ∆′
Cut
π[•] •⌢z
Σ, Σ′ z : A, ∆, ∆′ reduces to
Greg Restall Terms for Classical Sequents 51 of 66
Identity Cut Reduction
π[x]
Σ x : A, ∆
y⌢z
Σ′, y : A z : A, ∆′
Cut
π[•] •⌢z
Σ, Σ′ z : A, ∆, ∆′ reduces to
π[z]
Σ, Σ′ z : A, ∆, ∆′
Greg Restall Terms for Classical Sequents 51 of 66
Difficult Cases: Contraction
x⌢x
x : p x : p
x⌢x
x : p x : p
∨L
Ly⌢x Ry⌢x
y : p ∨ p x : p
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fz x⌢Sz
x : p z : p ∧ p
Cut
Ly⌢• Ry⌢• •⌢Fz •⌢Sz
y : p ∨ p z : p ∧ p
L
L R
L
L R
R
L F R F L S R S
Greg Restall Terms for Classical Sequents 52 of 66
Difficult Cases: Contraction
x⌢x
x : p x : p
x⌢x
x : p x : p
∨L
Ly⌢x Ry⌢x
y : p ∨ p x : p
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fz x⌢Sz
x : p z : p ∧ p
Cut
Ly⌢• Ry⌢• •⌢Fz •⌢Sz
y : p ∨ p z : p ∧ p
x⌢x
x : p x : p
x⌢x
x : p x : p
∨L
Ly⌢x Ry⌢x
y : p ∨ p x : p
x⌢x
x : p x : p
x⌢x
x : p x : p
∨L
Ly⌢x Ry⌢x
y : p ∨ p x : p
∧R
Ly⌢Fz Ry⌢Fz Ly⌢Sz Ry⌢Sz
y : p ∨ p z : p ∧ p
Greg Restall Terms for Classical Sequents 52 of 66
Difficult Cases: Contraction
x⌢x
x : p x : p
x⌢x
x : p x : p
∨L
Ly⌢x Ry⌢x
y : p ∨ p x : p
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fz x⌢Sz
x : p z : p ∧ p
Cut
Ly⌢• Ry⌢• •⌢Fz •⌢Sz
y : p ∨ p z : p ∧ p
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fz x⌢Sz
x : p z : p ∧ p
x⌢x
x : p x : p
x⌢x
x : p x : p
∧R
x⌢Fz x⌢Sz
x : p z : p ∧ p
∨L
Ly⌢Fz Ry⌢Fz Ly⌢Sz Ry⌢Sz
y : p ∨ p z : p ∧ p
Greg Restall Terms for Classical Sequents 53 of 66
Difficult Cases: Weakening
π
Σ ∆
π
Σ x : A, ∆
π′
Σ ∆
π′
Σ, y : A ∆
Cut
π π′
Σ ∆
Mix
Greg Restall Terms for Classical Sequents 54 of 66
Difficult Cases: Weakening
π
Σ ∆
π
Σ x : A, ∆
π′
Σ ∆
π′
Σ, y : A ∆
Cut
π π′
Σ ∆
π
Σ ∆
π′
Σ ∆
Mix
π π′
Σ ∆
Greg Restall Terms for Classical Sequents 54 of 66
Back to Sequentialisation
x⌢y u⌢v
Mix
Greg Restall Terms for Classical Sequents 55 of 66
Back to Sequentialisation
x⌢y u⌢v
x⌢y
x : A y : A
u⌢v
u : B v : B
Mix
x⌢y u⌢v
x : A, u : B y : B, v : A
Greg Restall Terms for Classical Sequents 55 of 66
Sequentialisation: Terms with No Switchings
The term contains no Ln, Rn, Cn and • in input position
It has a derivation using the linear rules L, L, R, R and R and mixes. F L NR L S R
Greg Restall Terms for Classical Sequents 56 of 66
Sequentialisation: Terms with No Switchings
The term contains no Ln, Rn, Cn and • in input position
It has a derivation using the linear rules ∧L, ¬L, ¬R, ∨R and ⊃R and mixes. F L NR L S R
Greg Restall Terms for Classical Sequents 56 of 66
Sequentialisation: Terms with No Switchings
The term contains no Ln, Rn, Cn and • in input position
It has a derivation using the linear rules ∧L, ¬L, ¬R, ∨R and ⊃R and mixes. Fy⌢Lz NRz⌢Lz Sy⌢Rz y : p ∧ ¬p z : p ∨ ¬p
Greg Restall Terms for Classical Sequents 56 of 66
Terms with No Switchings: Example
x⌢x
x : p x : p
∨R
x⌢Lz
x : p z : p ∨ ¬p
∧L
Fy⌢Lz
y : p ∧ ¬p z : p ∨ ¬p
u⌢u
u : p u : p
¬R
Nv⌢u
u : p, v : ¬p
∨R
NRz⌢Lz
z : p ∨ ¬p
v⌢v
v : ¬p v : ¬p
∨R
v⌢Rz
v : ¬p z : p ∨ ¬p
∧L
Sy⌢Rz
y : p ∧ ¬p z : p ∨ ¬p
Mix
NRz⌢Lz Sy⌢Rz
y : p ∧ ¬p z : p ∨ ¬p
Mix
Fy⌢Lz NRz⌢Lz Sy⌢Rz
y : p ∧ ¬p z : p ∨ ¬p
Greg Restall Terms for Classical Sequents 57 of 66
Terms with Switchings
By induction on the number of switched pairs. Take a switched pair at the adjacent to variables or cut points (peel away unswitched steps if there aren’t any).
π[x](−)
Σ x : A, ∆
π[−](y)
Σ′, y : B ∆′
⊃L
π[Az](Lz)
Σ, Σ′, z : A ⊃ B ∆, ∆′
Greg Restall Terms for Classical Sequents 58 of 66
Back to Eliminating Cuts: Cuts can be Complicated
π[x, u]
x : A ∧ B, u : A
π′[x, v]
x : A ∧ B, v : B
∧R
π[x, Fx] π′[x, Sx]
x : A ∧ B
π′′(y, z, x)
y : A, z : B, x : A ∧ B
∧L
π′′(Fx, Sx, x)
x : A ∧ B
Cut
π[•, F•] π′[•, S•] π′′(F•, S•, •)
Σ ∆
Greg Restall Terms for Classical Sequents 59 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m.
conjunction: for each F /S , add new cut points and . For any add for each link with as input. For any add for each link with as
S F F S F S S F N S F S F FN S SN F N S F F S
Greg Restall Terms for Classical Sequents 60 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
S F F S F S S F N S F S F FN S SN F N S F F S
Greg Restall Terms for Classical Sequents 60 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
Sz⌢F• Fz⌢S• F•⌢Sx S•⌢Fx Ny⌢•
S F S F FN S SN F N S F F S
Greg Restall Terms for Classical Sequents 60 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
Sz⌢F• Fz⌢S• F•⌢Sx S•⌢Fx Ny⌢•
Sz⌢⋆ Fz⌢∗ ⋆⌢Sx ∗⌢Fx FN S SN F N S F F S
Greg Restall Terms for Classical Sequents 60 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
Sz⌢F• Fz⌢S• F•⌢Sx S•⌢Fx Ny⌢•
Sz⌢⋆ Fz⌢∗ ⋆⌢Sx ∗⌢Fx FNy⌢Sx SNy⌢Fx Ny⌢v S F F S
Greg Restall Terms for Classical Sequents 60 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
Sz⌢F• Fz⌢S• F•⌢Sx S•⌢Fx Ny⌢•
Sz⌢⋆ Fz⌢∗ ⋆⌢Sx ∗⌢Fx FNy⌢Sx SNy⌢Fx Ny⌢v Sz⌢Fv Fz⌢Sv
Greg Restall Terms for Classical Sequents 60 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
▶ negation: for each N•, add a new cut point ⋆. For any •⌢n add l(n) for each link
l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as output. disjunction: for each L /R , add new cut points and . For any add for each link with as input. For any add for each link with as
conditional: for each A /C , add new cut points and . For any add for each link with as input. For any add for each link with as
Greg Restall Terms for Classical Sequents 61 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
▶ negation: for each N•, add a new cut point ⋆. For any •⌢n add l(n) for each link
l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as output.
▶ disjunction: for each L•/R•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
conditional: for each A /C , add new cut points and . For any add for each link with as input. For any add for each link with as
Greg Restall Terms for Classical Sequents 61 of 66
Cut Reductions
Given a term π(•)[•] and a cut-point •, the •-reduction of π is found by:
▶ atomic: replace each pair n⌢• and •⌢m by n⌢m. ▶ conjunction: for each F•/S•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
▶ negation: for each N•, add a new cut point ⋆. For any •⌢n add l(n) for each link
l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as output.
▶ disjunction: for each L•/R•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
▶ conditional: for each A•/C•, add new cut points ⋆ and ∗. For any •⌢n add l(n) for
each link l(•) with n as input. For any n⌢• add l[n] for each link l[•] with n as
Greg Restall Terms for Classical Sequents 61 of 66
Any reduction for π terminates in a unique∗ term π∗ There is some terminating reduction process. Proof reduction is confluent.
– If and then there is a where and .
Greg Restall Terms for Classical Sequents 63 of 66
Any reduction for π terminates in a unique∗ term π∗
▶ There is some terminating reduction process.
Proof reduction is confluent.
– If and then there is a where and .
Greg Restall Terms for Classical Sequents 63 of 66
Any reduction for π terminates in a unique∗ term π∗
▶ There is some terminating reduction process. ▶ Proof reduction is confluent.
– If π ⇝• π′ and π ⇝⋆ π′′ then there is a π′′′ where π′ ⇝⋆ π′′′ and π′′ ⇝• π′′′.
Greg Restall Terms for Classical Sequents 63 of 66
To Do List
▶ Are these genuine invariants? (Can we show that if two derivations have
the same term, some set of permutations permute one to the other?) Categories (The class of single input, single output terms with composition by defined by Cut + reduction is a category. What are its properties?) Apply terms to theories of warrants. Extend beyond propositional logic.
Greg Restall Terms for Classical Sequents 65 of 66
To Do List
▶ Are these genuine invariants? (Can we show that if two derivations have
the same term, some set of permutations permute one to the other?)
▶ Categories (The class of single input, single output terms with composition by
defined by Cut + reduction is a category. What are its properties?) Apply terms to theories of warrants. Extend beyond propositional logic.
Greg Restall Terms for Classical Sequents 65 of 66
To Do List
▶ Are these genuine invariants? (Can we show that if two derivations have
the same term, some set of permutations permute one to the other?)
▶ Categories (The class of single input, single output terms with composition by
defined by Cut + reduction is a category. What are its properties?)
▶ Apply terms to theories of warrants.
Extend beyond propositional logic.
Greg Restall Terms for Classical Sequents 65 of 66
To Do List
▶ Are these genuine invariants? (Can we show that if two derivations have
the same term, some set of permutations permute one to the other?)
▶ Categories (The class of single input, single output terms with composition by
defined by Cut + reduction is a category. What are its properties?)
▶ Apply terms to theories of warrants. ▶ Extend beyond propositional logic.
Greg Restall Terms for Classical Sequents 65 of 66
https://consequently.org/presentation/2016/ terms-for-classical-sequents-logicmelb/ @consequently on Twitter