The rewrite relation of the following equational TRS is considered.
1 | → | s(0) | (1) |
2 | → | s(1) | (2) |
3 | → | s(2) | (3) |
4 | → | s(3) | (4) |
5 | → | s(4) | (5) |
6 | → | s(5) | (6) |
7 | → | s(6) | (7) |
8 | → | s(7) | (8) |
9 | → | s(8) | (9) |
max'(0,x) | → | x | (10) |
max'(s(x),s(y)) | → | s(max'(x,y)) | (11) |
app(empty,X) | → | X | (12) |
max(singl(x)) | → | x | (13) |
max(app(singl(x),Y)) | → | max2(x,Y) | (14) |
max2(x,empty) | → | x | (15) |
max2(x,singl(y)) | → | max'(x,y) | (16) |
max2(x,app(singl(y),Z)) | → | max2(max'(x,y),Z) | (17) |
Associative symbols: app
Commutative symbols: max', app
The following set of (strict) dependency pairs is constructed for the TRS.
6# | → | 5# | (25) |
max2#(x,singl(y)) | → | max'#(x,y) | (26) |
max2#(x,app(singl(y),Z)) | → | max2#(max'(x,y),Z) | (27) |
3# | → | 2# | (28) |
7# | → | 6# | (29) |
max2#(x,app(singl(y),Z)) | → | max'#(x,y) | (30) |
max#(app(singl(x),Y)) | → | max2#(x,Y) | (31) |
4# | → | 3# | (32) |
9# | → | 8# | (33) |
2# | → | 1# | (34) |
5# | → | 4# | (35) |
8# | → | 7# | (36) |
max'#(s(x),s(y)) | → | max'#(x,y) | (37) |
The dependency pairs are split into 3 components.
app#(x,app(y,z)) | → | app#(x,y) | (23) |
app#(x,app(y,z)) | → | app#(app(x,y),z) | (22) |
app#(x,y) | → | app#(y,x) | (21) |
max2#(x,app(singl(y),Z)) | → | max2#(max'(x,y),Z) | (27) |
[7] | = | 0 |
[1] | = | 0 |
[4] | = | 0 |
[s(x1)] | = | x1 + 1 |
[7#] | = | 0 |
[max2(x1, x2)] | = | 0 |
[max'(x1, x2)] | = | x1 + x2 + 1 |
[5] | = | 0 |
[max'#(x1, x2)] | = | 0 |
[3] | = | 0 |
[6#] | = | 0 |
[8#] | = | 0 |
[2#] | = | 0 |
[9] | = | 0 |
[max2#(x1, x2)] | = | x1 + x2 + 0 |
[8] | = | 0 |
[4#] | = | 0 |
[9#] | = | 0 |
[0] | = | 10157 |
[max(x1)] | = | 0 |
[max#(x1)] | = | 0 |
[3#] | = | 0 |
[app#(x1, x2)] | = | 0 |
[singl(x1)] | = | x1 + 2 |
[5#] | = | 0 |
[2] | = | 0 |
[empty] | = | 0 |
[6] | = | 0 |
[1#] | = | 0 |
[app(x1, x2)] | = | x1 + x2 + 11797 |
max'(x,y) | → | max'(y,x) | (20) |
max'(0,x) | → | x | (10) |
max'(s(x),s(y)) | → | s(max'(x,y)) | (11) |
max2#(x,app(singl(y),Z)) | → | max2#(max'(x,y),Z) | (27) |
The dependency pairs are split into 0 components.
max'#(s(x),s(y)) | → | max'#(x,y) | (37) |
max'#(x,y) | → | max'#(y,x) | (24) |
[7] | = | 0 |
[1] | = | 0 |
[4] | = | 0 |
[s(x1)] | = | x1 + 1 |
[7#] | = | 0 |
[max2(x1, x2)] | = | 0 |
[max'(x1, x2)] | = | x1 + x2 + 1 |
[5] | = | 0 |
[max'#(x1, x2)] | = | x1 + x2 + 0 |
[3] | = | 0 |
[6#] | = | 0 |
[8#] | = | 0 |
[2#] | = | 0 |
[9] | = | 0 |
[max2#(x1, x2)] | = | x1 + 0 |
[8] | = | 0 |
[4#] | = | 0 |
[9#] | = | 0 |
[0] | = | 10157 |
[max(x1)] | = | 0 |
[max#(x1)] | = | 0 |
[3#] | = | 0 |
[app#(x1, x2)] | = | 0 |
[singl(x1)] | = | 2 |
[5#] | = | 0 |
[2] | = | 0 |
[empty] | = | 0 |
[6] | = | 0 |
[1#] | = | 0 |
[app(x1, x2)] | = | 11797 |
max'(x,y) | → | max'(y,x) | (20) |
max'(0,x) | → | x | (10) |
max'(s(x),s(y)) | → | s(max'(x,y)) | (11) |
max'#(s(x),s(y)) | → | max'#(x,y) | (37) |
The dependency pairs are split into 1 component.
max'#(x,y) | → | max'#(y,x) | (24) |
The extended rules of the TRS
app(app(empty,X),_1) | → | app(X,_1) | (38) |
The dependency pairs are split into 2 components.
max'#(x,y) | → | max'#(y,x) | (24) |
app#(app(empty,X),_1) | → | app#(X,_1) | (39) |
app#(x,app(y,z)) | → | app#(x,y) | (23) |
app#(x,y) | → | app#(y,x) | (21) |
app#(x,app(y,z)) | → | app#(app(x,y),z) | (22) |
[7] | = | 0 |
[1] | = | 0 |
[4] | = | 0 |
[s(x1)] | = | x1 + 1 |
[7#] | = | 0 |
[max2(x1, x2)] | = | 0 |
[max'(x1, x2)] | = | x1 + x2 + 1 |
[5] | = | 0 |
[max'#(x1, x2)] | = | 0 |
[3] | = | 0 |
[6#] | = | 0 |
[8#] | = | 0 |
[2#] | = | 0 |
[9] | = | 0 |
[max2#(x1, x2)] | = | x1 + 0 |
[8] | = | 0 |
[4#] | = | 0 |
[9#] | = | 0 |
[0] | = | 10157 |
[max(x1)] | = | 0 |
[max#(x1)] | = | 0 |
[3#] | = | 0 |
[app#(x1, x2)] | = | x1 + x2 + 0 |
[singl(x1)] | = | 2 |
[5#] | = | 0 |
[2] | = | 0 |
[empty] | = | 40651 |
[6] | = | 0 |
[1#] | = | 0 |
[app(x1, x2)] | = | x1 + x2 + 11797 |
max'(x,y) | → | max'(y,x) | (20) |
app(x,app(y,z)) | → | app(app(x,y),z) | (19) |
max'(0,x) | → | x | (10) |
app(x,y) | → | app(y,x) | (18) |
app(empty,X) | → | X | (12) |
max'(s(x),s(y)) | → | s(max'(x,y)) | (11) |
app#(x,app(y,z)) | → | app#(x,y) | (23) |
app#(app(empty,X),_1) | → | app#(X,_1) | (39) |
The dependency pairs are split into 1 component.
app#(x,app(y,z)) | → | app#(app(x,y),z) | (22) |
app#(x,y) | → | app#(y,x) | (21) |