Certification Problem

Input (TPDB TRS_Innermost/Transformed_CSR_innermost_04/PALINDROME_nokinds_noand_GM)

The rewrite relation of the following TRS is considered.

a____(__(X,Y),Z) a____(mark(X),a____(mark(Y),mark(Z))) (1)
a____(X,nil) mark(X) (2)
a____(nil,X) mark(X) (3)
a__U11(tt) tt (4)
a__U21(tt,V2) a__U22(a__isList(V2)) (5)
a__U22(tt) tt (6)
a__U31(tt) tt (7)
a__U41(tt,V2) a__U42(a__isNeList(V2)) (8)
a__U42(tt) tt (9)
a__U51(tt,V2) a__U52(a__isList(V2)) (10)
a__U52(tt) tt (11)
a__U61(tt) tt (12)
a__U71(tt,P) a__U72(a__isPal(P)) (13)
a__U72(tt) tt (14)
a__U81(tt) tt (15)
a__isList(V) a__U11(a__isNeList(V)) (16)
a__isList(nil) tt (17)
a__isList(__(V1,V2)) a__U21(a__isList(V1),V2) (18)
a__isNeList(V) a__U31(a__isQid(V)) (19)
a__isNeList(__(V1,V2)) a__U41(a__isList(V1),V2) (20)
a__isNeList(__(V1,V2)) a__U51(a__isNeList(V1),V2) (21)
a__isNePal(V) a__U61(a__isQid(V)) (22)
a__isNePal(__(I,__(P,I))) a__U71(a__isQid(I),P) (23)
a__isPal(V) a__U81(a__isNePal(V)) (24)
a__isPal(nil) tt (25)
a__isQid(a) tt (26)
a__isQid(e) tt (27)
a__isQid(i) tt (28)
a__isQid(o) tt (29)
a__isQid(u) tt (30)
mark(__(X1,X2)) a____(mark(X1),mark(X2)) (31)
mark(U11(X)) a__U11(mark(X)) (32)
mark(U21(X1,X2)) a__U21(mark(X1),X2) (33)
mark(U22(X)) a__U22(mark(X)) (34)
mark(isList(X)) a__isList(X) (35)
mark(U31(X)) a__U31(mark(X)) (36)
mark(U41(X1,X2)) a__U41(mark(X1),X2) (37)
mark(U42(X)) a__U42(mark(X)) (38)
mark(isNeList(X)) a__isNeList(X) (39)
mark(U51(X1,X2)) a__U51(mark(X1),X2) (40)
mark(U52(X)) a__U52(mark(X)) (41)
mark(U61(X)) a__U61(mark(X)) (42)
mark(U71(X1,X2)) a__U71(mark(X1),X2) (43)
mark(U72(X)) a__U72(mark(X)) (44)
mark(isPal(X)) a__isPal(X) (45)
mark(U81(X)) a__U81(mark(X)) (46)
mark(isQid(X)) a__isQid(X) (47)
mark(isNePal(X)) a__isNePal(X) (48)
mark(nil) nil (49)
mark(tt) tt (50)
mark(a) a (51)
mark(e) e (52)
mark(i) i (53)
mark(o) o (54)
mark(u) u (55)
a____(X1,X2) __(X1,X2) (56)
a__U11(X) U11(X) (57)
a__U21(X1,X2) U21(X1,X2) (58)
a__U22(X) U22(X) (59)
a__isList(X) isList(X) (60)
a__U31(X) U31(X) (61)
a__U41(X1,X2) U41(X1,X2) (62)
a__U42(X) U42(X) (63)
a__isNeList(X) isNeList(X) (64)
a__U51(X1,X2) U51(X1,X2) (65)
a__U52(X) U52(X) (66)
a__U61(X) U61(X) (67)
a__U71(X1,X2) U71(X1,X2) (68)
a__U72(X) U72(X) (69)
a__isPal(X) isPal(X) (70)
a__U81(X) U81(X) (71)
a__isQid(X) isQid(X) (72)
a__isNePal(X) isNePal(X) (73)
The evaluation strategy is innermost.

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

Using the Knuth Bendix order with w0 = 1 and the following precedence and weight functions
prec(nil) = 31 weight(nil) = 1
prec(tt) = 42 weight(tt) = 12
prec(a) = 35 weight(a) = 4
prec(e) = 26 weight(e) = 4
prec(i) = 36 weight(i) = 4
prec(o) = 33 weight(o) = 4
prec(u) = 9 weight(u) = 4
prec(mark) = 43 weight(mark) = 0
prec(a__U11) = 29 weight(a__U11) = 1
prec(a__U22) = 14 weight(a__U22) = 1
prec(a__isList) = 1 weight(a__isList) = 12
prec(a__U31) = 32 weight(a__U31) = 1
prec(a__U42) = 23 weight(a__U42) = 2
prec(a__isNeList) = 34 weight(a__isNeList) = 10
prec(a__U52) = 7 weight(a__U52) = 1
prec(a__U61) = 17 weight(a__U61) = 1
prec(a__U72) = 13 weight(a__U72) = 1
prec(a__isPal) = 41 weight(a__isPal) = 12
prec(a__U81) = 39 weight(a__U81) = 1
prec(a__isQid) = 28 weight(a__isQid) = 9
prec(a__isNePal) = 4 weight(a__isNePal) = 11
prec(U11) = 25 weight(U11) = 1
prec(U22) = 12 weight(U22) = 1
prec(isList) = 0 weight(isList) = 12
prec(U31) = 30 weight(U31) = 1
prec(U42) = 22 weight(U42) = 2
prec(isNeList) = 18 weight(isNeList) = 10
prec(U52) = 6 weight(U52) = 1
prec(U61) = 5 weight(U61) = 1
prec(U72) = 11 weight(U72) = 1
prec(isPal) = 10 weight(isPal) = 12
prec(U81) = 37 weight(U81) = 1
prec(isQid) = 21 weight(isQid) = 9
prec(isNePal) = 3 weight(isNePal) = 11
prec(__) = 24 weight(__) = 3
prec(a____) = 27 weight(a____) = 3
prec(a__U21) = 15 weight(a__U21) = 2
prec(a__U41) = 38 weight(a__U41) = 0
prec(a__U51) = 19 weight(a__U51) = 1
prec(a__U71) = 40 weight(a__U71) = 8
prec(U21) = 8 weight(U21) = 2
prec(U41) = 2 weight(U41) = 0
prec(U51) = 16 weight(U51) = 1
prec(U71) = 20 weight(U71) = 8
all of the following rules can be deleted.
a____(__(X,Y),Z) a____(mark(X),a____(mark(Y),mark(Z))) (1)
a____(X,nil) mark(X) (2)
a____(nil,X) mark(X) (3)
a__U11(tt) tt (4)
a__U21(tt,V2) a__U22(a__isList(V2)) (5)
a__U22(tt) tt (6)
a__U31(tt) tt (7)
a__U41(tt,V2) a__U42(a__isNeList(V2)) (8)
a__U42(tt) tt (9)
a__U51(tt,V2) a__U52(a__isList(V2)) (10)
a__U52(tt) tt (11)
a__U61(tt) tt (12)
a__U71(tt,P) a__U72(a__isPal(P)) (13)
a__U72(tt) tt (14)
a__U81(tt) tt (15)
a__isList(V) a__U11(a__isNeList(V)) (16)
a__isList(nil) tt (17)
a__isList(__(V1,V2)) a__U21(a__isList(V1),V2) (18)
a__isNeList(V) a__U31(a__isQid(V)) (19)
a__isNeList(__(V1,V2)) a__U41(a__isList(V1),V2) (20)
a__isNeList(__(V1,V2)) a__U51(a__isNeList(V1),V2) (21)
a__isNePal(V) a__U61(a__isQid(V)) (22)
a__isNePal(__(I,__(P,I))) a__U71(a__isQid(I),P) (23)
a__isPal(V) a__U81(a__isNePal(V)) (24)
a__isPal(nil) tt (25)
a__isQid(a) tt (26)
a__isQid(e) tt (27)
a__isQid(i) tt (28)
a__isQid(o) tt (29)
a__isQid(u) tt (30)
mark(__(X1,X2)) a____(mark(X1),mark(X2)) (31)
mark(U11(X)) a__U11(mark(X)) (32)
mark(U21(X1,X2)) a__U21(mark(X1),X2) (33)
mark(U22(X)) a__U22(mark(X)) (34)
mark(isList(X)) a__isList(X) (35)
mark(U31(X)) a__U31(mark(X)) (36)
mark(U41(X1,X2)) a__U41(mark(X1),X2) (37)
mark(U42(X)) a__U42(mark(X)) (38)
mark(isNeList(X)) a__isNeList(X) (39)
mark(U51(X1,X2)) a__U51(mark(X1),X2) (40)
mark(U52(X)) a__U52(mark(X)) (41)
mark(U61(X)) a__U61(mark(X)) (42)
mark(U71(X1,X2)) a__U71(mark(X1),X2) (43)
mark(U72(X)) a__U72(mark(X)) (44)
mark(isPal(X)) a__isPal(X) (45)
mark(U81(X)) a__U81(mark(X)) (46)
mark(isQid(X)) a__isQid(X) (47)
mark(isNePal(X)) a__isNePal(X) (48)
mark(nil) nil (49)
mark(tt) tt (50)
mark(a) a (51)
mark(e) e (52)
mark(i) i (53)
mark(o) o (54)
mark(u) u (55)
a____(X1,X2) __(X1,X2) (56)
a__U11(X) U11(X) (57)
a__U21(X1,X2) U21(X1,X2) (58)
a__U22(X) U22(X) (59)
a__isList(X) isList(X) (60)
a__U31(X) U31(X) (61)
a__U41(X1,X2) U41(X1,X2) (62)
a__U42(X) U42(X) (63)
a__isNeList(X) isNeList(X) (64)
a__U51(X1,X2) U51(X1,X2) (65)
a__U52(X) U52(X) (66)
a__U61(X) U61(X) (67)
a__U71(X1,X2) U71(X1,X2) (68)
a__U72(X) U72(X) (69)
a__isPal(X) isPal(X) (70)
a__U81(X) U81(X) (71)
a__isQid(X) isQid(X) (72)
a__isNePal(X) isNePal(X) (73)

1.1 R is empty

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