Certification Problem

Input (TPDB TRS_Standard/AG01/#3.17)

The rewrite relation of the following TRS is considered.

app(nil,k) k (1)
app(l,nil) l (2)
app(cons(x,l),k) cons(x,app(l,k)) (3)
sum(cons(x,nil)) cons(x,nil) (4)
sum(cons(x,cons(y,l))) sum(cons(plus(x,y),l)) (5)
sum(app(l,cons(x,cons(y,k)))) sum(app(l,sum(cons(x,cons(y,k))))) (6)
plus(0,y) y (7)
plus(s(x),y) s(plus(x,y)) (8)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[plus(x1, x2)] =
1 0 0
0 0 0
1 0 0
· x1 +
1 0 0
0 1 0
1 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[app(x1, x2)] =
1 0 0
0 1 0
0 0 1
· x1 +
1 0 1
0 1 0
1 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[sum(x1)] =
1 0 0
0 0 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[0] =
0 0 0
0 0 0
0 0 0
[nil] =
0 0 0
0 0 0
1 0 0
[s(x1)] =
1 0 0
0 0 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[cons(x1, x2)] =
1 1 0
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
1 0 0
· x2 +
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
app(l,nil) l (2)

1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[plus(x1, x2)] =
1 0 0
0 1 1
1 1 1
· x1 +
1 0 0
1 1 0
1 0 1
· x2 +
0 0 0
1 0 0
0 0 0
[app(x1, x2)] =
1 0 0
0 1 1
1 0 0
· x1 +
1 0 0
1 1 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[sum(x1)] =
1 0 0
0 0 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[0] =
1 0 0
0 0 0
0 0 0
[nil] =
0 0 0
1 0 0
1 0 0
[s(x1)] =
1 0 0
1 0 0
0 0 0
· x1 +
0 0 0
0 0 0
1 0 0
[cons(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
plus(0,y) y (7)

1.1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[plus(x1, x2)] =
1 0 0
1 0 0
1 1 0
· x1 +
1 0 0
1 0 0
0 0 0
· x2 +
0 0 0
0 0 0
0 0 0
[app(x1, x2)] =
1 0 0
1 1 0
0 0 0
· x1 +
1 0 0
0 1 0
0 0 1
· x2 +
0 0 0
0 0 0
1 0 0
[sum(x1)] =
1 0 0
0 0 1
0 0 0
· x1 +
0 0 0
0 0 0
1 0 0
[nil] =
1 0 0
1 0 0
0 0 0
[s(x1)] =
1 0 0
1 0 0
0 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[cons(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
0 0 0
0 0 0
1 0 0
all of the following rules can be deleted.
app(nil,k) k (1)

1.1.1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[plus(x1, x2)] =
1 0 0
0 0 0
0 0 1
· x1 +
1 0 0
0 0 0
0 0 0
· x2 +
1 0 0
0 0 0
0 0 0
[app(x1, x2)] =
1 0 0
0 1 0
1 0 0
· x1 +
1 0 1
0 0 0
1 0 1
· x2 +
0 0 0
0 0 0
1 0 0
[sum(x1)] =
1 1 0
1 1 0
0 0 0
· x1 +
0 0 0
1 0 0
0 0 0
[nil] =
0 0 0
0 0 0
0 0 0
[s(x1)] =
1 0 1
0 0 0
0 0 0
· x1 +
1 0 0
0 0 0
0 0 0
[cons(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 1 0
0 0 0
1 1 0
· x2 +
0 0 0
1 0 0
0 0 0
all of the following rules can be deleted.
sum(cons(x,nil)) cons(x,nil) (4)

1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[plus(x1, x2)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 1 0
0 0 0
0 0 1
· x2 +
0 0 0
0 0 0
0 0 0
[app(x1, x2)] =
1 0 0
1 1 0
0 0 0
· x1 +
1 1 0
1 1 0
0 0 0
· x2 +
0 0 0
1 0 0
0 0 0
[sum(x1)] =
1 0 0
0 0 0
1 0 0
· x1 +
0 0 0
1 0 0
0 0 0
[s(x1)] =
1 0 0
0 0 0
0 0 1
· x1 +
1 0 0
0 0 0
0 0 0
[cons(x1, x2)] =
1 1 1
1 1 0
0 0 0
· x1 +
1 0 1
0 1 1
0 0 0
· x2 +
0 0 0
1 0 0
0 0 0
all of the following rules can be deleted.
sum(app(l,cons(x,cons(y,k)))) sum(app(l,sum(cons(x,cons(y,k))))) (6)

1.1.1.1.1.1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(s) = 0 weight(s) = 4
prec(plus) = 1 weight(plus) = 0
prec(sum) = 7 weight(sum) = 2
prec(cons) = 4 weight(cons) = 1
prec(app) = 5 weight(app) = 0
all of the following rules can be deleted.
app(cons(x,l),k) cons(x,app(l,k)) (3)
sum(cons(x,cons(y,l))) sum(cons(plus(x,y),l)) (5)
plus(s(x),y) s(plus(x,y)) (8)

1.1.1.1.1.1.1 R is empty

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