Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/LISTUTILITIES_nosorts_Z)

The rewrite relation of the following TRS is considered.

U11(tt,N,X,XS) U12(splitAt(activate(N),activate(XS)),activate(X)) (1)
U12(pair(YS,ZS),X) pair(cons(activate(X),YS),ZS) (2)
afterNth(N,XS) snd(splitAt(N,XS)) (3)
and(tt,X) activate(X) (4)
fst(pair(X,Y)) X (5)
head(cons(N,XS)) N (6)
natsFrom(N) cons(N,n__natsFrom(s(N))) (7)
sel(N,XS) head(afterNth(N,XS)) (8)
snd(pair(X,Y)) Y (9)
splitAt(0,XS) pair(nil,XS) (10)
splitAt(s(N),cons(X,XS)) U11(tt,N,X,activate(XS)) (11)
tail(cons(N,XS)) activate(XS) (12)
take(N,XS) fst(splitAt(N,XS)) (13)
natsFrom(X) n__natsFrom(X) (14)
activate(n__natsFrom(X)) natsFrom(X) (15)
activate(X) X (16)

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.
take#(N,XS) fst#(splitAt(N,XS)) (17)
tail#(cons(N,XS)) activate#(XS) (18)
U11#(tt,N,X,XS) activate#(X) (19)
U11#(tt,N,X,XS) U12#(splitAt(activate(N),activate(XS)),activate(X)) (20)
U11#(tt,N,X,XS) activate#(N) (21)
U11#(tt,N,X,XS) activate#(XS) (22)
sel#(N,XS) head#(afterNth(N,XS)) (23)
afterNth#(N,XS) snd#(splitAt(N,XS)) (24)
U11#(tt,N,X,XS) splitAt#(activate(N),activate(XS)) (25)
splitAt#(s(N),cons(X,XS)) activate#(XS) (26)
and#(tt,X) activate#(X) (27)
activate#(n__natsFrom(X)) natsFrom#(X) (28)
take#(N,XS) splitAt#(N,XS) (29)
U12#(pair(YS,ZS),X) activate#(X) (30)
afterNth#(N,XS) splitAt#(N,XS) (31)
sel#(N,XS) afterNth#(N,XS) (32)
splitAt#(s(N),cons(X,XS)) U11#(tt,N,X,activate(XS)) (33)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.