Certification Problem

Input (TPDB TRS_Standard/SK90/4.26)

The rewrite relation of the following TRS is considered.

rev(nil) nil (1)
rev(rev(x)) x (2)
rev(++(x,y)) ++(rev(y),rev(x)) (3)
++(nil,y) y (4)
++(x,nil) x (5)
++(.(x,y),z) .(x,++(y,z)) (6)
++(x,++(y,z)) ++(++(x,y),z) (7)
make(x) .(x,nil) (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.
++#(x,++(y,z)) ++#(++(x,y),z) (9)
rev#(++(x,y)) rev#(x) (10)
rev#(++(x,y)) rev#(y) (11)
++#(x,++(y,z)) ++#(x,y) (12)
++#(.(x,y),z) ++#(y,z) (13)
rev#(++(x,y)) ++#(rev(y),rev(x)) (14)

1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.