Certification Problem

Input (TPDB TRS_Standard/AProVE_06/tower_sizeChange)

The rewrite relation of the following TRS is considered.

tower(x) f(a,x,s(0)) (1)
f(a,0,y) y (2)
f(a,s(x),y) f(b,y,s(x)) (3)
f(b,y,x) f(a,half(x),exp(y)) (4)
exp(0) s(0) (5)
exp(s(x)) double(exp(x)) (6)
double(0) 0 (7)
double(s(x)) s(s(double(x))) (8)
half(0) double(0) (9)
half(s(0)) half(0) (10)
half(s(s(x))) s(half(x)) (11)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

Using the linear polynomial interpretation over the naturals
[tower(x1)] = 2 + 2 · x1
[f(x1, x2, x3)] = 1 · x1 + 2 · x2 + 2 · x3
[a] = 0
[s(x1)] = 1 · x1
[0] = 0
[b] = 0
[half(x1)] = 1 · x1
[exp(x1)] = 1 · x1
[double(x1)] = 1 · x1
all of the following rules can be deleted.
tower(x) f(a,x,s(0)) (1)

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[f(x1, x2, x3)] = 1 + 1 · x1 + 2 · x2 + 2 · x3
[a] = 0
[0] = 0
[s(x1)] = 1 · x1
[b] = 0
[half(x1)] = 1 · x1
[exp(x1)] = 1 · x1
[double(x1)] = 1 · x1
all of the following rules can be deleted.
f(a,0,y) y (2)

1.1.1 Switch to Innermost Termination

The TRS is overlay and locally confluent:

10

Hence, it suffices to show innermost termination in the following.

1.1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
f#(a,s(x),y) f#(b,y,s(x)) (12)
f#(b,y,x) f#(a,half(x),exp(y)) (13)
f#(b,y,x) half#(x) (14)
f#(b,y,x) exp#(y) (15)
exp#(s(x)) double#(exp(x)) (16)
exp#(s(x)) exp#(x) (17)
double#(s(x)) double#(x) (18)
half#(0) double#(0) (19)
half#(s(0)) half#(0) (20)
half#(s(s(x))) half#(x) (21)

1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 4 components.