SLIDE 1 Normal forms in sequent calculus
Lu´ ıs Pinto
Centro de Matem´ atica, Univ. Minho, Portugal
Computational Logic Workshop in honour of Roy Dyckhoff 18-19 November 2011
- Univ. St Andrews, Scotland
Joint work with Jos´ e Esp´ ırito Santo and Maria Jo˜ ao Frade
SLIDE 2
Plan Part I: Revisiting permutative conversions in sequent calculus Part II: A calculus of multiary sequent terms Part III: β-normal λ-terms in sequent calculus Part IV: Refinements
SLIDE 3
PART I Revisiting permutative conversions in sequent calculus
SLIDE 4 Permutations in intuitionistic sequent calculus
◮ One of Kleene’s permutation for intuitionistic implication:
D1 Γ ⊢ A D2 Γ, y : B, z : C ⊢ D Γ, y : B ⊢ C ⊃ D ⊃R Γ, x : A ⊃ B ⊢ C ⊃ D ⊃L
1
Γ, z : C ⊢ A D2 Γ, y : B, z : C ⊢ D Γ, x : A ⊃ B, z : C ⊢ D ⊃L Γ, x : A ⊃ B ⊢ C ⊃ D ⊃R
◮ Permutability Thm: D1, D2 are inter-permutable iff ϕD1 = ϕD2,
for ϕ Prawitz’s mapping of sequent calculus into nat. deduction.
◮ Zucker and Pottinger: cuts are present and permutations
involve cut or contraction.
◮ Mints, Dyckhoff&P. and Schwichtenberg: cut-free fragments
and permutations involve typically logical inferences.
SLIDE 5 Permutations in intuitionistic sequent calculus
◮ One of Kleene’s permutation for intuitionistic implication:
D1 Γ ⊢ A D2 Γ, y : B, z : C ⊢ D Γ, y : B ⊢ C ⊃ D ⊃R Γ, x : A ⊃ B ⊢ C ⊃ D ⊃L
1
Γ, z : C ⊢ A D2 Γ, y : B, z : C ⊢ D Γ, x : A ⊃ B, z : C ⊢ D ⊃L Γ, x : A ⊃ B ⊢ C ⊃ D ⊃R
◮ Permutability Thm: D1, D2 are inter-permutable iff ϕD1 = ϕD2,
for ϕ Prawitz’s mapping of sequent calculus into nat. deduction.
◮ Zucker and Pottinger: cuts are present and permutations
involve cut or contraction.
◮ Mints, Dyckhoff&P. and Schwichtenberg: cut-free fragments
and permutations involve typically logical inferences.
SLIDE 6 Permutations in intuitionistic sequent calculus
◮ One of Kleene’s permutation for intuitionistic implication:
D1 Γ ⊢ A D2 Γ, y : B, z : C ⊢ D Γ, y : B ⊢ C ⊃ D ⊃R Γ, x : A ⊃ B ⊢ C ⊃ D ⊃L
1
Γ, z : C ⊢ A D2 Γ, y : B, z : C ⊢ D Γ, x : A ⊃ B, z : C ⊢ D ⊃L Γ, x : A ⊃ B ⊢ C ⊃ D ⊃R
◮ Permutability Thm: D1, D2 are inter-permutable iff ϕD1 = ϕD2,
for ϕ Prawitz’s mapping of sequent calculus into nat. deduction.
◮ Zucker and Pottinger: cuts are present and permutations
involve cut or contraction.
◮ Mints, Dyckhoff&P. and Schwichtenberg: cut-free fragments
and permutations involve typically logical inferences.
SLIDE 7 Dyckhoff&P.’s approach to the Permutability Thm.
◮ Terms are used to represent derivations:
x :A, Γ⊢x :A Ax x :A, Γ⊢t :B Γ⊢λx.t :A ⊃ B ⊃ R Γ, x ⊢u :A y :B, Γ, x ⊢v :C Γ, x :A ⊃ B ⊢x(u(y)v):C ⊃ L
◮ Normal cut-free forms:
◮ at x(u(y)v) impose v is y-normal
(ie v = y or v = y(u′(z)v ′), y ∈ u′, v ′, and v ′ is z-normal);
◮ in bijection with β-nfs of λ-calculus, via Herbelin’s nfs of λ:
(x; [u, u′]) ✛ ✲ x(u, (y)y (u′(z)z)
∈
) xuu′ ✛ ✲ ✛ ✲
SLIDE 8 Dyckhoff&P.’s approach to the Permutability Thm.
◮ Terms are used to represent derivations:
x :A, Γ⊢x :A Ax x :A, Γ⊢t :B Γ⊢λx.t :A ⊃ B ⊃ R Γ, x ⊢u :A y :B, Γ, x ⊢v :C Γ, x :A ⊃ B ⊢x(u(y)v):C ⊃ L
◮ Normal cut-free forms:
◮ at x(u(y)v) impose v is y-normal
(ie v = y or v = y(u′(z)v ′), y ∈ u′, v ′, and v ′ is z-normal);
◮ in bijection with β-nfs of λ-calculus, via Herbelin’s nfs of λ:
(x; [u, u′]) ✛ ✲ x(u, (y)y (u′(z)z)
∈
) xuu′ ✛ ✲ ✛ ✲
SLIDE 9 Dyckhoff&P.’s approach to the Permutability Thm.
◮ Terms are used to represent derivations:
x :A, Γ⊢x :A Ax x :A, Γ⊢t :B Γ⊢λx.t :A ⊃ B ⊃ R Γ, x ⊢u :A y :B, Γ, x ⊢v :C Γ, x :A ⊃ B ⊢x(u(y)v):C ⊃ L
◮ Normal cut-free forms:
◮ at x(u(y)v) impose v is y-normal
(ie v = y or v = y(u′(z)v ′), y ∈ u′, v ′, and v ′ is z-normal);
◮ in bijection with β-nfs of λ-calculus, via Herbelin’s nfs of λ:
(x; [u, u′]) ✛ ✲ x(u, (y)y (u′(z)z)
∈
) xuu′ ✛ ✲ ✛ ✲
SLIDE 10
Dyckhoff&P.’s approach to the Permutability Thm.
◮ Permutations are oriented and induce a rewriting system whose nfs
are the normal cut-free forms:
(i) x(u(y)v) → y if y ∈ v (ii) x(u(y)z(v(w)t)) → z( x(u(y)v) (w) x(u(y)t)) if y = z and y ∈ v or t (ii′) x(u(y)y(v(w)t)) → x(u(y)y( x(u(y)v) (w) x(u(y)t))) if y ∈ v or t (iii) x(u(y)λz.v) → λz.x(u(y)v)
◮ x(u(y)v) is approx. the explicit substitution of xu for y in v. ◮ The induced rewriting system is confluent and WN.
SLIDE 11
Dyckhoff&P.’s approach to the Permutability Thm.
◮ Permutations are oriented and induce a rewriting system whose nfs
are the normal cut-free forms:
(i) x(u(y)v) → y if y ∈ v (ii) x(u(y)z(v(w)t)) → z( x(u(y)v) (w) x(u(y)t)) if y = z and y ∈ v or t (ii′) x(u(y)y(v(w)t)) → x(u(y)y( x(u(y)v) (w) x(u(y)t))) if y ∈ v or t (iii) x(u(y)λz.v) → λz.x(u(y)v)
◮ x(u(y)v) is approx. the explicit substitution of xu for y in v. ◮ The induced rewriting system is confluent and WN.
SLIDE 12 Schwichtenberg’s approach via multiary sequent terms
◮ x-normality can be represented with lists, eg
x(u, u′ :: [], (z)z) ✛ µ x(u, (y)y (u′(z)z)
∈
) xuu′
✛ ✲
◮ Schwichtenberg considers a family of left rules (one for each k ∈ N0)
⊢ u :A ⊢ u1 :B1 . . . ⊢ uk :Bk y :C ⊢ v :D x :A ⊃B1 ⊃. . .⊃Bk ⊃C ⊢ x(u, u1 :: ... :: uk :: [], (y)v):D ⊃ Lk
◮ The µ-nfs are determined by the µ-rule (where a stands for ”append”):
x(u, l, (y)y(u′, l′, (z)v)) → x(u, a(l, u′ :: l′), (z)v) if y ∈ u′, l′, v
◮ Permutative rules aim at trivialising generality to x(u, l, (z)z). ◮ SN holds and implies SN for a restriction of Dyckhoff&P.’s rules.
SLIDE 13 Schwichtenberg’s approach via multiary sequent terms
◮ x-normality can be represented with lists, eg
x(u, u′ :: [], (z)z) ✛ µ x(u, (y)y (u′(z)z)
∈
) xuu′
✛ ✲
◮ Schwichtenberg considers a family of left rules (one for each k ∈ N0)
⊢ u :A ⊢ u1 :B1 . . . ⊢ uk :Bk y :C ⊢ v :D x :A ⊃B1 ⊃. . .⊃Bk ⊃C ⊢ x(u, u1 :: ... :: uk :: [], (y)v):D ⊃ Lk
◮ The µ-nfs are determined by the µ-rule (where a stands for ”append”):
x(u, l, (y)y(u′, l′, (z)v)) → x(u, a(l, u′ :: l′), (z)v) if y ∈ u′, l′, v
◮ Permutative rules aim at trivialising generality to x(u, l, (z)z). ◮ SN holds and implies SN for a restriction of Dyckhoff&P.’s rules.
SLIDE 14 Schwichtenberg’s approach via multiary sequent terms
◮ x-normality can be represented with lists, eg
x(u, u′ :: [], (z)z) ✛ µ x(u, (y)y (u′(z)z)
∈
) xuu′
✛ ✲
◮ Schwichtenberg considers a family of left rules (one for each k ∈ N0)
⊢ u :A ⊢ u1 :B1 . . . ⊢ uk :Bk y :C ⊢ v :D x :A ⊃B1 ⊃. . .⊃Bk ⊃C ⊢ x(u, u1 :: ... :: uk :: [], (y)v):D ⊃ Lk
◮ The µ-nfs are determined by the µ-rule (where a stands for ”append”):
x(u, l, (y)y(u′, l′, (z)v)) → x(u, a(l, u′ :: l′), (z)v) if y ∈ u′, l′, v
◮ Permutative rules aim at trivialising generality to x(u, l, (z)z). ◮ SN holds and implies SN for a restriction of Dyckhoff&P.’s rules.
SLIDE 15 Schwichtenberg’s approach via multiary sequent terms
◮ x-normality can be represented with lists, eg
x(u, u′ :: [], (z)z) ✛ µ x(u, (y)y (u′(z)z)
∈
) xuu′
✛ ✲
◮ Schwichtenberg considers a family of left rules (one for each k ∈ N0)
⊢ u :A ⊢ u1 :B1 . . . ⊢ uk :Bk y :C ⊢ v :D x :A ⊃B1 ⊃. . .⊃Bk ⊃C ⊢ x(u, u1 :: ... :: uk :: [], (y)v):D ⊃ Lk
◮ The µ-nfs are determined by the µ-rule (where a stands for ”append”):
x(u, l, (y)y(u′, l′, (z)v)) → x(u, a(l, u′ :: l′), (z)v) if y ∈ u′, l′, v
◮ Permutative rules aim at trivialising generality to x(u, l, (z)z). ◮ SN holds and implies SN for a restriction of Dyckhoff&P.’s rules.
SLIDE 16 Schwichtenberg’s approach via multiary sequent terms
◮ x-normality can be represented with lists, eg
x(u, u′ :: [], (z)z) ✛ µ x(u, (y)y (u′(z)z)
∈
) xuu′
✛ ✲
◮ Schwichtenberg considers a family of left rules (one for each k ∈ N0)
⊢ u :A ⊢ u1 :B1 . . . ⊢ uk :Bk y :C ⊢ v :D x :A ⊃B1 ⊃. . .⊃Bk ⊃C ⊢ x(u, u1 :: ... :: uk :: [], (y)v):D ⊃ Lk
◮ The µ-nfs are determined by the µ-rule (where a stands for ”append”):
x(u, l, (y)y(u′, l′, (z)v)) → x(u, a(l, u′ :: l′), (z)v) if y ∈ u′, l′, v
◮ Permutative rules aim at trivialising generality to x(u, l, (z)z). ◮ SN holds and implies SN for a restriction of Dyckhoff&P.’s rules.
SLIDE 17
PART II A calculus of multiary sequent terms
SLIDE 18 λJm: the generalised multiary λ-calculus
◮ Multiary sequent terms as a computational interpretation of a
fragment of sequent calculus.
◮ x(u, l, (y)v) is generalised to
t(u, l, (y)v) interpreted as generalised multiary application.
◮ Logically, t(u, l, (y)v) comprehends both:
◮ multiary left introduction (for t a variable) ◮ right principal cuts (for t not a variable)
◮ Multiarity is implemented in the style of Herbelin’s LJT/λ-calculus ◮ Co-existence of:
◮ reduction rules (cut-elimination rules and the µ rule); ◮ permutative rules.
SLIDE 19 λJm: the generalised multiary λ-calculus
◮ Multiary sequent terms as a computational interpretation of a
fragment of sequent calculus.
◮ x(u, l, (y)v) is generalised to
t(u, l, (y)v) interpreted as generalised multiary application.
◮ Logically, t(u, l, (y)v) comprehends both:
◮ multiary left introduction (for t a variable) ◮ right principal cuts (for t not a variable)
◮ Multiarity is implemented in the style of Herbelin’s LJT/λ-calculus ◮ Co-existence of:
◮ reduction rules (cut-elimination rules and the µ rule); ◮ permutative rules.
SLIDE 20 λJm: the generalised multiary λ-calculus
◮ Multiary sequent terms as a computational interpretation of a
fragment of sequent calculus.
◮ x(u, l, (y)v) is generalised to
t(u, l, (y)v) interpreted as generalised multiary application.
◮ Logically, t(u, l, (y)v) comprehends both:
◮ multiary left introduction (for t a variable) ◮ right principal cuts (for t not a variable)
◮ Multiarity is implemented in the style of Herbelin’s LJT/λ-calculus ◮ Co-existence of:
◮ reduction rules (cut-elimination rules and the µ rule); ◮ permutative rules.
SLIDE 21 λJm: the generalised multiary λ-calculus
◮ Multiary sequent terms as a computational interpretation of a
fragment of sequent calculus.
◮ x(u, l, (y)v) is generalised to
t(u, l, (y)v) interpreted as generalised multiary application.
◮ Logically, t(u, l, (y)v) comprehends both:
◮ multiary left introduction (for t a variable) ◮ right principal cuts (for t not a variable)
◮ Multiarity is implemented in the style of Herbelin’s LJT/λ-calculus ◮ Co-existence of:
◮ reduction rules (cut-elimination rules and the µ rule); ◮ permutative rules.
SLIDE 22 λJm: the generalised multiary λ-calculus
◮ Expressions:
(terms) t, u, v ::= x | λx.t | t(u, l, (x)v)
(lists) l ::= [] | u ::l
◮ Sequents:
Γ⊢t :A and Γ;B ⊢l :C
◮ Typing rules:
x :A, Γ⊢x :A Axiom x :A, Γ⊢t :B Γ⊢λx.t :A ⊃ B Right Γ⊢t :A ⊃ B Γ⊢u :A Γ;B ⊢l :C x :C, Γ⊢v :D Γ⊢t(u, l, (x)v):D gm − Elim Γ;C ⊢[]:C Ax Γ⊢u :A Γ;B ⊢l :C Γ;A ⊃ B ⊢u ::l :C Lft
SLIDE 23 λJm: the generalised multiary λ-calculus
◮ Expressions:
(terms) t, u, v ::= x | λx.t | t(u, l, (x)v)
(lists) l ::= [] | u ::l
◮ Sequents:
Γ⊢t :A and Γ;B ⊢l :C
◮ Typing rules:
x :A, Γ⊢x :A Axiom x :A, Γ⊢t :B Γ⊢λx.t :A ⊃ B Right Γ⊢t :A ⊃ B Γ⊢u :A Γ;B ⊢l :C x :C, Γ⊢v :D Γ⊢t(u, l, (x)v):D gm − Elim Γ;C ⊢[]:C Ax Γ⊢u :A Γ;B ⊢l :C Γ;A ⊃ B ⊢u ::l :C Lft
SLIDE 24
Reduction rules
◮ The rules:
(β1) (λx.t)(u, [], (y)v) →β1 s(s(u, x, t), y, v) (β2) (λx.t)(u, v ::l, (y)v) →β2 s(u, x, t)(v, l, (y)v) (π) t(u, l, (x)v)(u′, l′, (y)v ′) →π t(u, l, (x)v(u′, l′, (y)v ′)) (µ) t(u, l, (x)x(u′, l′, (y)v ′)) →µ t(u, a(l, u′ :: l′), (y)v ′) if x ∈ u′, l′, v ′ β = β1 ∪ β2, s stands for ”substitution” and a for ”append”
◮ βπ-nfs correspond to Schwichtenberg’s multiary sequent terms:
t, u, v ::= x | λx.t | x(u, l, (y)v) l ::= u ::l | [] and βπµ-nfs to Schwichtenberg’s multiary sequent terms in µ-nf.
SLIDE 25
Reduction rules
◮ The rules:
(β1) (λx.t)(u, [], (y)v) →β1 s(s(u, x, t), y, v) (β2) (λx.t)(u, v ::l, (y)v) →β2 s(u, x, t)(v, l, (y)v) (π) t(u, l, (x)v)(u′, l′, (y)v ′) →π t(u, l, (x)v(u′, l′, (y)v ′)) (µ) t(u, l, (x)x(u′, l′, (y)v ′)) →µ t(u, a(l, u′ :: l′), (y)v ′) if x ∈ u′, l′, v ′ β = β1 ∪ β2, s stands for ”substitution” and a for ”append”
◮ βπ-nfs correspond to Schwichtenberg’s multiary sequent terms:
t, u, v ::= x | λx.t | x(u, l, (y)v) l ::= u ::l | [] and βπµ-nfs to Schwichtenberg’s multiary sequent terms in µ-nf.
SLIDE 26
Permutative rules of λJm
◮ p-permutations trivialise generality (to t(u, l, (x)x)):
(p1) t(u, l, (x)y) → y, x = y (p2) t(u, l, (x)λy.v) → λy.t(u, l, (x)v) (p3) t1(u1, l1, (x)t2(u2, l2, (y)v)) → t1(u1, l1, (x)t2)(t1(u1, l1, (x)u2), t1(u1, l1, (x)l2), (y)v) if x ∈ v
◮ t(u, l, (y)v) is explicit substitution of t(u, l) for y in v. ◮ q-permutation trivialises multiarity (to t(u, [] , (x)v)):
(q) t(u, v ::l, (x)v ′) → t(u)(v, l, (x)v ′) where t(u) := t(u, [], (z)z)
◮ Permutative conversions ”eliminate” the features added to the
application construction of the λ-calculus and determine subsystems.
SLIDE 27
Permutative rules of λJm
◮ p-permutations trivialise generality (to t(u, l, (x)x)):
(p1) t(u, l, (x)y) → y, x = y (p2) t(u, l, (x)λy.v) → λy.t(u, l, (x)v) (p3) t1(u1, l1, (x)t2(u2, l2, (y)v)) → t1(u1, l1, (x)t2)(t1(u1, l1, (x)u2), t1(u1, l1, (x)l2), (y)v) if x ∈ v
◮ t(u, l, (y)v) is explicit substitution of t(u, l) for y in v. ◮ q-permutation trivialises multiarity (to t(u, [] , (x)v)):
(q) t(u, v ::l, (x)v ′) → t(u)(v, l, (x)v ′) where t(u) := t(u, [], (z)z)
◮ Permutative conversions ”eliminate” the features added to the
application construction of the λ-calculus and determine subsystems.
SLIDE 28
Permutative rules of λJm
◮ p-permutations trivialise generality (to t(u, l, (x)x)):
(p1) t(u, l, (x)y) → y, x = y (p2) t(u, l, (x)λy.v) → λy.t(u, l, (x)v) (p3) t1(u1, l1, (x)t2(u2, l2, (y)v)) → t1(u1, l1, (x)t2)(t1(u1, l1, (x)u2), t1(u1, l1, (x)l2), (y)v) if x ∈ v
◮ t(u, l, (y)v) is explicit substitution of t(u, l) for y in v. ◮ q-permutation trivialises multiarity (to t(u, [] , (x)v)):
(q) t(u, v ::l, (x)v ′) → t(u)(v, l, (x)v ′) where t(u) := t(u, [], (z)z)
◮ Permutative conversions ”eliminate” the features added to the
application construction of the λ-calculus and determine subsystems.
SLIDE 29 Subsystems of λJm
λJm gm-application gm-Elim t(u, l, (x)v) β, π, µ, p, q q
✲
λJ g-Elim generalised application t(u(x)v) := t(u, [], (x)v) β1, π, p φ
✲
λm multiary application m-Elim t(u, l) := t(u, l, (x)x) β, h, q p
❄
q
✲
λ (ordinary) application (ordinary) Elim t(u) := t(u, [], (x)x) β1 p
❄
φ(t(u0, [u1, ..., uk], (x)v)) = s(t′u′
0u′ 1...u′ k, x, v ′)
where ′ abbreviates φ, ie t′ = φ(t), etc.
SLIDE 30
Subsystems and relationship with natural deduction
λJm λm
✛ p
λJ ✛ ∼ = G′ q ✲ . . . . . . . . . ΛJ λ ✛ ∼ = G
✛ p
q ✲ ....................... Λ
✛
sequent calculus natural deduction . . . . . . . . . ◮ Natural deduction is captured internally. ◮ G is Gentzen’s mapping and extends to generalised natural deduction.
SLIDE 31
Subsystems and relationship with natural deduction
λJm λm
✛ p
λJ ✛ ∼ = G′ q ✲ . . . . . . . . . ΛJ λ ✛ ∼ = G
✛ p
q ✲ ....................... Λ
✛
sequent calculus natural deduction . . . . . . . . . ◮ Natural deduction is captured internally. ◮ G is Gentzen’s mapping and extends to generalised natural deduction.
SLIDE 32
Some meta-theory Main results on reduction:
◮ λJm enjoys subject reduction, is confluent and is SN on typable
terms.
◮ λJm is conservative and preserves SN wrt the subsystems.
Main results on permutative rules:
◮ The rewriting system induced by pq is confluent and SN. ◮ φ calculates the pq-nf of a term. ◮ Permutability Thm: φ(t1) = φ(t2) iff t1 =pq t2.
SLIDE 33
PART III β-normal λ-terms in sequent calculus
SLIDE 34 β-normal λ-terms in λJm
◮ Characterisation of β-normal λ-terms (complete combinations):
◮ β1pq-nfs ◮ βpq-nfs ◮ βµpq-nfs
◮ Some comments:
◮ combination of reduction and permutative rules; ◮ no π (β-normal λ-terms are not closed for π); ◮ immediate loss of SN: π−1 ⊆ p.
◮ Thm.(cut-elim. commutes with perm. reduction): For t ∈ λJm:
t βπ
✲ ✲ u
φ(t) pq
❄ ❄
β
✲ ✲ φ(u)
pq
❄ ❄
= β-nf of φ(t) where u=βπ-nf of t
SLIDE 35 β-normal λ-terms in λJm
◮ Characterisation of β-normal λ-terms (complete combinations):
◮ β1pq-nfs ◮ βpq-nfs ◮ βµpq-nfs
◮ Some comments:
◮ combination of reduction and permutative rules; ◮ no π (β-normal λ-terms are not closed for π); ◮ immediate loss of SN: π−1 ⊆ p.
◮ Thm.(cut-elim. commutes with perm. reduction): For t ∈ λJm:
t βπ
✲ ✲ u
φ(t) pq
❄ ❄
β
✲ ✲ φ(u)
pq
❄ ❄
= β-nf of φ(t) where u=βπ-nf of t
SLIDE 36 β-normal λ-terms in λJm
◮ Characterisation of β-normal λ-terms (complete combinations):
◮ β1pq-nfs ◮ βpq-nfs ◮ βµpq-nfs
◮ Some comments:
◮ combination of reduction and permutative rules; ◮ no π (β-normal λ-terms are not closed for π); ◮ immediate loss of SN: π−1 ⊆ p.
◮ Thm.(cut-elim. commutes with perm. reduction): For t ∈ λJm:
t βπ
✲ ✲ u
φ(t) pq
❄ ❄
β
✲ ✲ φ(u)
pq
❄ ❄
= β-nf of φ(t) where u=βπ-nf of t
SLIDE 37 SN fails
◮ Complete combinations for β-normal λ-terms:
◮ enjoy confluence and WN, ◮ but not SN.
◮ Thm.: →β1p is not SN.
Pf: Simulation of the explicit substitution calculus λx, based on the idea N/xM := I(N(x)M) including simulation of the bad rule N/xN′/yM → N/xN′/yM if, x ∈ M
SLIDE 38 SN fails
◮ Complete combinations for β-normal λ-terms:
◮ enjoy confluence and WN, ◮ but not SN.
◮ Thm.: →β1p is not SN.
Pf: Simulation of the explicit substitution calculus λx, based on the idea N/xM := I(N(x)M) including simulation of the bad rule N/xN′/yM → N/xN′/yM if, x ∈ M
SLIDE 39 Two solutions to recover SN
◮ A 1st solution is to replace small-step p-rules by one big-step rule:
(s) t(u, l, (x)v) → s(t(u, l), x, v) if v = x
◮ A 2nd solution is to build garbage-collection in the p rules:
(p′
1)
t(u, l, (x)y) → y, x = y (p′
2)
t(u, l, (x)λy.v) → λy.tu, l, (x)v (p′
3)
t1(u1, l1, (x)t2(u2, l2, (y)v)) → t1u1, l1, (x)t2(t1u1, l1, (x)u2, t1u1, l1, (x)l2, (y)v) if x ∈ v, where: tu, l, (x)v = t(u, l, (x)v) if x ∈ v v if x / ∈ v .
◮ Thm.: →βµp′q is SN.
Pf.: Via a mapping into the explicit substitution calculus λex (by Kesner).
SLIDE 40 Two solutions to recover SN
◮ A 1st solution is to replace small-step p-rules by one big-step rule:
(s) t(u, l, (x)v) → s(t(u, l), x, v) if v = x
◮ A 2nd solution is to build garbage-collection in the p rules:
(p′
1)
t(u, l, (x)y) → y, x = y (p′
2)
t(u, l, (x)λy.v) → λy.tu, l, (x)v (p′
3)
t1(u1, l1, (x)t2(u2, l2, (y)v)) → t1u1, l1, (x)t2(t1u1, l1, (x)u2, t1u1, l1, (x)l2, (y)v) if x ∈ v, where: tu, l, (x)v = t(u, l, (x)v) if x ∈ v v if x / ∈ v .
◮ Thm.: →βµp′q is SN.
Pf.: Via a mapping into the explicit substitution calculus λex (by Kesner).
SLIDE 41 Two solutions to recover SN
◮ A 1st solution is to replace small-step p-rules by one big-step rule:
(s) t(u, l, (x)v) → s(t(u, l), x, v) if v = x
◮ A 2nd solution is to build garbage-collection in the p rules:
(p′
1)
t(u, l, (x)y) → y, x = y (p′
2)
t(u, l, (x)λy.v) → λy.tu, l, (x)v (p′
3)
t1(u1, l1, (x)t2(u2, l2, (y)v)) → t1u1, l1, (x)t2(t1u1, l1, (x)u2, t1u1, l1, (x)l2, (y)v) if x ∈ v, where: tu, l, (x)v = t(u, l, (x)v) if x ∈ v v if x / ∈ v .
◮ Thm.: →βµp′q is SN.
Pf.: Via a mapping into the explicit substitution calculus λex (by Kesner).
SLIDE 42
Borderline between SN and ¬ SN λJm[βµpq] ¬SN SN λJm[βp] λx[B, x, bad] λex ....................................................................................... λx[B, x] λJm[βµp′q] λJm[βp′q]
SLIDE 43
PART IV Refinements
SLIDE 44
So far:
◮ λJm=λ-calculus+generality+multiarity ◮ generality and multiarity as if 2 new independent features ◮ p and q permutations reduce application to its ordinary form
(eliminate/trivialise new features)
◮ pq-nfs=λ-terms ◮ βpq-nfs= β-normal λ-terms
However, this is a big simplification.
SLIDE 45 Refined internal structure of λJm
◮ Generality simulates/is ”stronger” than multiarity. ◮ This is expressed by the ν-rule (the inverse of µ):
(ν) t(u, a(l, u′ :: l′), (y)v) − → t(u, l, (x)x(u′, l′, (y)v)) for x new
◮ Generality splits into:
◮ ”normal generality” (equivalent to multiarity) ◮ ”non-normal generality”.
◮ Accordingly, s (the perm. rule that trivialises generality) splits into:
(r) t(u, l, (x)v) − → s(t(u, l), x, v) if v is x-normal and v = x (γ) t(u, l, (x)v) − → s(t(u, l), x, v) if v not x-normal
SLIDE 46 Refined internal structure of λJm
◮ Generality simulates/is ”stronger” than multiarity. ◮ This is expressed by the ν-rule (the inverse of µ):
(ν) t(u, a(l, u′ :: l′), (y)v) − → t(u, l, (x)x(u′, l′, (y)v)) for x new
◮ Generality splits into:
◮ ”normal generality” (equivalent to multiarity) ◮ ”non-normal generality”.
◮ Accordingly, s (the perm. rule that trivialises generality) splits into:
(r) t(u, l, (x)v) − → s(t(u, l), x, v) if v is x-normal and v = x (γ) t(u, l, (x)v) − → s(t(u, l), x, v) if v not x-normal
SLIDE 47 Refined internal structure of λJm
◮ Generality simulates/is ”stronger” than multiarity. ◮ This is expressed by the ν-rule (the inverse of µ):
(ν) t(u, a(l, u′ :: l′), (y)v) − → t(u, l, (x)x(u′, l′, (y)v)) for x new
◮ Generality splits into:
◮ ”normal generality” (equivalent to multiarity) ◮ ”non-normal generality”.
◮ Accordingly, s (the perm. rule that trivialises generality) splits into:
(r) t(u, l, (x)v) − → s(t(u, l), x, v) if v is x-normal and v = x (γ) t(u, l, (x)v) − → s(t(u, l), x, v) if v not x-normal
SLIDE 48 Refined internal structure of λJm
◮ From 2 to 3 ”dimensions”:
λJm λJm
∼ =
µ, ν
✲ ✛
r λJ
✲
λm
✛
s λJ
✲
becomes
...
λm γ ❄✛
∼ =
µ, ν
✲ •
γ
❄
λ
✛
s
✲
λ
✛
r
✲
SLIDE 49 Normal forms
◮ β-normal λ-terms are just one among 3 equivalent classes of nfs:
(i) the β-nfs of λ-calculus; (ii) the nfs of Herbelin’s λ; (iii) the normal cut-free forms of Mints-Dyckhoff&P.
◮ βγ-nfs are characterised by applications of the form
x(u1, l1, (y1)v1)...(un, ln, (yn)vn) each vi is yi-normal and contains the 3 equivalent classes above:
◮ β-nfs of λ-calculus: vi = yi and li = [] ◮ Herbelin’s nfs: n = 1 and vi = yi ◮ normal cut-free forms: n = 1 and li = []
SLIDE 50 Normal forms
◮ β-normal λ-terms are just one among 3 equivalent classes of nfs:
(i) the β-nfs of λ-calculus; (ii) the nfs of Herbelin’s λ; (iii) the normal cut-free forms of Mints-Dyckhoff&P.
◮ βγ-nfs are characterised by applications of the form
x(u1, l1, (y1)v1)...(un, ln, (yn)vn) each vi is yi-normal and contains the 3 equivalent classes above:
◮ β-nfs of λ-calculus: vi = yi and li = [] ◮ Herbelin’s nfs: n = 1 and vi = yi ◮ normal cut-free forms: n = 1 and li = []
SLIDE 51 The pervasive triangle
◮ There are 3 alternatives to express multiple application:
(1) multiary application; (2) normal generality; (3) iterated application.
(1) t(u, a(l, u′ :: l′), (y)v) ✛ ν/µ
✲ t(u, l, (x)x(u′, l′, (y)v)) (2)
proviso: x / ∈ u′, l′, v t(u, l, (x)x)(u′, l′, (y)v) (3)
✛
r q
✲
◮ Confluent and SN rewrit. systems capture the 3 equiv. classes:
◮ β-nfs of λ-calculus: βγrq ◮ Herbelin’s nfs: βγrq−1 ◮ normal cut-free forms of Mints-Dyckhoff&P.: βγqr −1
SLIDE 52 The pervasive triangle
◮ There are 3 alternatives to express multiple application:
(1) multiary application; (2) normal generality; (3) iterated application.
(1) t(u, a(l, u′ :: l′), (y)v) ✛ ν/µ
✲ t(u, l, (x)x(u′, l′, (y)v)) (2)
proviso: x / ∈ u′, l′, v t(u, l, (x)x)(u′, l′, (y)v) (3)
✛
r q
✲
◮ Confluent and SN rewrit. systems capture the 3 equiv. classes:
◮ β-nfs of λ-calculus: βγrq ◮ Herbelin’s nfs: βγrq−1 ◮ normal cut-free forms of Mints-Dyckhoff&P.: βγqr −1
SLIDE 53 The pervasive triangle
◮ There are 3 alternatives to express multiple application:
(1) multiary application; (2) normal generality; (3) iterated application.
(1) t(u, a(l, u′ :: l′), (y)v) ✛ ν/µ
✲ t(u, l, (x)x(u′, l′, (y)v)) (2)
proviso: x / ∈ u′, l′, v t(u, l, (x)x)(u′, l′, (y)v) (3)
✛
r q
✲
◮ Confluent and SN rewrit. systems capture the 3 equiv. classes:
◮ β-nfs of λ-calculus: βγrq ◮ Herbelin’s nfs: βγrq−1 ◮ normal cut-free forms of Mints-Dyckhoff&P.: βγqr −1
SLIDE 54
Two-stage computation of nfs
◮ For the 3 equiv classes, reduction to nf can be split into 2 stages:
λJm-terms βγ-nfs βγ
❄ ❄ ✛ ✛
rq−1 qr −1
✲ ✲
Herbelin-nfs ✛ µ, ν
✲
rq normal cut-free forms
✛
r q
✲
β-nfs
❄ ❄
SLIDE 55 Final remarks
◮ λJm is a rich and handy tool for doing structural proof theory:
◮ framework that captures internally various systems; ◮ term representation of derivations allows manageable
treatment of transformations on derivations.
◮ λJm is a tool to uncover the computational meaning of
sequent calculus:
◮ the features of application; ◮ the alternative representations of multiple application.
◮ Future goals:
◮ the study is not yet systematic and is biased towards β-normal
λ-terms;
◮ explore the framework to study focalisation.
SLIDE 56 Final remarks
◮ λJm is a rich and handy tool for doing structural proof theory:
◮ framework that captures internally various systems; ◮ term representation of derivations allows manageable
treatment of transformations on derivations.
◮ λJm is a tool to uncover the computational meaning of
sequent calculus:
◮ the features of application; ◮ the alternative representations of multiple application.
◮ Future goals:
◮ the study is not yet systematic and is biased towards β-normal
λ-terms;
◮ explore the framework to study focalisation.
SLIDE 57 Final remarks
◮ λJm is a rich and handy tool for doing structural proof theory:
◮ framework that captures internally various systems; ◮ term representation of derivations allows manageable
treatment of transformations on derivations.
◮ λJm is a tool to uncover the computational meaning of
sequent calculus:
◮ the features of application; ◮ the alternative representations of multiple application.
◮ Future goals:
◮ the study is not yet systematic and is biased towards β-normal
λ-terms;
◮ explore the framework to study focalisation.
SLIDE 58 Final remarks
◮ λJm is a rich and handy tool for doing structural proof theory:
◮ framework that captures internally various systems; ◮ term representation of derivations allows manageable
treatment of transformations on derivations.
◮ λJm is a tool to uncover the computational meaning of
sequent calculus:
◮ the features of application; ◮ the alternative representations of multiple application.
◮ Future goals:
◮ the study is not yet systematic and is biased towards β-normal
λ-terms;
◮ explore the framework to study focalisation.
SLIDE 59 Some references
- R. Dyckhoff and L. Pinto, Permutability of inferences in intuitionistic
sequent calculi, Theoretical Computer Science, 212:141–155, 1999.
ırito Santo and L. Pinto, Permutative conversions in intuitionistic multiary sequent calculus with cuts, TLCA’03, LNCS 2701, 286–300, 2003.
ırito Santo and L. Pinto, Confluence and strong normalisation of the generalised multiary λ-calculus, TYPES 2003, LNCS 3085, 194–209, 2004.
ırito Santo and M.J. Frade and L. Pinto, Structural proof theory as rewriting , RTA’06, LNCS 4098, 197–211, 2006.
ırito Santo and L. Pinto, A calculus of multiary sequent terms, ACM Transactions on Computational Logic, 12:3, art. 22, 2011.
- H. Schwichtenberg, Termination of permutative conversions in
intuitionistic Gentzen calculi, Theoretical Computer Science, 212:247–260, 1999.