Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex26_Luc03b_GM)

The rewrite relation of the following TRS is considered.

a__terms(N) cons(recip(a__sqr(mark(N))),terms(s(N))) (1)
a__sqr(0) 0 (2)
a__sqr(s(X)) s(add(sqr(X),dbl(X))) (3)
a__dbl(0) 0 (4)
a__dbl(s(X)) s(s(dbl(X))) (5)
a__add(0,X) mark(X) (6)
a__add(s(X),Y) s(add(X,Y)) (7)
a__first(0,X) nil (8)
a__first(s(X),cons(Y,Z)) cons(mark(Y),first(X,Z)) (9)
mark(terms(X)) a__terms(mark(X)) (10)
mark(sqr(X)) a__sqr(mark(X)) (11)
mark(add(X1,X2)) a__add(mark(X1),mark(X2)) (12)
mark(dbl(X)) a__dbl(mark(X)) (13)
mark(first(X1,X2)) a__first(mark(X1),mark(X2)) (14)
mark(cons(X1,X2)) cons(mark(X1),X2) (15)
mark(recip(X)) recip(mark(X)) (16)
mark(s(X)) s(X) (17)
mark(0) 0 (18)
mark(nil) nil (19)
a__terms(X) terms(X) (20)
a__sqr(X) sqr(X) (21)
a__add(X1,X2) add(X1,X2) (22)
a__dbl(X) dbl(X) (23)
a__first(X1,X2) first(X1,X2) (24)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
a__terms#(N) a__sqr#(mark(N)) (25)
a__terms#(N) mark#(N) (26)
a__add#(0,X) mark#(X) (27)
a__first#(s(X),cons(Y,Z)) mark#(Y) (28)
mark#(terms(X)) a__terms#(mark(X)) (29)
mark#(terms(X)) mark#(X) (30)
mark#(sqr(X)) a__sqr#(mark(X)) (31)
mark#(sqr(X)) mark#(X) (32)
mark#(add(X1,X2)) a__add#(mark(X1),mark(X2)) (33)
mark#(add(X1,X2)) mark#(X1) (34)
mark#(add(X1,X2)) mark#(X2) (35)
mark#(dbl(X)) a__dbl#(mark(X)) (36)
mark#(dbl(X)) mark#(X) (37)
mark#(first(X1,X2)) a__first#(mark(X1),mark(X2)) (38)
mark#(first(X1,X2)) mark#(X1) (39)
mark#(first(X1,X2)) mark#(X2) (40)
mark#(cons(X1,X2)) mark#(X1) (41)
mark#(recip(X)) mark#(X) (42)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.