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 AProVE @ termCOMP 2023)

1 Rule Removal

Using the
prec(rev) = 2 stat(rev) = lex
prec(nil) = 3 stat(nil) = lex
prec(++) = 1 stat(++) = lex
prec(.) = 0 stat(.) = lex
prec(make) = 3 stat(make) = lex

π(rev) = [1]
π(nil) = []
π(++) = [2,1]
π(.) = [2,1]
π(make) = [1]

all of the following rules can be deleted.
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)

1.1 R is empty

There are no rules in the TRS. Hence, it is terminating.