Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex1_Luc04b_GM)

The rewrite relation of the following TRS is considered.

a__nats cons(0,incr(nats)) (1)
a__pairs cons(0,incr(odds)) (2)
a__odds a__incr(a__pairs) (3)
a__incr(cons(X,XS)) cons(s(mark(X)),incr(XS)) (4)
a__head(cons(X,XS)) mark(X) (5)
a__tail(cons(X,XS)) mark(XS) (6)
mark(nats) a__nats (7)
mark(incr(X)) a__incr(mark(X)) (8)
mark(pairs) a__pairs (9)
mark(odds) a__odds (10)
mark(head(X)) a__head(mark(X)) (11)
mark(tail(X)) a__tail(mark(X)) (12)
mark(cons(X1,X2)) cons(mark(X1),X2) (13)
mark(0) 0 (14)
mark(s(X)) s(mark(X)) (15)
a__nats nats (16)
a__incr(X) incr(X) (17)
a__pairs pairs (18)
a__odds odds (19)
a__head(X) head(X) (20)
a__tail(X) tail(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#(cons(X1,X2)) mark#(X1) (22)
mark#(tail(X)) a__tail#(mark(X)) (23)
mark#(incr(X)) a__incr#(mark(X)) (24)
mark#(odds) a__odds# (25)
a__odds# a__incr#(a__pairs) (26)
a__odds# a__pairs# (27)
mark#(incr(X)) mark#(X) (28)
mark#(tail(X)) mark#(X) (29)
a__head#(cons(X,XS)) mark#(X) (30)
mark#(head(X)) mark#(X) (31)
a__incr#(cons(X,XS)) mark#(X) (32)
mark#(pairs) a__pairs# (33)
a__tail#(cons(X,XS)) mark#(XS) (34)
mark#(nats) a__nats# (35)
mark#(s(X)) mark#(X) (36)
mark#(head(X)) a__head#(mark(X)) (37)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.