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) |
[car(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[false] | = |
|
||||||||||||||||||||||||||||||||||||
[rev(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[++(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[cdr(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[true] | = |
|
||||||||||||||||||||||||||||||||||||
[null(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[.(x1, x2)] | = |
|
car(.(x,y)) | → | x | (3) |
cdr(.(x,y)) | → | y | (4) |
null(nil) | → | true | (5) |
null(.(x,y)) | → | false | (6) |
++(nil,y) | → | y | (7) |
[rev(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[++(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[.(x1, x2)] | = |
|
rev(nil) | → | nil | (1) |
[rev(x1)] | = |
|
||||||||||||||||||||||||||||||||||||
[++(x1, x2)] | = |
|
||||||||||||||||||||||||||||||||||||
[nil] | = |
|
||||||||||||||||||||||||||||||||||||
[.(x1, x2)] | = |
|
rev(.(x,y)) | → | ++(rev(y),.(x,nil)) | (2) |
prec(++) | = | 1 | weight(++) | = | 0 | ||||
prec(.) | = | 0 | weight(.) | = | 0 |
++(.(x,y),z) | → | .(x,++(y,z)) | (8) |
There are no rules in the TRS. Hence, it is terminating.