The strength of the SCT criterion Silvia Steila joint work with - - PowerPoint PPT Presentation

the strength of the sct criterion
SMART_READER_LITE
LIVE PREVIEW

The strength of the SCT criterion Silvia Steila joint work with - - PowerPoint PPT Presentation

The strength of the SCT criterion Silvia Steila joint work with Emanuele Frittaion and Keita Yokoyama University of Bern JAIST February 28th, 2017 A first informal question Assume that a child really likes biscuits, he has z -many biscuits.


slide-1
SLIDE 1

The strength of the SCT criterion

Silvia Steila

joint work with Emanuele Frittaion and Keita Yokoyama University of Bern

JAIST February 28th, 2017

slide-2
SLIDE 2

A first informal question

Assume that a child really likes biscuits, he has z-many biscuits. Assume that his grandmother gave him x-many gold coins and y-many silver coins to buy biscuits by pursuing the following rules at each purchase:

◮ the child may spend one silver coin to duplicate his number of

biscuits;

◮ the child may spend one gold coin and all his silver coins to

duplicate his number of biscuits and to get one silver coin for every biscuit he has.

Does the child get infinitely many biscuits?

slide-3
SLIDE 3

A first formal question

f(x,y,z) := if ( x = 0 OR y = 0 ) then (x,y,z); else if (y > 1) then c0: f( x, y-1, 2*z ); else c1: f( x-1, 2*z, 2*z )

Does this program terminate for any x, y and z?

slide-4
SLIDE 4

Programs

We consider a basic first order functional language: x ∈ Par parameter identifier f ∈ Fun function identifier

  • ∈ Op primitive operator

a ∈ AExp arithmetic expression ::= x | x + 1 | x − 1 | o(a, . . . , a) | f (a, . . . , a) b ∈ BExp boolean expression ::= x = 0 | x = 1 | x < y | x ≤ y | b ∧ b | b ∨ b | ¬b e ∈ Exp expression ::= a | if b then e else e d ∈ Def function definition ::= f (x0, . . . , xn−1) = e P ∈ Prog program ::= d0, . . . , dm−1

slide-5
SLIDE 5

Size change Graphs

Let P be a program and f , g ∈ Fun(P).

◮ A size-change graph G : f → g for P is a bipartite graph on

(Par(f ), Par(g)).

◮ The set of edges is a subset of Par(f ) × {↓, ⇓} × Par(g) such that

there is at most one edge for any x ∈ Par(f ) and y ∈ Par(g). x y z x y z ⇓ ↓ f is the source function of G and g is the target function of G.

slide-6
SLIDE 6

Safe size change Graphs

A size-change graph G : f → g for a call τ : f → g is safe if it reflects the relationship between the parameter values in the program call. f(x,y,z) := if ( x = 0 OR y = 0 ) then (x,y,z); else if (y > 1) c0: f(x,y-1, 2*z) else c1: f(x-1,2*z,2*z). x y z Gc0 x y z x y z Gc1 x y z ⇓ ↓ ↓

slide-7
SLIDE 7

Composition of size change graphs

x y z G0 x y z x y z G1 x y z ⇓ ⇓ ↓ ↓ ⇓ x y z G0; G1 x y z ⇓ ↓

slide-8
SLIDE 8

Multipaths and Threads

◮ G is idempotent if G; G = G. ◮ Given a finite set of size-change graphs G, cl(G) is the smallest set

which contains G and is closed by composition.

◮ A multipath M is a sequence G0, . . . , Gn, . . . of graphs such that

the target function of Gi is the source function of Gi+1 for all i.

◮ A thread is a connected path of edges in M that starts at some Gt,

where t ∈ N.

◮ A multipath M has infinite descent if some thread in M contains

infinitely many decreasing edges.

slide-9
SLIDE 9

SCT Criterion

◮ A description G of P is a finite set of size-change graphs such that

to every call τ : f → g of P corresponds exactly one Gτ ∈ G.

◮ A description G of P is safe if each graph in G is safe. ◮ We say that a description G of P is size-change terminating (SCT) if

every infinite multipath M = G0, . . . , Gn, . . . , where every graph Gn ∈ G, has an infinite descent. Theorem (Lee, Jones, Ben Amram 2001) A program P is SCT iff every idempotent G ∈ cl(GP) has an arc x

− → x.

slide-10
SLIDE 10

SCT Criterion

◮ A description G of P is a finite set of size-change graphs such that

to every call τ : f → g of P corresponds exactly one Gτ ∈ G.

◮ A description G of P is safe if each graph in G is safe. ◮ We say that a description G of P is size-change terminating (SCT) if

every infinite multipath M = G0, . . . , Gn, . . . , where every graph Gn ∈ G, has an infinite descent. Theorem (Lee, Jones, Ben Amram 2001) Let G be a description of P. Then G is SCT iff every idempotent G ∈ cl(G) has an arc x

− → x.

slide-11
SLIDE 11

From SCT to termination

◮ A multipath M has infinite descent if some thread in M contains

infinitely many decreasing edges.

◮ We say that a description G of P is size-change terminating (SCT) if

every infinite multipath M = G0, . . . , Gn, . . . , where every graph Gn ∈ G, has an infinite descent.

◮ A program P with a safe SCT description does not have infinite

state transition sequences.

◮ Thus the existence of a safe SCT description is a sufficient condition

for termination.

slide-12
SLIDE 12

An answer

f(x,y,z) := if ( x = 0 OR y = 0 ) then (x,y,z); else if (y > 1) then c0: f( x, y-1, 2*z ); else c1: f( x-1, 2*z, 2*z ) A safe description: x y z Gc0 x y z x y z Gc1 x y z ⇓ ↓ ↓ Since every idempotent G ∈ cl(G) has an arc x

− → x, then the program terminates.

slide-13
SLIDE 13

A second question

f(x,y,z) := if ( x = 0 OR y = 0 ) then (x,y,z); else if (y > 1) then c0: f( x, y-1, 2*z ); else c1: f( x-1, 2*z, 2*z )

Where can we prove that this program terminates?

slide-14
SLIDE 14

Reverse Mathematics

Given a theorem of ordinary mathematics, what is the weakest subsystem

  • f second order arithmetic in which it is provable?

◮ RCA0: axioms of arithmetic, Σ0 1-induction, ∆0 1-comprehension. ◮ WKL0: RCA0, Σ0 1-separation. ◮ ACA0: RCA0, arithmetical comprehension. ◮ ATR0: ACA0, Σ1 1-separation. ◮ Π1 1-CA0: ACA0, Π1 1-comprehension.

Γ-induction: for any ϕ(x) in Γ, (ϕ(0) ∧ ∀n(ϕ(n) = ⇒ ϕ(S(n)))) = ⇒ ∀nϕ(n). Γ-comprehension: for any ϕ(x) in Γ, ∃X∀n(n ∈ X ⇐ ⇒ ϕ(n)). Γ-separation: for any ψ(x), ϕ(x) in Γ which are exclusive, ∃X∀n((ψ(n) = ⇒ n ∈ X) ∧ (ϕ(n) = ⇒ n / ∈ X)).

slide-15
SLIDE 15

Where can we prove that this program terminates?

◮ In which subsystem can we prove the SCT criterion? ◮ In which subsystem can we prove that every SCT program

terminates? (i.e. Soundness)

slide-16
SLIDE 16

A safe description for Ackerman

A(x,y) := if ( x = 0) then y+1; else if (y = 0) then c0: A(x-1,1); else c1: A(x-1, c2: A(x,y-1)) x y Gc0,c1 x y x y Gc2 x y ↓ ↓ ⇓

slide-17
SLIDE 17

Infinite Ramsey Theorem for pairs

If you have N-many people at a party then either there exists an infinite subset whose members all know each other or an infinite subset none of whose members know each other. (RT1

k) For any c : N → k there exists i < k such that c(x) = i

for infinitely many x. (RT1) ∀k ∈ N RT1

k.

(RT2

k) For any c : [N]2 → k there exists an infinite homogeneous

set X ⊆ N, that is c′′[X]2 is constant. (RT2) ∀k ∈ N RT2

k.

slide-18
SLIDE 18

Some corollaries of Ramsey’s Theorem

(Triangk) For any coloring c : [N]2 → k there exist i ∈ k and t ∈ N such that c(t, m) = c(t, l) = c(m, l) = i for infinitely many pairs {m, l}. (Triang) ∀k ∈ N Triangk. (SPPk) For any coloring c : N → k there exists I ⊆ k such that i ∈ I iff i < k and c(x) = i for infinitely many x. (SPP) ∀k ∈ N SPPk.

slide-19
SLIDE 19

Where can we prove the SCT criterion?

Theorem (Frittaion, S., Yokoyama 2016) Over RCA0:

◮ Triang implies the SCT criterion. ◮ SCT criterion implies SPP. ◮ IΣ0 2 implies Triang.

slide-20
SLIDE 20

One direction of the SCT criterion is already provable in RCA0

Proposition (RCA0) Let G be a finite set of size-change graphs. If every multipath M = G0, . . . , Gn, . . . has an infinite descent, then every idempotent G ∈ cl(G) has an arc x

− → x.

◮ Let G be idempotent. ◮ Then M = G, G, . . . , G, . . . is a multipath. ◮ By hypothesis there exists an infinite descent. ◮ Define an infinite sequence x0, x1, x2, . . . such that xi ↓

− → xi+1 ∈ G.

◮ By the finite pigeonhole principle there exist i < j such that

x = xi = xj.

◮ By idempotence of G, x ↓

− → x ∈ G.

slide-21
SLIDE 21

Triang implies the SCT criterion.

◮ Let Mπ = G0, . . . , Gn, . . . . ◮ Define c(i, j) = Gi; . . . ; Gj−1. ◮ By Triang|cl(G)| to c, there exist t and G ∈ cl(G) such that

∀n∃m, l(n < m < l ∧ t < m ∧ c(t, m) = c(t, l) = c(m, l) = G).

◮ G is idempotent, indeed G; G = c(t, m); c(m, l) = c(t, l) = G. ◮ By hypothesis, we have that there exists x ↓

− → x ∈ G.

◮ We prove that there exists an infinite descent starting from x in Gt.

slide-22
SLIDE 22

SCT criterion implies SPP - Case k = 2

◮ G = {G0, G1, G2}. ◮ For i < 3, the graph Gi has only one strict arc zi ↓

− → zi and non-strict arcs zj

− → zj for j > i.

◮ Define:

g(x) =      if c(x) = 0 ∧ c(x + 1) = 0 1 if c(x) = 1 ∧ c(x + 1) = 1 2

  • therwise

◮ Consider the multipath M = Gg(0), Gg(1), . . . By the SCT criterion, it

has an infinite descent.

◮ There exists a parameter zi such that zi ↓

− → zi ∈ Gg(x) (g(x) = i) for infinitely many x.

◮ If i < 2, it means that from some point on c(x) = i and so I = {i}. ◮ If i = 2 the color changes infinitely many times and so I = {0, 1}.

slide-23
SLIDE 23

IΣ0

2 implies Triang

◮ (Slaman and Yokoyama) RT2 is Π1 1-conservative over BΣ0 3. ◮ A statement is

Π0

4 if it is of the form ∀Xϕ(X) and ϕ(X) ∈ Π0 4. ◮ (e.g. Hajek and Pudl´

ak) BΣ0

3 is

Π0

4-conservative over IΣ0 2. ◮ Triang is

Π0

4.

Where BΣ0

3 is the the bounding principle for Σ0 3-formulas: for every σ0 3

formula ϕ: ∀m[(∀i < m∃uϕ(i, u)) = ⇒ ∃v(∀i < m∃u < vϕ(i, u))]

slide-24
SLIDE 24

Where can we prove soundness?

Since the SCT criterion is not provable in RCA0:

◮ Let G a safe description of P. G is MSCT if it is SCT. ◮ Let G a safe description of P. G is ISCT if every idempotent

G ∈ cl(G) has an arc x

− → x. Questions:

◮ If P is MSCT, then P terminates? ◮ If P is ISCT, then P terminates?

slide-25
SLIDE 25

Work in progress

Over RCA0: WO(ωωω) = ISCT soundness ≥ MSCT soundness > WO(ωω).

slide-26
SLIDE 26

Work in progress

Over RCA0: WO(ωωω) = ISCT soundness ≥ MSCT soundness > WO(ωω). >? =?

slide-27
SLIDE 27

Work in progress

Over RCA0: WO(ωωω) = ISCT soundness ≥ MSCT soundness > WO(ωω). >? =? Thank you!