Certification Problem

Input (TPDB TRS_Innermost/Transformed_CSR_innermost_04/PALINDROME_nosorts_noand_C)

The rewrite relation of the following TRS is considered.

active(__(__(X,Y),Z)) mark(__(X,__(Y,Z))) (1)
active(__(X,nil)) mark(X) (2)
active(__(nil,X)) mark(X) (3)
active(U11(tt)) mark(U12(tt)) (4)
active(U12(tt)) mark(tt) (5)
active(isNePal(__(I,__(P,I)))) mark(U11(tt)) (6)
active(__(X1,X2)) __(active(X1),X2) (7)
active(__(X1,X2)) __(X1,active(X2)) (8)
active(U11(X)) U11(active(X)) (9)
active(U12(X)) U12(active(X)) (10)
active(isNePal(X)) isNePal(active(X)) (11)
__(mark(X1),X2) mark(__(X1,X2)) (12)
__(X1,mark(X2)) mark(__(X1,X2)) (13)
U11(mark(X)) mark(U11(X)) (14)
U12(mark(X)) mark(U12(X)) (15)
isNePal(mark(X)) mark(isNePal(X)) (16)
proper(__(X1,X2)) __(proper(X1),proper(X2)) (17)
proper(nil) ok(nil) (18)
proper(U11(X)) U11(proper(X)) (19)
proper(tt) ok(tt) (20)
proper(U12(X)) U12(proper(X)) (21)
proper(isNePal(X)) isNePal(proper(X)) (22)
__(ok(X1),ok(X2)) ok(__(X1,X2)) (23)
U11(ok(X)) ok(U11(X)) (24)
U12(ok(X)) ok(U12(X)) (25)
isNePal(ok(X)) ok(isNePal(X)) (26)
top(mark(X)) top(proper(X)) (27)
top(ok(X)) top(active(X)) (28)
The evaluation strategy is innermost.

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

Using the
prec(__) = 1 stat(__) = lex
prec(nil) = 2 stat(nil) = lex
prec(tt) = 0 stat(tt) = lex

π(active) = 1
π(__) = [1,2]
π(mark) = 1
π(nil) = []
π(U11) = 1
π(tt) = []
π(U12) = 1
π(isNePal) = 1
π(proper) = 1
π(ok) = 1
π(top) = 1

all of the following rules can be deleted.
active(__(__(X,Y),Z)) mark(__(X,__(Y,Z))) (1)
active(__(X,nil)) mark(X) (2)
active(__(nil,X)) mark(X) (3)
active(isNePal(__(I,__(P,I)))) mark(U11(tt)) (6)

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[active(x1)] = 1 · x1
[U11(x1)] = 2 + 2 · x1
[tt] = 0
[mark(x1)] = 1 · x1
[U12(x1)] = 1 + 1 · x1
[__(x1, x2)] = 2 · x1 + 2 · x2
[isNePal(x1)] = 1 · x1
[proper(x1)] = 1 · x1
[nil] = 0
[ok(x1)] = 1 · x1
[top(x1)] = 2 · x1
all of the following rules can be deleted.
active(U11(tt)) mark(U12(tt)) (4)
active(U12(tt)) mark(tt) (5)

1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[active(x1)] = 1 · x1
[__(x1, x2)] = 2 · x1 + 2 · x2
[U11(x1)] = 2 · x1
[U12(x1)] = 1 · x1
[isNePal(x1)] = 2 · x1
[mark(x1)] = 1 + 1 · x1
[proper(x1)] = 1 · x1
[nil] = 0
[ok(x1)] = 1 · x1
[tt] = 0
[top(x1)] = 1 · x1
all of the following rules can be deleted.
__(mark(X1),X2) mark(__(X1,X2)) (12)
__(X1,mark(X2)) mark(__(X1,X2)) (13)
U11(mark(X)) mark(U11(X)) (14)
isNePal(mark(X)) mark(isNePal(X)) (16)
top(mark(X)) top(proper(X)) (27)

1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[active(x1)] = 1 + 2 · x1
[__(x1, x2)] = 2 + 1 · x1 + 1 · x2
[U11(x1)] = 1 · x1
[U12(x1)] = 1 · x1
[isNePal(x1)] = 1 · x1
[mark(x1)] = 2 · x1
[proper(x1)] = 2 + 2 · x1
[nil] = 0
[ok(x1)] = 2 + 2 · x1
[tt] = 0
[top(x1)] = 1 · x1
all of the following rules can be deleted.
active(__(X1,X2)) __(active(X1),X2) (7)
active(__(X1,X2)) __(X1,active(X2)) (8)
top(ok(X)) top(active(X)) (28)

1.1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[active(x1)] = 1 + 2 · x1
[U11(x1)] = 2 + 2 · x1
[U12(x1)] = 1 + 1 · x1
[isNePal(x1)] = 2 + 2 · x1
[mark(x1)] = 1 · x1
[proper(x1)] = 2 · x1
[__(x1, x2)] = 1 + 1 · x1 + 2 · x2
[nil] = 2
[ok(x1)] = 1 + 1 · x1
[tt] = 2
all of the following rules can be deleted.
active(U11(X)) U11(active(X)) (9)
active(U12(X)) U12(active(X)) (10)
active(isNePal(X)) isNePal(active(X)) (11)
proper(__(X1,X2)) __(proper(X1),proper(X2)) (17)
proper(nil) ok(nil) (18)
proper(U11(X)) U11(proper(X)) (19)
proper(tt) ok(tt) (20)
proper(U12(X)) U12(proper(X)) (21)
proper(isNePal(X)) isNePal(proper(X)) (22)
__(ok(X1),ok(X2)) ok(__(X1,X2)) (23)
U11(ok(X)) ok(U11(X)) (24)
isNePal(ok(X)) ok(isNePal(X)) (26)

1.1.1.1.1.1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(U12) = 2 weight(U12) = 2
prec(mark) = 0 weight(mark) = 1
prec(ok) = 1 weight(ok) = 1
all of the following rules can be deleted.
U12(mark(X)) mark(U12(X)) (15)
U12(ok(X)) ok(U12(X)) (25)

1.1.1.1.1.1.1 R is empty

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