Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex1_GL02a_GM)

The rewrite relation of the following TRS is considered.

a__eq(0,0) true (1)
a__eq(s(X),s(Y)) a__eq(X,Y) (2)
a__eq(X,Y) false (3)
a__inf(X) cons(X,inf(s(X))) (4)
a__take(0,X) nil (5)
a__take(s(X),cons(Y,L)) cons(Y,take(X,L)) (6)
a__length(nil) 0 (7)
a__length(cons(X,L)) s(length(L)) (8)
mark(eq(X1,X2)) a__eq(X1,X2) (9)
mark(inf(X)) a__inf(mark(X)) (10)
mark(take(X1,X2)) a__take(mark(X1),mark(X2)) (11)
mark(length(X)) a__length(mark(X)) (12)
mark(0) 0 (13)
mark(true) true (14)
mark(s(X)) s(X) (15)
mark(false) false (16)
mark(cons(X1,X2)) cons(X1,X2) (17)
mark(nil) nil (18)
a__eq(X1,X2) eq(X1,X2) (19)
a__inf(X) inf(X) (20)
a__take(X1,X2) take(X1,X2) (21)
a__length(X) length(X) (22)

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.
mark#(eq(X1,X2)) a__eq#(X1,X2) (23)
mark#(length(X)) a__length#(mark(X)) (24)
mark#(inf(X)) mark#(X) (25)
mark#(length(X)) mark#(X) (26)
mark#(take(X1,X2)) mark#(X2) (27)
mark#(take(X1,X2)) a__take#(mark(X1),mark(X2)) (28)
a__eq#(s(X),s(Y)) a__eq#(X,Y) (29)
mark#(inf(X)) a__inf#(mark(X)) (30)
mark#(take(X1,X2)) mark#(X1) (31)

1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.