SLIDE 1 Uniform Inductive Reasoning in Transitive Closure Logic via Infinite Descent
Liron Cohen 1 Reuben N. S. Rowe 2 Computer Science Logic Wednesday 5th September 2018, Birmingham, UK
1Dept of Computer Science, Cornell University, Ithaca, NY, USA 2School of Computing, University of Kent, Canterbury, UK
SLIDE 2 Non-well-founded Proofs: Syntactic Principles
. . . . . . . .
. . . .
6 (Inference)
· ·
- (Axiom)
- (Axiom)
- (Axiom)
- 5
- We trace syntactic elements
through judgements
- At certain points, there is a notion of ‘progression’
- Each infinite path must admit some infinite descent
- This global trace condition is an
- regular property
- i.e. decidable using Büchi automata
1
SLIDE 3 Non-well-founded Proofs: Syntactic Principles
. . . . . . . .
. . . .
(Inference)
· ·
(Axiom)
∞
- We trace syntactic elements
through judgements
- At certain points, there is a notion of ‘progression’
- Each infinite path must admit some infinite descent
- This global trace condition is an
- regular property
- i.e. decidable using Büchi automata
1
SLIDE 4 Non-well-founded Proofs: Syntactic Principles
. . . . . . . .
. . . . .
(Inference)
τ2 · · · τ1
(Axiom)
(Axiom)
∞
- We trace syntactic elements τ through judgements
- At certain points, there is a notion of ‘progression’
- Each infinite path must admit some infinite descent
- This global trace condition is an
- regular property
- i.e. decidable using Büchi automata
1
SLIDE 5 Non-well-founded Proofs: Syntactic Principles
. . . . . . . .
. . . . .
(Inference)
τ2 · · · τ1
(Axiom)
(Axiom)
∞
- We trace syntactic elements τ through judgements
- At certain points, there is a notion of ‘progression’
- Each infinite path must admit some infinite descent
- This global trace condition is an
- regular property
- i.e. decidable using Büchi automata
1
SLIDE 6 Non-well-founded Proofs: Syntactic Principles
. . . . . . . .
. . . . .
(Inference)
τ2 · · · τ1
(Axiom)
(Axiom)
∞
- We trace syntactic elements τ through judgements
- At certain points, there is a notion of ‘progression’
- Each infinite path must admit some infinite descent
- This global trace condition is an
- regular property
- i.e. decidable using Büchi automata
1
SLIDE 7 Non-well-founded Proofs: Syntactic Principles
. . . . . . . .
. . . . . τ4 . . . . . . . . τ6
(Inference)
τ2 · · · τ1
(Axiom)
(Axiom)
τ5
- We trace syntactic elements τ through judgements
- At certain points, there is a notion of ‘progression’
- Each infinite path must admit some infinite descent
- This global trace condition is an ω-regular property
- i.e. decidable using Büchi automata
1
SLIDE 8 Non-well-founded Proofs: Soundness via Infinite Descent
. . . . . . . .
J3[τ3] . . . . .
(Inference)
M2 J2[τ2] · · · M1 J1[τ1]
(Axiom)
- ∞
- Assume for contradiction that the conclusion is invalid
- Local soundness
counter-models M1 M2 M3
- We demonstrate a mapping into well-founded D
s.t.
1
M2 J2
2
M3 J3
3
2
M3 J3
3 for progression points
infinitely descending chain in D!
2
SLIDE 9 Non-well-founded Proofs: Soundness via Infinite Descent
. . . . . . . .
J3[τ3] . . . . .
(Inference)
M2 J2[τ2] · · · M1 ⊭ J1[τ1]
(Axiom)
- ∞
- Assume for contradiction that the conclusion is invalid
- Local soundness
counter-models M1 M2 M3
- We demonstrate a mapping into well-founded D
s.t.
1
M2 J2
2
M3 J3
3
2
M3 J3
3 for progression points
infinitely descending chain in D!
2
SLIDE 10 Non-well-founded Proofs: Soundness via Infinite Descent
. . . . . . . .
. . . . .
(Inference)
M2 ⊭ J2[τ2] · · · M1 ⊭ J1[τ1]
(Axiom)
- ∞
- Assume for contradiction that the conclusion is invalid
- Local soundness ⇒ counter-models M1, M2, M3, . . .
- We demonstrate a mapping into well-founded D
s.t.
1
M2 J2
2
M3 J3
3
2
M3 J3
3 for progression points
infinitely descending chain in D!
2
SLIDE 11 Non-well-founded Proofs: Soundness via Infinite Descent
. . . . . . . .
. . . . .
(Inference)
M2 ⊭ J2[τ2] · · · M1 ⊭ J1[τ1]
(Axiom)
- ∞
- Assume for contradiction that the conclusion is invalid
- Local soundness ⇒ counter-models M1, M2, M3, . . .
- We demonstrate a mapping into well-founded (D, <) s.t.
- M1J1[τ1] ≤ M2J2[τ2] ≤ M3J3[τ3] ≤ . . .
- M2 J2
2
M3 J3
3 for progression points
infinitely descending chain in D!
2
SLIDE 12 Non-well-founded Proofs: Soundness via Infinite Descent
. . . . . . . .
. . . . .
(Inference)
M2 ⊭ J2[τ2] · · · M1 ⊭ J1[τ1]
(Axiom)
- ∞
- Assume for contradiction that the conclusion is invalid
- Local soundness ⇒ counter-models M1, M2, M3, . . .
- We demonstrate a mapping into well-founded (D, <) s.t.
- M1J1[τ1] ≤ M2J2[τ2] ≤ M3J3[τ3] ≤ . . .
- M2J2[τ2] < M3J3[τ3] for progression points
- Global trace condition
infinitely descending chain in D!
2
SLIDE 13 Non-well-founded Proofs: Soundness via Infinite Descent
. . . . . . . .
. . . . .
(Inference)
M2 ⊭ J2[τ2] · · · M1 ⊭ J1[τ1]
(Axiom)
- ∞
- Assume for contradiction that the conclusion is invalid
- Local soundness ⇒ counter-models M1, M2, M3, . . .
- We demonstrate a mapping into well-founded (D, <) s.t.
- M1J1[τ1] ≤ M2J2[τ2] ≤ M3J3[τ3] ≤ . . .
- M2J2[τ2] < M3J3[τ3] for progression points
- Global trace condition ⇒ infinitely descending chain in D!
2
SLIDE 14 Why Study Non-well-founded Proof Theory?
Non-well-founded/cyclic proof theory allows to:
- Obtain (cut-free) completeness results
µ-calculus: Fortier&Santocanale, Afshari&Leigh, Doumane Et Al. Kleene Algebra: Das&Pous
- Effectively search for proofs of inductive properties
- Automatically verify properties of programs
[Brotherston, Bornat, Calcagno, Gorogiannis, Peterson, R, Tellez]
- Formally study explicit induction vs infinite descent
µ-calculus: Santocanale, Sprenger&Dam, Baelde Et Al., Nollet Et Al.
- Ind. Defs: Brotherston&Simpson, Berardi&Tatsuta
Arithmetic: Simpson, Das 3
SLIDE 15 Example: Martin-Löf-style Inductive Predicates in FOL
- We give productions for each ‘inductive’ predicate Pi
Q1(⃗ s1) . . . Qn(⃗ sn) Pi( ⃗ t)
- We take the smallest interpretation closed under the rules
N 0 N x N sx E 0 O x E sx E x O sx N = {0, s0, ss0, . . . , sn 0, . . . } E = {0, ss0, . . . , s2n 0, . . . } O = {s0, . . . , s2n+1 0, . . . }
4
SLIDE 16 Example: Martin-Löf-style Inductive Predicates in FOL
- We give productions for each ‘inductive’ predicate Pi
Q1(⃗ s1) . . . Qn(⃗ sn) Pi( ⃗ t)
- We take the smallest interpretation closed under the rules
N 0 N x N sx E 0 O x E sx E x O sx N0 = { 0 s0 ss0 sn 0 } E0 = { 0 ss0 s2n 0 } O0 = { s0 s2n
1 0
}
4
SLIDE 17 Example: Martin-Löf-style Inductive Predicates in FOL
- We give productions for each ‘inductive’ predicate Pi
Q1(⃗ s1) . . . Qn(⃗ sn) Pi( ⃗ t)
- We take the smallest interpretation closed under the rules
N 0 N x N sx E 0 O x E sx E x O sx N1 = {0, s0 ss0 sn 0 } E1 = {0, ss0 s2n 0 } O1 = { s0 s2n
1 0
}
4
SLIDE 18 Example: Martin-Löf-style Inductive Predicates in FOL
- We give productions for each ‘inductive’ predicate Pi
Q1(⃗ s1) . . . Qn(⃗ sn) Pi( ⃗ t)
- We take the smallest interpretation closed under the rules
N 0 N x N sx E 0 O x E sx E x O sx N2 = {0, s0, ss0 sn 0 } E2 = {0, ss0 s2n 0 } O2 = {s0, s2n
1 0
}
4
SLIDE 19 Example: Martin-Löf-style Inductive Predicates in FOL
- We give productions for each ‘inductive’ predicate Pi
Q1(⃗ s1) . . . Qn(⃗ sn) Pi( ⃗ t)
- We take the smallest interpretation closed under the rules
N 0 N x N sx E 0 O x E sx E x O sx N3 = {0, s0, ss0, sn 0 } E3 = {0, ss0, s2n 0 } O3 = {s0, s2n
1 0
}
4
SLIDE 20 Example: Martin-Löf-style Inductive Predicates in FOL
- We give productions for each ‘inductive’ predicate Pi
Q1(⃗ s1) . . . Qn(⃗ sn) Pi( ⃗ t)
- We take the smallest interpretation closed under the rules
N 0 N x N sx E 0 O x E sx E x O sx Nω = {0, s0, ss0, . . . , sn 0, . . . } Eω = {0, ss0, . . . , s2n 0, . . . } Oω = {s0, . . . , s2n+1 0, . . . }
4
SLIDE 21
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x
5
SLIDE 22
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x Left unfolding rule
5
SLIDE 23
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x Left unfolding rule
5
SLIDE 24
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x Right unfolding rule
5
SLIDE 25
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x Right unfolding rule
5
SLIDE 26
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x Right unfolding rule
5
SLIDE 27
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x
5
SLIDE 28
Example: A Cyclic Proof
⇒ N 0 N x ⇒ N sx ⇒ E 0 O x ⇒ E sx E x ⇒ O sx (N R1) ⊢ N 0 (=L) x = 0 ⊢ N x E x ⊢ N x (Subst) E z ⊢ N z (N R2) E z ⊢ N sz (=L) y = sz, E z ⊢ N y (Case O) O y ⊢ N y (N R2) O y ⊢ N sy (=L) x = sy, O y ⊢ N x (Case E) E x ⊢ N x
5
SLIDE 29 Cyclic Proof vs Explicit Induction
- To reason explicitly by induction is more complex,
involving an induction formula F
Γ ⊢ INDQi(F) (∀Qi mutually recursive with P) Γ, F( ⃗ t) ⊢ ∆ Γ, P⃗ t ⊢ ∆
- E.g. the productions ⇒ N 0 and N x ⇒ N sx give
Γ ⊢ F(0) Γ, F(x) ⊢ F(sx) Γ, F(t) ⊢ ∆ Γ, N t ⊢ ∆
- Implicit induction using unfolding conceptually simpler
- Induction schemes captured using cycles
6
SLIDE 30 Non-well-founded Proofs: Some Meta-theory
For FOL with Inductive Definitions:
- Non-well-founded proof system LKIDω sound and cut-free complete for
standard semantics
- Explicit induction system LKID sound and cut-free complete for a
Henkin-style semantics
- Cyclic system CLKIDω subsumes explicit induction
[Brotherston & Simpson, LICS’07, JL&C’11]
- CLKIDω and LKID equivalent under arithmetic
[Berardi & Tatsuta, LICS’17] [Simpson, FoSSaCS’17]
- CLKIDω and LKID not equivalent in general (2-Hydra counterexample)
[Berardi & Tatsuta, FoSSaCS’17]
7
SLIDE 31 Transitive Closure Logic
Transitive Closure (TC) Logic extends FOL with formulas:
- (RTCx,y φ)(s, t)
- φ is a formula
- x and y are distinct variables (which become bound in φ)
- s and t are terms
whose intended meaning is an infinite disjunction s = t ∨ φ[s/x, t/y] ∨ (∃w1 . φ[s/x, w1/y] ∧ φ[w1/x, t/y]) ∨ (∃w1, w2 . φ[s/x, w1/y] ∧ φ[w1/x, w2/y] ∧ φ[w2/x, t/y]) ∨ . . .
8
SLIDE 32 Transitive Closure Logic
The formal semantics:
- M is a (standard) first-order model with domain D
- v is a valuation of terms in M:
M, v | = (RTCx,y φ)(s, t) a0 an D v s a0 v t an M v x ai y ai
1
for all i n
a0 a1 a2 an
1
an v s v t
8
SLIDE 33 Transitive Closure Logic
The formal semantics:
- M is a (standard) first-order model with domain D
- v is a valuation of terms in M:
M, v | = (RTCx,y φ)(s, t) ⇔ ∃a0, . . . , an ∈ D v s a0 v t an M v x ai y ai
1
for all i n
a0 a1 a2 an−1 an v s v t
. . .
8
SLIDE 34 Transitive Closure Logic
The formal semantics:
- M is a (standard) first-order model with domain D
- v is a valuation of terms in M:
M, v | = (RTCx,y φ)(s, t) ⇔ ∃a0, . . . , an ∈ D . v(s) = a0 ∧ v(t) = an M v x ai y ai
1
for all i n
a0 a1 a2 an−1 an v(s) v(t)
. . .
8
SLIDE 35 Transitive Closure Logic
The formal semantics:
- M is a (standard) first-order model with domain D
- v is a valuation of terms in M:
M, v | = (RTCx,y φ)(s, t) ⇔ ∃a0, . . . , an ∈ D . v(s) = a0 ∧ v(t) = an ∧ M, v[x := ai, y := ai+1] | = φ for all i < n
a0 a1 a2 an−1 an v(s) v(t)
φ φ φ φ
8
SLIDE 36 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality
and pairing Nat(x) ≡ (RTCv,w sv = w)(0, x) x y RTCv w sv w x y “x y z” RTCv w n1 n2 v n1 n2 w sn1 sn2 0 y z x
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
s0 ss0 sn-1 0 x
s· = · s· = · s· = · s· = ·
0 y s0 sy ss0 ssy sz 0 sz y 9
SLIDE 37 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality
and pairing Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x y z” RTCv w n1 n2 v n1 n2 w sn1 sn2 0 y z x
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
x sx ssx sn-1 x y
s· = · s· = · s· = · s· = ·
0 y s0 sy ss0 ssy sz 0 sz y 9
SLIDE 38 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality and pairing
Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x = y + z” ≡ (RTCv,w ∃n1, n2 . v = ⟨n1, n2⟩ ∧ w = ⟨sn1, sn2⟩)(⟨0, y⟩, ⟨z, x⟩)
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
x sx ssx sn 1 x y
s s s s
0 y s0 sy ss0 ssy sz 0 sz y 9
SLIDE 39 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality and pairing
Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x = y + z” ≡ (RTCv,w ∃n1, n2 . v = ⟨n1, n2⟩ ∧ w = ⟨sn1, sn2⟩)(⟨0, y⟩, ⟨z, x⟩)
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
x sx ssx sn 1 x y
s s s s
⟨0, y⟩ s0 sy ss0 ssy sz 0 sz y 9
SLIDE 40 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality and pairing
Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x = y + z” ≡ (RTCv,w ∃n1, n2 . v = ⟨n1, n2⟩ ∧ w = ⟨sn1, sn2⟩)(⟨0, y⟩, ⟨z, x⟩)
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
x sx ssx sn 1 x y
s s s s
⟨0, y⟩ ⟨s0, sy⟩ ss0 ssy sz 0 sz y 9
SLIDE 41 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality and pairing
Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x = y + z” ≡ (RTCv,w ∃n1, n2 . v = ⟨n1, n2⟩ ∧ w = ⟨sn1, sn2⟩)(⟨0, y⟩, ⟨z, x⟩)
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
x sx ssx sn 1 x y
s s s s
⟨0, y⟩ ⟨s0, sy⟩ ⟨ss0, ssy⟩ sz 0 sz y 9
SLIDE 42 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality and pairing
Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x = y + z” ≡ (RTCv,w ∃n1, n2 . v = ⟨n1, n2⟩ ∧ w = ⟨sn1, sn2⟩)(⟨0, y⟩, ⟨z, x⟩)
- The following characterise natural numbers in TC:
x sx x y s x s y x y x Nat x
x sx ssx sn 1 x y
s s s s
⟨0, y⟩ ⟨s0, sy⟩ ⟨ss0, ssy⟩ ⟨sz 0, sz y⟩ 9
SLIDE 43 Example: Arithmetic in TC
- Take a signature Σ = {0, s} + equality and pairing
Nat(x) ≡ (RTCv,w sv = w)(0, x) x ≤ y ≡ (RTCv,w sv = w)(x, y) “x = y + z” ≡ (RTCv,w ∃n1, n2 . v = ⟨n1, n2⟩ ∧ w = ⟨sn1, sn2⟩)(⟨0, y⟩, ⟨z, x⟩)
- The following characterise natural numbers in TC:
∀x . sx ̸= 0 ∀x, y . s(x) = s(y) → x = y ∀x . Nat(x)
x sx ssx sn 1 x y
s s s s
0 y s0 sy ss0 ssy sz 0 sz y 9
SLIDE 44 Why Study TC and its Non-well-founded Proof Theory?
- Provides a uniform way to express inductive definitions
- Single framework for modelling many areas of CS
- Better for automated reasoning?
- It is a minimal, yet expressive, extension of FOL
Theorem (Avron ’03, Thm. 3)
All finitely inductively definable relations† are definable in TC.
- A. Avron, Transitive Closure and the Mechanization of Mathematics.
- Alternative setting for studying cyclic vs explicit induction
- No need to ‘choose’ predicates up-front
- Uniformity makes meta-theory more straightforward
- Displays some subtle but important differences with FOL+ID
†as formalised in: S. Feferman, Finitary Inductively Presented Logics, 1989
10
SLIDE 45
Implicit and Explicit Induction Rules for TC
reflexivity ⊢ (RTCx,y φ)(t, t) step Γ ⊢ ∆, (RTCx,y φ)(s, r) Γ ⊢ ∆, φ[r/x, t/y] Γ ⊢ ∆, (RTCx,y φ)(s, t) case-split Γ, s = t ⊢ ∆ Γ, (RTCx,y φ)(s, z), φ[z/x, t/y] ⊢ ∆
(z fresh)
Γ, (RTCx,y φ)(s, t) ⊢ ∆ induction s x x x y y x t x RTCx y s t x fv and y fv
11
SLIDE 46
Implicit and Explicit Induction Rules for TC
reflexivity ⊢ (RTCx,y φ)(t, t) step Γ ⊢ ∆, (RTCx,y φ)(s, r) Γ ⊢ ∆, φ[r/x, t/y] Γ ⊢ ∆, (RTCx,y φ)(s, t) case-split Γ, s = t ⊢ ∆ Γ, (RTCx,y φ)(s, z), φ[z/x, t/y] ⊢ ∆
(z fresh)
Γ, (RTCx,y φ)(s, t) ⊢ ∆ induction s x x x y y x t x RTCx y s t x fv and y fv
11
SLIDE 47
Implicit and Explicit Induction Rules for TC
reflexivity ⊢ (RTCx,y φ)(t, t) step Γ ⊢ ∆, (RTCx,y φ)(s, r) Γ ⊢ ∆, φ[r/x, t/y] Γ ⊢ ∆, (RTCx,y φ)(s, t) case-split Γ, s = t ⊢ ∆ Γ, (RTCx,y φ)(s, z), φ[z/x, t/y] ⊢ ∆
(z fresh)
Γ, (RTCx,y φ)(s, t) ⊢ ∆ induction Γ ⊢ ∆, ψ[s/x] Γ, ψ(x), φ(x, y) ⊢ ∆, ψ[y/x] Γ, ψ[t/x] ⊢ ∆ Γ, (RTCx,y φ)(s, t) ⊢ ∆ x ̸∈ fv(Γ, ∆) and y ̸∈ fv(Γ, ∆, ψ)
11
SLIDE 48 Proof-theoretic Results for TC
- Non-well-founded system RTCω
G sound + cut-free complete for
standard semantics
- Explicit induction system RTCG sound + cut-free complete for a
Henkin-style semantics
- Cyclic system subsumes explicit induction
RTCG ⊆ NCRTCω
G (non-overlapping cycles) ⊆ CRTCω G
- Systems with arithmetic are equivalent
- 2-Hydra counterexample does not show RTCG
CRTCG
- Relies on not being able to express ordering on numbers
- TC allows all inductive definitions ‘at once’
RTCG A PAG CAG CRTCG A
12
SLIDE 49 Proof-theoretic Results for TC
- Non-well-founded system RTCω
G sound + cut-free complete for
standard semantics
- Explicit induction system RTCG sound + cut-free complete for a
Henkin-style semantics
- Cyclic system subsumes explicit induction
RTCG ⊆ NCRTCω
G (non-overlapping cycles) ⊆ CRTCω G
- Systems with arithmetic are equivalent
- 2-Hydra counterexample does not show RTCG
CRTCG
- Relies on not being able to express ordering on numbers
- TC allows all inductive definitions ‘at once’
RTCG+A PAG CAG CRTCω
G +A
12
SLIDE 50 Proof-theoretic Results for TC
- Non-well-founded system RTCω
G sound + cut-free complete for
standard semantics
- Explicit induction system RTCG sound + cut-free complete for a
Henkin-style semantics
- Cyclic system subsumes explicit induction
RTCG ⊆ NCRTCω
G (non-overlapping cycles) ⊆ CRTCω G
- Systems with arithmetic are equivalent
- 2-Hydra counterexample does not show RTCG
CRTCG
- Relies on not being able to express ordering on numbers
- TC allows all inductive definitions ‘at once’
RTCG+A PAG CAG CRTCω
G +A
C & Avron, ’15
12
SLIDE 51 Proof-theoretic Results for TC
- Non-well-founded system RTCω
G sound + cut-free complete for
standard semantics
- Explicit induction system RTCG sound + cut-free complete for a
Henkin-style semantics
- Cyclic system subsumes explicit induction
RTCG ⊆ NCRTCω
G (non-overlapping cycles) ⊆ CRTCω G
- Systems with arithmetic are equivalent
- 2-Hydra counterexample does not show RTCG
CRTCG
- Relies on not being able to express ordering on numbers
- TC allows all inductive definitions ‘at once’
RTCG+A PAG CAG CRTCω
G +A
C & Avron, ’15 Simpson, ’17
12
SLIDE 52 Proof-theoretic Results for TC
- Non-well-founded system RTCω
G sound + cut-free complete for
standard semantics
- Explicit induction system RTCG sound + cut-free complete for a
Henkin-style semantics
- Cyclic system subsumes explicit induction
RTCG ⊆ NCRTCω
G (non-overlapping cycles) ⊆ CRTCω G
- Systems with arithmetic are equivalent
- 2-Hydra counterexample does not show RTCG
CRTCG
- Relies on not being able to express ordering on numbers
- TC allows all inductive definitions ‘at once’
RTCG+A PAG CAG CRTCω
G +A
C&R C & Avron, ’15 Simpson, ’17
12
SLIDE 53 Proof-theoretic Results for TC
- Non-well-founded system RTCω
G sound + cut-free complete for
standard semantics
- Explicit induction system RTCG sound + cut-free complete for a
Henkin-style semantics
- Cyclic system subsumes explicit induction
RTCG ⊆ NCRTCω
G (non-overlapping cycles) ⊆ CRTCω G
- Systems with arithmetic are equivalent
- 2-Hydra counterexample does not show RTCG ⊊ CRTCω
G
- Relies on not being able to express ordering on numbers
- TC allows all inductive definitions ‘at once’
PAG CAG
12
SLIDE 54 Future Work
- open question of equivalence for RTCG, NCRTCω
G and CRTCω G
G to support automated reasoning.
- Use TC to better study implicit vs explicit induction.
- Adapt TC for coinductive reasoning?
13
SLIDE 55 (Non-reflexive) transitive closure is a least fixed point R+ = µX.ΨR(X) ΨR(S) = R ∪ (R ◦ S) The greatest fixed point gives the transitive co-closure
- Pairs (s, t) in νX.ΨR(X) are those connected by a possibly
infinite number of R-steps
x,y φ)(s, t) to denote that (s, t) is in the
reflexive, transitive co-closure of φ
SLIDE 56
We have the following standard semantics M, v | = (RTCop
x,y φ)(s, t) ⇔
∃(⃗ ai)i≥0 . ∀i ≥ 0 . ai = v(t) ∨ M, v[x := ai, y := ai+1] | = φ E.g. The following formula defines possibly infinite lists (RTCop
x,y ∃z . x = cons(z, y))(v, [])