Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex3_2_Luc97_GM)

The rewrite relation of the following TRS is considered.

a__dbl(0) 0 (1)
a__dbl(s(X)) s(s(dbl(X))) (2)
a__dbls(nil) nil (3)
a__dbls(cons(X,Y)) cons(dbl(X),dbls(Y)) (4)
a__sel(0,cons(X,Y)) mark(X) (5)
a__sel(s(X),cons(Y,Z)) a__sel(mark(X),mark(Z)) (6)
a__indx(nil,X) nil (7)
a__indx(cons(X,Y),Z) cons(sel(X,Z),indx(Y,Z)) (8)
a__from(X) cons(X,from(s(X))) (9)
mark(dbl(X)) a__dbl(mark(X)) (10)
mark(dbls(X)) a__dbls(mark(X)) (11)
mark(sel(X1,X2)) a__sel(mark(X1),mark(X2)) (12)
mark(indx(X1,X2)) a__indx(mark(X1),X2) (13)
mark(from(X)) a__from(X) (14)
mark(0) 0 (15)
mark(s(X)) s(X) (16)
mark(nil) nil (17)
mark(cons(X1,X2)) cons(X1,X2) (18)
a__dbl(X) dbl(X) (19)
a__dbls(X) dbls(X) (20)
a__sel(X1,X2) sel(X1,X2) (21)
a__indx(X1,X2) indx(X1,X2) (22)
a__from(X) from(X) (23)

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.
a__sel#(s(X),cons(Y,Z)) mark#(X) (24)
mark#(dbls(X)) a__dbls#(mark(X)) (25)
mark#(dbl(X)) mark#(X) (26)
mark#(sel(X1,X2)) mark#(X1) (27)
mark#(from(X)) a__from#(X) (28)
mark#(dbl(X)) a__dbl#(mark(X)) (29)
a__sel#(0,cons(X,Y)) mark#(X) (30)
mark#(dbls(X)) mark#(X) (31)
mark#(sel(X1,X2)) mark#(X2) (32)
mark#(indx(X1,X2)) mark#(X1) (33)
a__sel#(s(X),cons(Y,Z)) mark#(Z) (34)
a__sel#(s(X),cons(Y,Z)) a__sel#(mark(X),mark(Z)) (35)
mark#(sel(X1,X2)) a__sel#(mark(X1),mark(X2)) (36)
mark#(indx(X1,X2)) a__indx#(mark(X1),X2) (37)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.