Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex2_Luc03b_GM)

The rewrite relation of the following TRS is considered.

a__fst(0,Z) nil (1)
a__fst(s(X),cons(Y,Z)) cons(mark(Y),fst(X,Z)) (2)
a__from(X) cons(mark(X),from(s(X))) (3)
a__add(0,X) mark(X) (4)
a__add(s(X),Y) s(add(X,Y)) (5)
a__len(nil) 0 (6)
a__len(cons(X,Z)) s(len(Z)) (7)
mark(fst(X1,X2)) a__fst(mark(X1),mark(X2)) (8)
mark(from(X)) a__from(mark(X)) (9)
mark(add(X1,X2)) a__add(mark(X1),mark(X2)) (10)
mark(len(X)) a__len(mark(X)) (11)
mark(0) 0 (12)
mark(s(X)) s(X) (13)
mark(nil) nil (14)
mark(cons(X1,X2)) cons(mark(X1),X2) (15)
a__fst(X1,X2) fst(X1,X2) (16)
a__from(X) from(X) (17)
a__add(X1,X2) add(X1,X2) (18)
a__len(X) len(X) (19)

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__fst#(s(X),cons(Y,Z)) mark#(Y) (20)
a__from#(X) mark#(X) (21)
a__add#(0,X) mark#(X) (22)
mark#(fst(X1,X2)) a__fst#(mark(X1),mark(X2)) (23)
mark#(fst(X1,X2)) mark#(X1) (24)
mark#(fst(X1,X2)) mark#(X2) (25)
mark#(from(X)) a__from#(mark(X)) (26)
mark#(from(X)) mark#(X) (27)
mark#(add(X1,X2)) a__add#(mark(X1),mark(X2)) (28)
mark#(add(X1,X2)) mark#(X1) (29)
mark#(add(X1,X2)) mark#(X2) (30)
mark#(len(X)) a__len#(mark(X)) (31)
mark#(len(X)) mark#(X) (32)
mark#(cons(X1,X2)) mark#(X1) (33)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.