Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_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)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by NaTT @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
mark#(U71(X1,X2)) a__U71#(mark(X1),X2) (74)
mark#(U22(X)) mark#(X) (75)
a__isNeList#(__(V1,V2)) a__U41#(a__isList(V1),V2) (76)
mark#(U21(X1,X2)) mark#(X1) (77)
a__isNeList#(V) a__U31#(a__isQid(V)) (78)
mark#(U22(X)) a__U22#(mark(X)) (79)
a__isNePal#(V) a__isQid#(V) (80)
a__U21#(tt,V2) a__isList#(V2) (81)
a__isNeList#(V) a__isQid#(V) (82)
a__isList#(V) a__isNeList#(V) (83)
mark#(U31(X)) a__U31#(mark(X)) (84)
a____#(__(X,Y),Z) mark#(Y) (85)
a__U41#(tt,V2) a__isNeList#(V2) (86)
mark#(U72(X)) a__U72#(mark(X)) (87)
mark#(U81(X)) mark#(X) (88)
a____#(__(X,Y),Z) mark#(Z) (89)
a____#(__(X,Y),Z) a____#(mark(X),a____(mark(Y),mark(Z))) (90)
a__isNePal#(V) a__U61#(a__isQid(V)) (91)
a__isNeList#(__(V1,V2)) a__isNeList#(V1) (92)
mark#(isQid(X)) a__isQid#(X) (93)
mark#(U52(X)) a__U52#(mark(X)) (94)
mark#(U41(X1,X2)) a__U41#(mark(X1),X2) (95)
a____#(__(X,Y),Z) a____#(mark(Y),mark(Z)) (96)
a__isNePal#(__(I,__(P,I))) a__isQid#(I) (97)
a__isNePal#(__(I,__(P,I))) a__U71#(a__isQid(I),P) (98)
mark#(U11(X)) mark#(X) (99)
mark#(U41(X1,X2)) mark#(X1) (100)
mark#(isNeList(X)) a__isNeList#(X) (101)
a____#(__(X,Y),Z) mark#(X) (102)
mark#(isNePal(X)) a__isNePal#(X) (103)
a__isList#(__(V1,V2)) a__U21#(a__isList(V1),V2) (104)
a__isNeList#(__(V1,V2)) a__isList#(V1) (105)
a__isList#(V) a__U11#(a__isNeList(V)) (106)
mark#(U31(X)) mark#(X) (107)
mark#(isPal(X)) a__isPal#(X) (108)
a__U71#(tt,P) a__isPal#(P) (109)
mark#(U61(X)) a__U61#(mark(X)) (110)
mark#(U72(X)) mark#(X) (111)
mark#(U52(X)) mark#(X) (112)
a__U51#(tt,V2) a__isList#(V2) (113)
mark#(U81(X)) a__U81#(mark(X)) (114)
mark#(U11(X)) a__U11#(mark(X)) (115)
mark#(__(X1,X2)) mark#(X2) (116)
a__isPal#(V) a__isNePal#(V) (117)
mark#(U21(X1,X2)) a__U21#(mark(X1),X2) (118)
mark#(__(X1,X2)) mark#(X1) (119)
a__U41#(tt,V2) a__U42#(a__isNeList(V2)) (120)
mark#(U51(X1,X2)) a__U51#(mark(X1),X2) (121)
a__U51#(tt,V2) a__U52#(a__isList(V2)) (122)
a__U71#(tt,P) a__U72#(a__isPal(P)) (123)
a__isList#(__(V1,V2)) a__isList#(V1) (124)
mark#(__(X1,X2)) a____#(mark(X1),mark(X2)) (125)
a__U21#(tt,V2) a__U22#(a__isList(V2)) (126)
a__isPal#(V) a__U81#(a__isNePal(V)) (127)
mark#(U42(X)) mark#(X) (128)
mark#(U71(X1,X2)) mark#(X1) (129)
a____#(X,nil) mark#(X) (130)
a____#(nil,X) mark#(X) (131)
mark#(U61(X)) mark#(X) (132)
mark#(U42(X)) a__U42#(mark(X)) (133)
mark#(isList(X)) a__isList#(X) (134)
a__isNeList#(__(V1,V2)) a__U51#(a__isNeList(V1),V2) (135)
mark#(U51(X1,X2)) mark#(X1) (136)

1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.