Certification Problem

Input (TPDB TRS_Standard/SK90/2.39)

The rewrite relation of the following TRS is considered.

rev(nil) nil (1)
rev(.(x,y)) ++(rev(y),.(x,nil)) (2)
car(.(x,y)) x (3)
cdr(.(x,y)) y (4)
null(nil) true (5)
null(.(x,y)) false (6)
++(nil,y) y (7)
++(.(x,y),z) .(x,++(y,z)) (8)

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.
rev#(.(x,y)) rev#(y) (9)
++#(.(x,y),z) ++#(y,z) (10)
rev#(.(x,y)) ++#(rev(y),.(x,nil)) (11)

1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.