Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/LISTUTILITIES_nosorts_noand_GM)

The rewrite relation of the following TRS is considered.

a__U11(tt,N,XS) a__U12(tt,N,XS) (1)
a__U12(tt,N,XS) a__snd(a__splitAt(mark(N),mark(XS))) (2)
a__U21(tt,X) a__U22(tt,X) (3)
a__U22(tt,X) mark(X) (4)
a__U31(tt,N) a__U32(tt,N) (5)
a__U32(tt,N) mark(N) (6)
a__U41(tt,N,XS) a__U42(tt,N,XS) (7)
a__U42(tt,N,XS) a__head(a__afterNth(mark(N),mark(XS))) (8)
a__U51(tt,Y) a__U52(tt,Y) (9)
a__U52(tt,Y) mark(Y) (10)
a__U61(tt,N,X,XS) a__U62(tt,N,X,XS) (11)
a__U62(tt,N,X,XS) a__U63(tt,N,X,XS) (12)
a__U63(tt,N,X,XS) a__U64(a__splitAt(mark(N),mark(XS)),X) (13)
a__U64(pair(YS,ZS),X) pair(cons(mark(X),YS),mark(ZS)) (14)
a__U71(tt,XS) a__U72(tt,XS) (15)
a__U72(tt,XS) mark(XS) (16)
a__U81(tt,N,XS) a__U82(tt,N,XS) (17)
a__U82(tt,N,XS) a__fst(a__splitAt(mark(N),mark(XS))) (18)
a__afterNth(N,XS) a__U11(tt,N,XS) (19)
a__fst(pair(X,Y)) a__U21(tt,X) (20)
a__head(cons(N,XS)) a__U31(tt,N) (21)
a__natsFrom(N) cons(mark(N),natsFrom(s(N))) (22)
a__sel(N,XS) a__U41(tt,N,XS) (23)
a__snd(pair(X,Y)) a__U51(tt,Y) (24)
a__splitAt(0,XS) pair(nil,mark(XS)) (25)
a__splitAt(s(N),cons(X,XS)) a__U61(tt,N,X,XS) (26)
a__tail(cons(N,XS)) a__U71(tt,XS) (27)
a__take(N,XS) a__U81(tt,N,XS) (28)
mark(U11(X1,X2,X3)) a__U11(mark(X1),X2,X3) (29)
mark(U12(X1,X2,X3)) a__U12(mark(X1),X2,X3) (30)
mark(snd(X)) a__snd(mark(X)) (31)
mark(splitAt(X1,X2)) a__splitAt(mark(X1),mark(X2)) (32)
mark(U21(X1,X2)) a__U21(mark(X1),X2) (33)
mark(U22(X1,X2)) a__U22(mark(X1),X2) (34)
mark(U31(X1,X2)) a__U31(mark(X1),X2) (35)
mark(U32(X1,X2)) a__U32(mark(X1),X2) (36)
mark(U41(X1,X2,X3)) a__U41(mark(X1),X2,X3) (37)
mark(U42(X1,X2,X3)) a__U42(mark(X1),X2,X3) (38)
mark(head(X)) a__head(mark(X)) (39)
mark(afterNth(X1,X2)) a__afterNth(mark(X1),mark(X2)) (40)
mark(U51(X1,X2)) a__U51(mark(X1),X2) (41)
mark(U52(X1,X2)) a__U52(mark(X1),X2) (42)
mark(U61(X1,X2,X3,X4)) a__U61(mark(X1),X2,X3,X4) (43)
mark(U62(X1,X2,X3,X4)) a__U62(mark(X1),X2,X3,X4) (44)
mark(U63(X1,X2,X3,X4)) a__U63(mark(X1),X2,X3,X4) (45)
mark(U64(X1,X2)) a__U64(mark(X1),X2) (46)
mark(U71(X1,X2)) a__U71(mark(X1),X2) (47)
mark(U72(X1,X2)) a__U72(mark(X1),X2) (48)
mark(U81(X1,X2,X3)) a__U81(mark(X1),X2,X3) (49)
mark(U82(X1,X2,X3)) a__U82(mark(X1),X2,X3) (50)
mark(fst(X)) a__fst(mark(X)) (51)
mark(natsFrom(X)) a__natsFrom(mark(X)) (52)
mark(sel(X1,X2)) a__sel(mark(X1),mark(X2)) (53)
mark(tail(X)) a__tail(mark(X)) (54)
mark(take(X1,X2)) a__take(mark(X1),mark(X2)) (55)
mark(tt) tt (56)
mark(pair(X1,X2)) pair(mark(X1),mark(X2)) (57)
mark(cons(X1,X2)) cons(mark(X1),X2) (58)
mark(s(X)) s(mark(X)) (59)
mark(0) 0 (60)
mark(nil) nil (61)
a__U11(X1,X2,X3) U11(X1,X2,X3) (62)
a__U12(X1,X2,X3) U12(X1,X2,X3) (63)
a__snd(X) snd(X) (64)
a__splitAt(X1,X2) splitAt(X1,X2) (65)
a__U21(X1,X2) U21(X1,X2) (66)
a__U22(X1,X2) U22(X1,X2) (67)
a__U31(X1,X2) U31(X1,X2) (68)
a__U32(X1,X2) U32(X1,X2) (69)
a__U41(X1,X2,X3) U41(X1,X2,X3) (70)
a__U42(X1,X2,X3) U42(X1,X2,X3) (71)
a__head(X) head(X) (72)
a__afterNth(X1,X2) afterNth(X1,X2) (73)
a__U51(X1,X2) U51(X1,X2) (74)
a__U52(X1,X2) U52(X1,X2) (75)
a__U61(X1,X2,X3,X4) U61(X1,X2,X3,X4) (76)
a__U62(X1,X2,X3,X4) U62(X1,X2,X3,X4) (77)
a__U63(X1,X2,X3,X4) U63(X1,X2,X3,X4) (78)
a__U64(X1,X2) U64(X1,X2) (79)
a__U71(X1,X2) U71(X1,X2) (80)
a__U72(X1,X2) U72(X1,X2) (81)
a__U81(X1,X2,X3) U81(X1,X2,X3) (82)
a__U82(X1,X2,X3) U82(X1,X2,X3) (83)
a__fst(X) fst(X) (84)
a__natsFrom(X) natsFrom(X) (85)
a__sel(X1,X2) sel(X1,X2) (86)
a__tail(X) tail(X) (87)
a__take(X1,X2) take(X1,X2) (88)

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.

There are 103 ruless (increase limit for explicit display).

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.