Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex5_Zan97_FR)

The rewrite relation of the following TRS is considered.

f(X) if(X,c,n__f(n__true)) (1)
if(true,X,Y) X (2)
if(false,X,Y) activate(Y) (3)
f(X) n__f(X) (4)
true n__true (5)
activate(n__f(X)) f(activate(X)) (6)
activate(n__true) true (7)
activate(X) X (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
[if(x1, x2, x3)] =
1 0 0
1 0 0
1 0 0
· x1 +
1 0 0
0 1 0
0 0 1
· x2 +
1 0 0
0 1 0
1 0 1
· x3 +
0 0 0
0 0 0
0 0 0
[c] =
0 0 0
0 0 0
0 0 0
[n__f(x1)] =
1 0 0
1 0 0
1 0 0
· x1 +
0 0 0
0 0 0
0 0 0
[true] =
0 0 0
1 0 0
1 0 0
[f(x1)] =
1 0 0
1 0 0
1 0 0
· x1 +
0 0 0
1 0 0
0 0 0
[activate(x1)] =
1 0 0
0 1 0
0 0 1
· x1 +
0 0 0
1 0 0
1 0 0
[false] =
1 0 0
0 0 0
0 0 0
[n__true] =
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
if(false,X,Y) activate(Y) (3)

1.1 Rule Removal

Using the linear polynomial interpretation over (3 x 3)-matrices with strict dimension 1 over the naturals
[if(x1, x2, x3)] =
1 0 0
0 0 0
0 0 0
· x1 +
1 0 0
0 1 0
0 0 1
· x2 +
1 0 0
0 0 0
0 1 0
· x3 +
0 0 0
0 0 0
0 0 0
[c] =
0 0 0
1 0 0
0 0 0
[n__f(x1)] =
1 0 0
0 1 0
0 0 0
· x1 +
1 0 0
1 0 0
0 0 0
[true] =
0 0 0
0 0 0
0 0 0
[f(x1)] =
1 0 0
0 1 0
0 0 0
· x1 +
1 0 0
1 0 0
1 0 0
[activate(x1)] =
1 1 0
0 1 0
0 1 1
· x1 +
1 0 0
0 0 0
0 0 0
[n__true] =
0 0 0
0 0 0
0 0 0
all of the following rules can be deleted.
activate(n__f(X)) f(activate(X)) (6)
activate(n__true) true (7)
activate(X) X (8)

1.1.1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(true) = 3 weight(true) = 4
prec(if) = 2 weight(if) = 0
prec(n__f) = 1 weight(n__f) = 1
prec(n__true) = 4 weight(n__true) = 1
prec(c) = 0 weight(c) = 4
prec(f) = 5 weight(f) = 6
all of the following rules can be deleted.
f(X) if(X,c,n__f(n__true)) (1)
if(true,X,Y) X (2)
f(X) n__f(X) (4)
true n__true (5)

1.1.1.1 R is empty

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