The rewrite relation of the following TRS is considered.
| rev(nil) | → | nil | (1) |
| rev(++(x,y)) | → | ++(rev1(x,y),rev2(x,y)) | (2) |
| rev1(x,nil) | → | x | (3) |
| rev1(x,++(y,z)) | → | rev1(y,z) | (4) |
| rev2(x,nil) | → | nil | (5) |
| rev2(x,++(y,z)) | → | rev(++(x,rev(rev2(y,z)))) | (6) |
| rev#(++(x,y)) | → | rev2#(x,y) | (7) |
| rev1#(x,++(y,z)) | → | rev1#(y,z) | (8) |
| rev2#(x,++(y,z)) | → | rev2#(y,z) | (9) |
| rev2#(x,++(y,z)) | → | rev#(++(x,rev(rev2(y,z)))) | (10) |
| rev#(++(x,y)) | → | rev1#(x,y) | (11) |
| rev2#(x,++(y,z)) | → | rev#(rev2(y,z)) | (12) |
The dependency pairs are split into 2 components.
| rev2#(x,++(y,z)) | → | rev#(rev2(y,z)) | (12) |
| rev2#(x,++(y,z)) | → | rev#(++(x,rev(rev2(y,z)))) | (10) |
| rev2#(x,++(y,z)) | → | rev2#(y,z) | (9) |
| rev#(++(x,y)) | → | rev2#(x,y) | (7) |
| [rev#(x1)] | = | x1 + 0 |
| [rev1(x1, x2)] | = | x2 + 1 |
| [++(x1, x2)] | = | x2 + 11799 |
| [rev1#(x1, x2)] | = | 0 |
| [rev2#(x1, x2)] | = | x2 + 11798 |
| [nil] | = | 1 |
| [rev(x1)] | = | x1 + 0 |
| [rev2(x1, x2)] | = | x2 + 0 |
| rev(nil) | → | nil | (1) |
| rev2(x,nil) | → | nil | (5) |
| rev2(x,++(y,z)) | → | rev(++(x,rev(rev2(y,z)))) | (6) |
| rev(++(x,y)) | → | ++(rev1(x,y),rev2(x,y)) | (2) |
| rev2#(x,++(y,z)) | → | rev#(rev2(y,z)) | (12) |
| rev2#(x,++(y,z)) | → | rev#(++(x,rev(rev2(y,z)))) | (10) |
| rev2#(x,++(y,z)) | → | rev2#(y,z) | (9) |
| rev#(++(x,y)) | → | rev2#(x,y) | (7) |
The dependency pairs are split into 0 components.
| rev1#(x,++(y,z)) | → | rev1#(y,z) | (8) |
| [rev#(x1)] | = | x1 + 0 |
| [rev1(x1, x2)] | = | x2 + 1 |
| [++(x1, x2)] | = | x2 + 32286 |
| [rev1#(x1, x2)] | = | x2 + 0 |
| [rev2#(x1, x2)] | = | 11798 |
| [nil] | = | 1 |
| [rev(x1)] | = | x1 + 0 |
| [rev2(x1, x2)] | = | x2 + 0 |
| rev(nil) | → | nil | (1) |
| rev2(x,nil) | → | nil | (5) |
| rev2(x,++(y,z)) | → | rev(++(x,rev(rev2(y,z)))) | (6) |
| rev(++(x,y)) | → | ++(rev1(x,y),rev2(x,y)) | (2) |
| rev1#(x,++(y,z)) | → | rev1#(y,z) | (8) |
The dependency pairs are split into 0 components.