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.