Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex9_BLR02_iGM)

The rewrite relation of the following TRS is considered.

active(filter(cons(X,Y),0,M)) mark(cons(0,filter(Y,M,M))) (1)
active(filter(cons(X,Y),s(N),M)) mark(cons(X,filter(Y,N,M))) (2)
active(sieve(cons(0,Y))) mark(cons(0,sieve(Y))) (3)
active(sieve(cons(s(N),Y))) mark(cons(s(N),sieve(filter(Y,N,N)))) (4)
active(nats(N)) mark(cons(N,nats(s(N)))) (5)
active(zprimes) mark(sieve(nats(s(s(0))))) (6)
mark(filter(X1,X2,X3)) active(filter(mark(X1),mark(X2),mark(X3))) (7)
mark(cons(X1,X2)) active(cons(mark(X1),X2)) (8)
mark(0) active(0) (9)
mark(s(X)) active(s(mark(X))) (10)
mark(sieve(X)) active(sieve(mark(X))) (11)
mark(nats(X)) active(nats(mark(X))) (12)
mark(zprimes) active(zprimes) (13)
filter(mark(X1),X2,X3) filter(X1,X2,X3) (14)
filter(X1,mark(X2),X3) filter(X1,X2,X3) (15)
filter(X1,X2,mark(X3)) filter(X1,X2,X3) (16)
filter(active(X1),X2,X3) filter(X1,X2,X3) (17)
filter(X1,active(X2),X3) filter(X1,X2,X3) (18)
filter(X1,X2,active(X3)) filter(X1,X2,X3) (19)
cons(mark(X1),X2) cons(X1,X2) (20)
cons(X1,mark(X2)) cons(X1,X2) (21)
cons(active(X1),X2) cons(X1,X2) (22)
cons(X1,active(X2)) cons(X1,X2) (23)
s(mark(X)) s(X) (24)
s(active(X)) s(X) (25)
sieve(mark(X)) sieve(X) (26)
sieve(active(X)) sieve(X) (27)
nats(mark(X)) nats(X) (28)
nats(active(X)) nats(X) (29)

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.
active#(filter(cons(X,Y),s(N),M)) cons#(X,filter(Y,N,M)) (30)
active#(sieve(cons(0,Y))) mark#(cons(0,sieve(Y))) (31)
mark#(s(X)) s#(mark(X)) (32)
nats#(mark(X)) nats#(X) (33)
active#(filter(cons(X,Y),0,M)) mark#(cons(0,filter(Y,M,M))) (34)
filter#(X1,X2,mark(X3)) filter#(X1,X2,X3) (35)
cons#(X1,mark(X2)) cons#(X1,X2) (36)
sieve#(active(X)) sieve#(X) (37)
active#(filter(cons(X,Y),0,M)) cons#(0,filter(Y,M,M)) (38)
active#(sieve(cons(s(N),Y))) mark#(cons(s(N),sieve(filter(Y,N,N)))) (39)
active#(filter(cons(X,Y),0,M)) filter#(Y,M,M) (40)
filter#(active(X1),X2,X3) filter#(X1,X2,X3) (41)
active#(zprimes) sieve#(nats(s(s(0)))) (42)
active#(sieve(cons(s(N),Y))) sieve#(filter(Y,N,N)) (43)
sieve#(mark(X)) sieve#(X) (44)
mark#(cons(X1,X2)) mark#(X1) (45)
mark#(sieve(X)) sieve#(mark(X)) (46)
active#(zprimes) s#(0) (47)
mark#(0) active#(0) (48)
filter#(X1,active(X2),X3) filter#(X1,X2,X3) (49)
mark#(filter(X1,X2,X3)) filter#(mark(X1),mark(X2),mark(X3)) (50)
mark#(filter(X1,X2,X3)) active#(filter(mark(X1),mark(X2),mark(X3))) (51)
active#(sieve(cons(0,Y))) sieve#(Y) (52)
mark#(sieve(X)) active#(sieve(mark(X))) (53)
active#(nats(N)) mark#(cons(N,nats(s(N)))) (54)
active#(sieve(cons(s(N),Y))) filter#(Y,N,N) (55)
mark#(sieve(X)) mark#(X) (56)
mark#(s(X)) mark#(X) (57)
filter#(X1,mark(X2),X3) filter#(X1,X2,X3) (58)
mark#(cons(X1,X2)) active#(cons(mark(X1),X2)) (59)
mark#(filter(X1,X2,X3)) mark#(X1) (60)
filter#(mark(X1),X2,X3) filter#(X1,X2,X3) (61)
active#(zprimes) nats#(s(s(0))) (62)
filter#(X1,X2,active(X3)) filter#(X1,X2,X3) (63)
mark#(zprimes) active#(zprimes) (64)
active#(nats(N)) nats#(s(N)) (65)
active#(zprimes) mark#(sieve(nats(s(s(0))))) (66)
active#(sieve(cons(0,Y))) cons#(0,sieve(Y)) (67)
mark#(s(X)) active#(s(mark(X))) (68)
cons#(mark(X1),X2) cons#(X1,X2) (69)
active#(nats(N)) s#(N) (70)
mark#(filter(X1,X2,X3)) mark#(X3) (71)
mark#(nats(X)) active#(nats(mark(X))) (72)
active#(nats(N)) cons#(N,nats(s(N))) (73)
mark#(nats(X)) mark#(X) (74)
mark#(filter(X1,X2,X3)) mark#(X2) (75)
cons#(active(X1),X2) cons#(X1,X2) (76)
s#(active(X)) s#(X) (77)
cons#(X1,active(X2)) cons#(X1,X2) (78)
active#(filter(cons(X,Y),s(N),M)) filter#(Y,N,M) (79)
active#(filter(cons(X,Y),s(N),M)) mark#(cons(X,filter(Y,N,M))) (80)
active#(sieve(cons(s(N),Y))) cons#(s(N),sieve(filter(Y,N,N))) (81)
active#(zprimes) s#(s(0)) (82)
s#(mark(X)) s#(X) (83)
nats#(active(X)) nats#(X) (84)
mark#(cons(X1,X2)) cons#(mark(X1),X2) (85)
mark#(nats(X)) nats#(mark(X)) (86)

1.1 Dependency Graph Processor

The dependency pairs are split into 6 components.