The rewrite relation of the following TRS is considered.
| f(x,f(s(s(y)),f(z,w))) | → | f(s(x),f(y,f(s(z),w))) | (1) |
| L(f(s(s(y)),f(z,w))) | → | L(f(s(0),f(y,f(s(z),w)))) | (2) |
| f(x,f(s(s(y)),nil)) | → | f(s(x),f(y,f(s(0),nil))) | (3) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(s(x),f(y,f(s(z),w))) | (4) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(y,f(s(z),w)) | (5) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(s(z),w) | (6) |
| L#(f(s(s(y)),f(z,w))) | → | L#(f(s(0),f(y,f(s(z),w)))) | (7) |
| L#(f(s(s(y)),f(z,w))) | → | f#(s(0),f(y,f(s(z),w))) | (8) |
| L#(f(s(s(y)),f(z,w))) | → | f#(y,f(s(z),w)) | (9) |
| L#(f(s(s(y)),f(z,w))) | → | f#(s(z),w) | (10) |
| f#(x,f(s(s(y)),nil)) | → | f#(s(x),f(y,f(s(0),nil))) | (11) |
| f#(x,f(s(s(y)),nil)) | → | f#(y,f(s(0),nil)) | (12) |
| f#(x,f(s(s(y)),nil)) | → | f#(s(0),nil) | (13) |
The dependency pairs are split into 2 components.
| L#(f(s(s(y)),f(z,w))) | → | L#(f(s(0),f(y,f(s(z),w)))) | (7) |
| [f(x1, x2)] | = | 1 · x1 + 1 · x2 |
| [s(x1)] | = | 1 · x1 |
| [nil] | = | 0 |
| [0] | = | 0 |
| [L#(x1)] | = | 1 · x1 |
| f(x,f(s(s(y)),nil)) | → | f(s(x),f(y,f(s(0),nil))) | (3) |
| f(x,f(s(s(y)),f(z,w))) | → | f(s(x),f(y,f(s(z),w))) | (1) |
| [L#(x1)] | = | -1 + x1 |
| [f(x1, x2)] | = | -1 + x1 + x2 |
| [s(x1)] | = | 2 + x1 |
| [nil] | = | 0 |
| [0] | = | 0 |
| L#(f(s(s(y)),f(z,w))) | → | L#(f(s(0),f(y,f(s(z),w)))) | (7) |
There are no pairs anymore.
| f#(x,f(s(s(y)),f(z,w))) | → | f#(y,f(s(z),w)) | (5) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(s(x),f(y,f(s(z),w))) | (4) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(s(z),w) | (6) |
| f#(x,f(s(s(y)),nil)) | → | f#(s(x),f(y,f(s(0),nil))) | (11) |
| [f(x1, x2)] | = | 1 · x1 + 1 · x2 |
| [s(x1)] | = | 1 · x1 |
| [nil] | = | 0 |
| [0] | = | 0 |
| [f#(x1, x2)] | = | 1 · x1 + 1 · x2 |
| f(x,f(s(s(y)),nil)) | → | f(s(x),f(y,f(s(0),nil))) | (3) |
| f(x,f(s(s(y)),f(z,w))) | → | f(s(x),f(y,f(s(z),w))) | (1) |
| [f(x1, x2)] | = | 2 · x1 + 1 · x2 |
| [s(x1)] | = | 1 + 1 · x1 |
| [nil] | = | 0 |
| [0] | = | 0 |
| [f#(x1, x2)] | = | 1 · x1 + 2 · x2 |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(y,f(s(z),w)) | (5) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(s(x),f(y,f(s(z),w))) | (4) |
| f#(x,f(s(s(y)),f(z,w))) | → | f#(s(z),w) | (6) |
| f#(x,f(s(s(y)),nil)) | → | f#(s(x),f(y,f(s(0),nil))) | (11) |
There are no pairs anymore.