Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex1_Luc02b_GM)

The rewrite relation of the following TRS is considered.

a__from(X) cons(mark(X),from(s(X))) (1)
a__first(0,Z) nil (2)
a__first(s(X),cons(Y,Z)) cons(mark(Y),first(X,Z)) (3)
a__sel(0,cons(X,Z)) mark(X) (4)
a__sel(s(X),cons(Y,Z)) a__sel(mark(X),mark(Z)) (5)
mark(from(X)) a__from(mark(X)) (6)
mark(first(X1,X2)) a__first(mark(X1),mark(X2)) (7)
mark(sel(X1,X2)) a__sel(mark(X1),mark(X2)) (8)
mark(cons(X1,X2)) cons(mark(X1),X2) (9)
mark(s(X)) s(mark(X)) (10)
mark(0) 0 (11)
mark(nil) nil (12)
a__from(X) from(X) (13)
a__first(X1,X2) first(X1,X2) (14)
a__sel(X1,X2) sel(X1,X2) (15)

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#(from(X)) mark#(X) (16)
mark#(first(X1,X2)) mark#(X2) (17)
mark#(sel(X1,X2)) a__sel#(mark(X1),mark(X2)) (18)
a__sel#(s(X),cons(Y,Z)) mark#(X) (19)
a__first#(s(X),cons(Y,Z)) mark#(Y) (20)
a__from#(X) mark#(X) (21)
mark#(sel(X1,X2)) mark#(X1) (22)
mark#(s(X)) mark#(X) (23)
a__sel#(s(X),cons(Y,Z)) mark#(Z) (24)
mark#(first(X1,X2)) mark#(X1) (25)
a__sel#(0,cons(X,Z)) mark#(X) (26)
mark#(cons(X1,X2)) mark#(X1) (27)
mark#(from(X)) a__from#(mark(X)) (28)
a__sel#(s(X),cons(Y,Z)) a__sel#(mark(X),mark(Z)) (29)
mark#(sel(X1,X2)) mark#(X2) (30)
mark#(first(X1,X2)) a__first#(mark(X1),mark(X2)) (31)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.