Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/PALINDROME_complete_Z)

The rewrite relation of the following TRS is considered.

__(__(X,Y),Z) __(X,__(Y,Z)) (1)
__(X,nil) X (2)
__(nil,X) X (3)
U11(tt,V) U12(isNeList(activate(V))) (4)
U12(tt) tt (5)
U21(tt,V1,V2) U22(isList(activate(V1)),activate(V2)) (6)
U22(tt,V2) U23(isList(activate(V2))) (7)
U23(tt) tt (8)
U31(tt,V) U32(isQid(activate(V))) (9)
U32(tt) tt (10)
U41(tt,V1,V2) U42(isList(activate(V1)),activate(V2)) (11)
U42(tt,V2) U43(isNeList(activate(V2))) (12)
U43(tt) tt (13)
U51(tt,V1,V2) U52(isNeList(activate(V1)),activate(V2)) (14)
U52(tt,V2) U53(isList(activate(V2))) (15)
U53(tt) tt (16)
U61(tt,V) U62(isQid(activate(V))) (17)
U62(tt) tt (18)
U71(tt,V) U72(isNePal(activate(V))) (19)
U72(tt) tt (20)
and(tt,X) activate(X) (21)
isList(V) U11(isPalListKind(activate(V)),activate(V)) (22)
isList(n__nil) tt (23)
isList(n____(V1,V2)) U21(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) (24)
isNeList(V) U31(isPalListKind(activate(V)),activate(V)) (25)
isNeList(n____(V1,V2)) U41(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) (26)
isNeList(n____(V1,V2)) U51(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) (27)
isNePal(V) U61(isPalListKind(activate(V)),activate(V)) (28)
isNePal(n____(I,__(P,I))) and(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(isPal(activate(P)),n__isPalListKind(activate(P)))) (29)
isPal(V) U71(isPalListKind(activate(V)),activate(V)) (30)
isPal(n__nil) tt (31)
isPalListKind(n__a) tt (32)
isPalListKind(n__e) tt (33)
isPalListKind(n__i) tt (34)
isPalListKind(n__nil) tt (35)
isPalListKind(n__o) tt (36)
isPalListKind(n__u) tt (37)
isPalListKind(n____(V1,V2)) and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) (38)
isQid(n__a) tt (39)
isQid(n__e) tt (40)
isQid(n__i) tt (41)
isQid(n__o) tt (42)
isQid(n__u) tt (43)
nil n__nil (44)
__(X1,X2) n____(X1,X2) (45)
isPalListKind(X) n__isPalListKind(X) (46)
and(X1,X2) n__and(X1,X2) (47)
a n__a (48)
e n__e (49)
i n__i (50)
o n__o (51)
u n__u (52)
activate(n__nil) nil (53)
activate(n____(X1,X2)) __(X1,X2) (54)
activate(n__isPalListKind(X)) isPalListKind(X) (55)
activate(n__and(X1,X2)) and(X1,X2) (56)
activate(n__a) a (57)
activate(n__e) e (58)
activate(n__i) i (59)
activate(n__o) o (60)
activate(n__u) u (61)
activate(X) X (62)

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.
isNePal#(n____(I,__(P,I))) and#(isQid(activate(I)),n__isPalListKind(activate(I))) (63)
__#(__(X,Y),Z) __#(X,__(Y,Z)) (64)
U51#(tt,V1,V2) activate#(V1) (65)
activate#(n__a) a# (66)
isList#(n____(V1,V2)) activate#(V1) (67)
isNeList#(n____(V1,V2)) activate#(V1) (68)
isNeList#(n____(V1,V2)) isPalListKind#(activate(V1)) (69)
isPal#(V) isPalListKind#(activate(V)) (70)
U51#(tt,V1,V2) isNeList#(activate(V1)) (71)
U51#(tt,V1,V2) U52#(isNeList(activate(V1)),activate(V2)) (72)
U42#(tt,V2) U43#(isNeList(activate(V2))) (73)
U52#(tt,V2) activate#(V2) (74)
U61#(tt,V) isQid#(activate(V)) (75)
isPal#(V) activate#(V) (76)
U22#(tt,V2) U23#(isList(activate(V2))) (77)
activate#(n__o) o# (78)
isPal#(V) activate#(V) (76)
U71#(tt,V) U72#(isNePal(activate(V))) (79)
U61#(tt,V) activate#(V) (80)
isNePal#(V) activate#(V) (81)
isList#(V) isPalListKind#(activate(V)) (82)
U42#(tt,V2) isNeList#(activate(V2)) (83)
isNePal#(n____(I,__(P,I))) isPal#(activate(P)) (84)
isNePal#(V) activate#(V) (81)
U22#(tt,V2) activate#(V2) (85)
isNeList#(n____(V1,V2)) activate#(V1) (68)
activate#(n__and(X1,X2)) and#(X1,X2) (86)
U52#(tt,V2) isList#(activate(V2)) (87)
isNeList#(V) activate#(V) (88)
isPalListKind#(n____(V1,V2)) isPalListKind#(activate(V1)) (89)
activate#(n__nil) nil# (90)
activate#(n__u) u# (91)
isNePal#(V) isPalListKind#(activate(V)) (92)
U71#(tt,V) isNePal#(activate(V)) (93)
U11#(tt,V) activate#(V) (94)
U31#(tt,V) activate#(V) (95)
isNeList#(n____(V1,V2)) activate#(V2) (96)
U31#(tt,V) isQid#(activate(V)) (97)
isNeList#(n____(V1,V2)) activate#(V1) (68)
isNeList#(n____(V1,V2)) U41#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) (98)
isPal#(V) U71#(isPalListKind(activate(V)),activate(V)) (99)
isNeList#(n____(V1,V2)) activate#(V1) (68)
isPalListKind#(n____(V1,V2)) and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) (100)
isList#(n____(V1,V2)) and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) (101)
isNeList#(n____(V1,V2)) and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) (102)
isNePal#(V) U61#(isPalListKind(activate(V)),activate(V)) (103)
U52#(tt,V2) U53#(isList(activate(V2))) (104)
isNeList#(n____(V1,V2)) activate#(V2) (96)
isPalListKind#(n____(V1,V2)) activate#(V1) (105)
isList#(V) activate#(V) (106)
isList#(n____(V1,V2)) U21#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) (107)
isNeList#(V) activate#(V) (88)
isNeList#(V) U31#(isPalListKind(activate(V)),activate(V)) (108)
U41#(tt,V1,V2) U42#(isList(activate(V1)),activate(V2)) (109)
activate#(n__i) i# (110)
activate#(n____(X1,X2)) __#(X1,X2) (111)
isNePal#(n____(I,__(P,I))) activate#(P) (112)
U42#(tt,V2) activate#(V2) (113)
activate#(n__e) e# (114)
U11#(tt,V) U12#(isNeList(activate(V))) (115)
U11#(tt,V) isNeList#(activate(V)) (116)
isNeList#(n____(V1,V2)) U51#(and(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))),activate(V1),activate(V2)) (117)
isList#(n____(V1,V2)) activate#(V1) (67)
U61#(tt,V) U62#(isQid(activate(V))) (118)
isNePal#(n____(I,__(P,I))) activate#(I) (119)
U51#(tt,V1,V2) activate#(V2) (120)
isNeList#(n____(V1,V2)) and#(isPalListKind(activate(V1)),n__isPalListKind(activate(V2))) (102)
U41#(tt,V1,V2) activate#(V2) (121)
U31#(tt,V) U32#(isQid(activate(V))) (122)
isList#(n____(V1,V2)) activate#(V2) (123)
isNeList#(n____(V1,V2)) activate#(V2) (96)
__#(__(X,Y),Z) __#(Y,Z) (124)
U41#(tt,V1,V2) activate#(V1) (125)
isList#(V) U11#(isPalListKind(activate(V)),activate(V)) (126)
U21#(tt,V1,V2) isList#(activate(V1)) (127)
isList#(n____(V1,V2)) isPalListKind#(activate(V1)) (128)
U21#(tt,V1,V2) activate#(V2) (129)
isList#(V) activate#(V) (106)
U41#(tt,V1,V2) isList#(activate(V1)) (130)
and#(tt,X) activate#(X) (131)
isNeList#(n____(V1,V2)) activate#(V2) (96)
isList#(n____(V1,V2)) activate#(V2) (123)
activate#(n__isPalListKind(X)) isPalListKind#(X) (132)
U21#(tt,V1,V2) U22#(isList(activate(V1)),activate(V2)) (133)
isNePal#(n____(I,__(P,I))) isQid#(activate(I)) (134)
U71#(tt,V) activate#(V) (135)
isNePal#(n____(I,__(P,I))) and#(and(isQid(activate(I)),n__isPalListKind(activate(I))),n__and(isPal(activate(P)),n__isPalListKind(activate(P)))) (136)
U22#(tt,V2) isList#(activate(V2)) (137)
isNePal#(n____(I,__(P,I))) activate#(P) (112)
isPalListKind#(n____(V1,V2)) activate#(V2) (138)
isNePal#(n____(I,__(P,I))) activate#(I) (119)
isNeList#(n____(V1,V2)) isPalListKind#(activate(V1)) (69)
isNeList#(V) isPalListKind#(activate(V)) (139)
U21#(tt,V1,V2) activate#(V1) (140)

1.1 Dependency Graph Processor

The dependency pairs are split into 4 components.