Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/ExIntrod_GM01_GM)

The rewrite relation of the following TRS is considered.

a__incr(nil) nil (1)
a__incr(cons(X,L)) cons(s(mark(X)),incr(L)) (2)
a__adx(nil) nil (3)
a__adx(cons(X,L)) a__incr(cons(mark(X),adx(L))) (4)
a__nats a__adx(a__zeros) (5)
a__zeros cons(0,zeros) (6)
a__head(cons(X,L)) mark(X) (7)
a__tail(cons(X,L)) mark(L) (8)
mark(incr(X)) a__incr(mark(X)) (9)
mark(adx(X)) a__adx(mark(X)) (10)
mark(nats) a__nats (11)
mark(zeros) a__zeros (12)
mark(head(X)) a__head(mark(X)) (13)
mark(tail(X)) a__tail(mark(X)) (14)
mark(nil) nil (15)
mark(cons(X1,X2)) cons(mark(X1),X2) (16)
mark(s(X)) s(mark(X)) (17)
mark(0) 0 (18)
a__incr(X) incr(X) (19)
a__adx(X) adx(X) (20)
a__nats nats (21)
a__zeros zeros (22)
a__head(X) head(X) (23)
a__tail(X) tail(X) (24)

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#(head(X)) a__head#(mark(X)) (25)
mark#(nats) a__nats# (26)
a__nats# a__adx#(a__zeros) (27)
mark#(tail(X)) mark#(X) (28)
mark#(adx(X)) a__adx#(mark(X)) (29)
mark#(adx(X)) mark#(X) (30)
a__nats# a__zeros# (31)
mark#(zeros) a__zeros# (32)
a__head#(cons(X,L)) mark#(X) (33)
mark#(incr(X)) mark#(X) (34)
a__tail#(cons(X,L)) mark#(L) (35)
a__adx#(cons(X,L)) mark#(X) (36)
mark#(cons(X1,X2)) mark#(X1) (37)
mark#(head(X)) mark#(X) (38)
a__incr#(cons(X,L)) mark#(X) (39)
mark#(tail(X)) a__tail#(mark(X)) (40)
mark#(s(X)) mark#(X) (41)
mark#(incr(X)) a__incr#(mark(X)) (42)
a__adx#(cons(X,L)) a__incr#(cons(mark(X),adx(L))) (43)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.