Certification Problem

Input (TPDB TRS_Innermost/Transformed_CSR_innermost_04/Ex6_Luc98_GM)

The rewrite relation of the following TRS is considered.

a__first(0,X) nil (1)
a__first(s(X),cons(Y,Z)) cons(mark(Y),first(X,Z)) (2)
a__from(X) cons(mark(X),from(s(X))) (3)
mark(first(X1,X2)) a__first(mark(X1),mark(X2)) (4)
mark(from(X)) a__from(mark(X)) (5)
mark(0) 0 (6)
mark(nil) nil (7)
mark(s(X)) s(mark(X)) (8)
mark(cons(X1,X2)) cons(mark(X1),X2) (9)
a__first(X1,X2) first(X1,X2) (10)
a__from(X) from(X) (11)
The evaluation strategy is innermost.

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__first#(s(X),cons(Y,Z)) mark#(Y) (12)
a__from#(X) mark#(X) (13)
mark#(first(X1,X2)) a__first#(mark(X1),mark(X2)) (14)
mark#(first(X1,X2)) mark#(X1) (15)
mark#(first(X1,X2)) mark#(X2) (16)
mark#(from(X)) a__from#(mark(X)) (17)
mark#(from(X)) mark#(X) (18)
mark#(s(X)) mark#(X) (19)
mark#(cons(X1,X2)) mark#(X1) (20)

1.1 Reduction Pair Processor

Using the linear polynomial interpretation over the naturals
[a__first#(x1, x2)] = -1 + x1 + x2
[a__from#(x1)] = x1
[mark(x1)] = 2 · x1
[first(x1, x2)] = 2 · x1 + 2 · x2
[a__first(x1, x2)] = 2 · x1 + 2 · x2
[from(x1)] = 2 + 2 · x1
[a__from(x1)] = 2 + 2 · x1
[0] = 1
[nil] = 0
[s(x1)] = 1 + 2 · x1
[cons(x1, x2)] = 1 + x1
[mark#(x1)] = x1
the pairs
a__first#(s(X),cons(Y,Z)) mark#(Y) (12)
mark#(from(X)) a__from#(mark(X)) (17)
mark#(from(X)) mark#(X) (18)
mark#(s(X)) mark#(X) (19)
mark#(cons(X1,X2)) mark#(X1) (20)
could be deleted.

1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.