Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/LISTUTILITIES_nosorts_FR)

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(n__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)
s(X) n__s(X) (15)
activate(n__natsFrom(X)) natsFrom(activate(X)) (16)
activate(n__s(X)) s(activate(X)) (17)
activate(X) X (18)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
U11#(tt,N,X,XS) activate#(X) (19)
U11#(tt,N,X,XS) activate#(XS) (20)
U11#(tt,N,X,XS) activate#(N) (21)
U11#(tt,N,X,XS) splitAt#(activate(N),activate(XS)) (22)
U11#(tt,N,X,XS) U12#(splitAt(activate(N),activate(XS)),activate(X)) (23)
U12#(pair(YS,ZS),X) activate#(X) (24)
afterNth#(N,XS) splitAt#(N,XS) (25)
afterNth#(N,XS) snd#(splitAt(N,XS)) (26)
and#(tt,X) activate#(X) (27)
sel#(N,XS) afterNth#(N,XS) (28)
sel#(N,XS) head#(afterNth(N,XS)) (29)
splitAt#(s(N),cons(X,XS)) activate#(XS) (30)
splitAt#(s(N),cons(X,XS)) U11#(tt,N,X,activate(XS)) (31)
tail#(cons(N,XS)) activate#(XS) (32)
take#(N,XS) splitAt#(N,XS) (33)
take#(N,XS) fst#(splitAt(N,XS)) (34)
activate#(n__natsFrom(X)) activate#(X) (35)
activate#(n__natsFrom(X)) natsFrom#(activate(X)) (36)
activate#(n__s(X)) activate#(X) (37)
activate#(n__s(X)) s#(activate(X)) (38)

1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.