Certification Problem

Input (TPDB TRS_Standard/SK90/2.13)

The rewrite relation of the following TRS is considered.

double(0) 0 (1)
double(s(x)) s(s(double(x))) (2)
+(x,0) x (3)
+(x,s(y)) s(+(x,y)) (4)
+(s(x),y) s(+(x,y)) (5)
double(x) +(x,x) (6)

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
[double(x1)] = 2 · x1
[0] = 1
[s(x1)] = 1 · x1
[+(x1, x2)] = 1 · x1 + 1 · x2
all of the following rules can be deleted.
double(0) 0 (1)
+(x,0) x (3)

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[double(x1)] = 2 + 2 · x1
[s(x1)] = 1 · x1
[+(x1, x2)] = 1 · x1 + 1 · x2
all of the following rules can be deleted.
double(x) +(x,x) (6)

1.1.1 Rule Removal

Using the
prec(double) = 1 stat(double) = mul
prec(s) = 0 stat(s) = mul
prec(+) = 2 stat(+) = mul

π(double) = [1]
π(s) = [1]
π(+) = [1,2]

all of the following rules can be deleted.
double(s(x)) s(s(double(x))) (2)
+(x,s(y)) s(+(x,y)) (4)
+(s(x),y) s(+(x,y)) (5)

1.1.1.1 R is empty

There are no rules in the TRS. Hence, it is terminating.