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.