The rewrite relation of the following TRS is considered.
f(x,f(y,a)) | → | f(f(f(f(a,x),y),a),h(a)) | (1) |
The TRS is overlay and locally confluent:
10Hence, it suffices to show innermost termination in the following.
f#(x,f(y,a)) | → | f#(f(f(f(a,x),y),a),h(a)) | (2) |
f#(x,f(y,a)) | → | f#(f(f(a,x),y),a) | (3) |
f#(x,f(y,a)) | → | f#(f(a,x),y) | (4) |
f#(x,f(y,a)) | → | f#(a,x) | (5) |
The dependency pairs are split into 1 component.
f#(x,f(y,a)) | → | f#(a,x) | (5) |
f#(x,f(y,a)) | → | f#(f(a,x),y) | (4) |
f#(f(y_1,a),f(x1,a)) | → | f#(a,f(y_1,a)) | (6) |
f#(x0,f(f(y_1,a),a)) | → | f#(f(a,x0),f(y_1,a)) | (7) |
f#(a,f(f(y_1,a),a)) | → | f#(f(a,a),f(y_1,a)) | (8) |
As carrier we take the set {0,1}. Symbols are labeled by the interpretation of their arguments using the interpretations (modulo 2):
[a] | = | 0 |
[f(x1, x2)] | = | 0 |
[h(x1)] | = | 1 |
[f#(x1, x2)] | = | 0 |
f#00(f00(y_1,a),f00(x1,a)) | → | f#00(a,f00(y_1,a)) | (9) |
f#00(x0,f00(f00(y_1,a),a)) | → | f#00(f00(a,x0),f00(y_1,a)) | (10) |
f#00(x0,f00(f10(y_1,a),a)) | → | f#00(f00(a,x0),f10(y_1,a)) | (11) |
f#10(x0,f00(f00(y_1,a),a)) | → | f#00(f01(a,x0),f00(y_1,a)) | (12) |
f#10(x0,f00(f10(y_1,a),a)) | → | f#00(f01(a,x0),f10(y_1,a)) | (13) |
f#00(f00(y_1,a),f10(x1,a)) | → | f#00(a,f00(y_1,a)) | (14) |
f#00(f10(y_1,a),f00(x1,a)) | → | f#00(a,f10(y_1,a)) | (15) |
f#00(f10(y_1,a),f10(x1,a)) | → | f#00(a,f10(y_1,a)) | (16) |
f#00(a,f00(f00(y_1,a),a)) | → | f#00(f00(a,a),f00(y_1,a)) | (17) |
f#00(a,f00(f10(y_1,a),a)) | → | f#00(f00(a,a),f10(y_1,a)) | (18) |
f00(x,f00(y,a)) | → | f01(f00(f00(f00(a,x),y),a),h0(a)) | (19) |
f00(x,f10(y,a)) | → | f01(f00(f01(f00(a,x),y),a),h0(a)) | (20) |
f10(x,f00(y,a)) | → | f01(f00(f00(f01(a,x),y),a),h0(a)) | (21) |
f10(x,f10(y,a)) | → | f01(f00(f01(f01(a,x),y),a),h0(a)) | (22) |
Innermost rewriting w.r.t. the following left-hand sides is considered:
f00(x0,f00(x1,a)) |
f00(x0,f10(x1,a)) |
f10(x0,f00(x1,a)) |
f10(x0,f10(x1,a)) |
The dependency pairs are split into 1 component.
f#00(x0,f00(f00(y_1,a),a)) | → | f#00(f00(a,x0),f00(y_1,a)) | (10) |
f#00(f00(y_1,a),f00(x1,a)) | → | f#00(a,f00(y_1,a)) | (9) |
f#00(x0,f00(f10(y_1,a),a)) | → | f#00(f00(a,x0),f10(y_1,a)) | (11) |
f#00(f00(y_1,a),f10(x1,a)) | → | f#00(a,f00(y_1,a)) | (14) |
f#00(a,f00(f00(y_1,a),a)) | → | f#00(f00(a,a),f00(y_1,a)) | (17) |
f#00(a,f00(f10(y_1,a),a)) | → | f#00(f00(a,a),f10(y_1,a)) | (18) |
[f00(x1, x2)] | = | 1 · x1 + 1 · x2 |
[a] | = | 0 |
[f01(x1, x2)] | = | 1 · x1 + 1 · x2 |
[h0(x1)] | = | 1 · x1 |
[f10(x1, x2)] | = | 1 · x1 + 1 · x2 |
[f#00(x1, x2)] | = | 1 · x1 + 1 · x2 |
f00(x,f00(y,a)) | → | f01(f00(f00(f00(a,x),y),a),h0(a)) | (19) |
f00(x,f10(y,a)) | → | f01(f00(f01(f00(a,x),y),a),h0(a)) | (20) |
[f00(x1, x2)] | = | 1 · x1 + 1 · x2 |
[a] | = | 0 |
[f01(x1, x2)] | = | 1 · x1 + 1 · x2 |
[h0(x1)] | = | 1 · x1 |
[f10(x1, x2)] | = | 1 + 1 · x1 + 1 · x2 |
[f#00(x1, x2)] | = | 1 · x1 + 1 · x2 |
f#00(f00(y_1,a),f10(x1,a)) | → | f#00(a,f00(y_1,a)) | (14) |
f00(x,f10(y,a)) | → | f01(f00(f01(f00(a,x),y),a),h0(a)) | (20) |
The dependency pairs are split into 1 component.
f#00(f00(y_1,a),f00(x1,a)) | → | f#00(a,f00(y_1,a)) | (9) |
f#00(x0,f00(f00(y_1,a),a)) | → | f#00(f00(a,x0),f00(y_1,a)) | (10) |
f#00(a,f00(f00(y_1,a),a)) | → | f#00(f00(a,a),f00(y_1,a)) | (17) |
[f#00(x1, x2)] | = | 1 · x1 + 1 · x2 |
[f00(x1, x2)] | = | 1 + 1 · x1 |
[a] | = | 0 |
[f01(x1, x2)] | = | 1 · x2 |
[h0(x1)] | = | 1 · x1 |
f#00(f00(y_1,a),f00(x1,a)) | → | f#00(a,f00(y_1,a)) | (9) |
The dependency pairs are split into 1 component.
f#00(x0,f00(f00(y_1,a),a)) | → | f#00(f00(a,x0),f00(y_1,a)) | (10) |
[f#00(x1, x2)] | = | 1 · x2 |
[f00(x1, x2)] | = | 1 + 1 · x1 |
[a] | = | 1 |
[f01(x1, x2)] | = | 1 + 1 · x2 |
[h0(x1)] | = | 0 |
f#00(x0,f00(f00(y_1,a),a)) | → | f#00(f00(a,x0),f00(y_1,a)) | (10) |
There are no pairs anymore.