Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/ExIntrod_GM04_GM)

The rewrite relation of the following TRS is considered.

a__nats a__adx(a__zeros) (1)
a__zeros cons(0,zeros) (2)
a__incr(cons(X,Y)) cons(s(X),incr(Y)) (3)
a__adx(cons(X,Y)) a__incr(cons(X,adx(Y))) (4)
a__hd(cons(X,Y)) mark(X) (5)
a__tl(cons(X,Y)) mark(Y) (6)
mark(nats) a__nats (7)
mark(adx(X)) a__adx(mark(X)) (8)
mark(zeros) a__zeros (9)
mark(incr(X)) a__incr(mark(X)) (10)
mark(hd(X)) a__hd(mark(X)) (11)
mark(tl(X)) a__tl(mark(X)) (12)
mark(cons(X1,X2)) cons(X1,X2) (13)
mark(0) 0 (14)
mark(s(X)) s(X) (15)
a__nats nats (16)
a__adx(X) adx(X) (17)
a__zeros zeros (18)
a__incr(X) incr(X) (19)
a__hd(X) hd(X) (20)
a__tl(X) tl(X) (21)

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#(zeros) a__zeros# (22)
mark#(tl(X)) mark#(X) (23)
mark#(adx(X)) a__adx#(mark(X)) (24)
mark#(incr(X)) mark#(X) (25)
a__nats# a__adx#(a__zeros) (26)
a__nats# a__zeros# (27)
mark#(adx(X)) mark#(X) (28)
mark#(nats) a__nats# (29)
a__hd#(cons(X,Y)) mark#(X) (30)
mark#(tl(X)) a__tl#(mark(X)) (31)
mark#(hd(X)) a__hd#(mark(X)) (32)
a__tl#(cons(X,Y)) mark#(Y) (33)
mark#(incr(X)) a__incr#(mark(X)) (34)
a__adx#(cons(X,Y)) a__incr#(cons(X,adx(Y))) (35)
mark#(hd(X)) mark#(X) (36)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.