The rewrite relation of the following TRS is considered.
active(f(X)) | → | mark(if(X,c,f(true))) | (1) |
active(if(true,X,Y)) | → | mark(X) | (2) |
active(if(false,X,Y)) | → | mark(Y) | (3) |
mark(f(X)) | → | active(f(mark(X))) | (4) |
mark(if(X1,X2,X3)) | → | active(if(mark(X1),mark(X2),X3)) | (5) |
mark(c) | → | active(c) | (6) |
mark(true) | → | active(true) | (7) |
mark(false) | → | active(false) | (8) |
f(mark(X)) | → | f(X) | (9) |
f(active(X)) | → | f(X) | (10) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
mark#(c) | → | active#(c) | (17) |
if#(X1,mark(X2),X3) | → | if#(X1,X2,X3) | (18) |
mark#(if(X1,X2,X3)) | → | mark#(X2) | (19) |
f#(active(X)) | → | f#(X) | (20) |
mark#(if(X1,X2,X3)) | → | if#(mark(X1),mark(X2),X3) | (21) |
mark#(f(X)) | → | mark#(X) | (22) |
mark#(if(X1,X2,X3)) | → | mark#(X1) | (23) |
if#(X1,X2,active(X3)) | → | if#(X1,X2,X3) | (24) |
if#(X1,active(X2),X3) | → | if#(X1,X2,X3) | (25) |
if#(active(X1),X2,X3) | → | if#(X1,X2,X3) | (26) |
mark#(if(X1,X2,X3)) | → | active#(if(mark(X1),mark(X2),X3)) | (27) |
if#(mark(X1),X2,X3) | → | if#(X1,X2,X3) | (28) |
mark#(f(X)) | → | f#(mark(X)) | (29) |
active#(f(X)) | → | if#(X,c,f(true)) | (30) |
mark#(false) | → | active#(false) | (31) |
mark#(f(X)) | → | active#(f(mark(X))) | (32) |
active#(f(X)) | → | mark#(if(X,c,f(true))) | (33) |
if#(X1,X2,mark(X3)) | → | if#(X1,X2,X3) | (34) |
active#(if(true,X,Y)) | → | mark#(X) | (35) |
mark#(true) | → | active#(true) | (36) |
active#(if(false,X,Y)) | → | mark#(Y) | (37) |
f#(mark(X)) | → | f#(X) | (38) |
active#(f(X)) | → | f#(true) | (39) |
The dependency pairs are split into 3 components.
active#(if(false,X,Y)) | → | mark#(Y) | (37) |
mark#(if(X1,X2,X3)) | → | mark#(X1) | (23) |
active#(if(true,X,Y)) | → | mark#(X) | (35) |
mark#(f(X)) | → | mark#(X) | (22) |
active#(f(X)) | → | mark#(if(X,c,f(true))) | (33) |
mark#(f(X)) | → | active#(f(mark(X))) | (32) |
mark#(if(X1,X2,X3)) | → | mark#(X2) | (19) |
mark#(if(X1,X2,X3)) | → | active#(if(mark(X1),mark(X2),X3)) | (27) |
[false] | = | 8856 |
[c] | = | 0 |
[true] | = | 0 |
[f(x1)] | = | x1 + 2438 |
[mark#(x1)] | = | x1 + 0 |
[if(x1, x2, x3)] | = | x1 + x2 + x3 + 0 |
[mark(x1)] | = | x1 + 0 |
[f#(x1)] | = | 0 |
[active(x1)] | = | x1 + 0 |
[if#(x1, x2, x3)] | = | 0 |
[active#(x1)] | = | x1 + 0 |
mark(f(X)) | → | active(f(mark(X))) | (4) |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
mark(false) | → | active(false) | (8) |
active(f(X)) | → | mark(if(X,c,f(true))) | (1) |
active(if(false,X,Y)) | → | mark(Y) | (3) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
mark(if(X1,X2,X3)) | → | active(if(mark(X1),mark(X2),X3)) | (5) |
f(active(X)) | → | f(X) | (10) |
mark(true) | → | active(true) | (7) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
f(mark(X)) | → | f(X) | (9) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
mark(c) | → | active(c) | (6) |
active(if(true,X,Y)) | → | mark(X) | (2) |
active#(if(false,X,Y)) | → | mark#(Y) | (37) |
mark#(f(X)) | → | mark#(X) | (22) |
The dependency pairs are split into 1 component.
mark#(f(X)) | → | active#(f(mark(X))) | (32) |
active#(f(X)) | → | mark#(if(X,c,f(true))) | (33) |
mark#(if(X1,X2,X3)) | → | mark#(X2) | (19) |
mark#(if(X1,X2,X3)) | → | mark#(X1) | (23) |
mark#(if(X1,X2,X3)) | → | active#(if(mark(X1),mark(X2),X3)) | (27) |
active#(if(true,X,Y)) | → | mark#(X) | (35) |
[false] | = | 2438 |
[c] | = | 16575 |
[true] | = | 0 |
[f(x1)] | = | x1 + 37816 |
[mark#(x1)] | = | x1 + 0 |
[if(x1, x2, x3)] | = | max(x1 + 1, x2 + 21240, x3 + 0, 0) |
[mark(x1)] | = | x1 + 0 |
[f#(x1)] | = | 0 |
[active(x1)] | = | x1 + 0 |
[if#(x1, x2, x3)] | = | max(0) |
[active#(x1)] | = | x1 + 0 |
mark(f(X)) | → | active(f(mark(X))) | (4) |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
mark(false) | → | active(false) | (8) |
active(f(X)) | → | mark(if(X,c,f(true))) | (1) |
active(if(false,X,Y)) | → | mark(Y) | (3) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
mark(if(X1,X2,X3)) | → | active(if(mark(X1),mark(X2),X3)) | (5) |
f(active(X)) | → | f(X) | (10) |
mark(true) | → | active(true) | (7) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
f(mark(X)) | → | f(X) | (9) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
mark(c) | → | active(c) | (6) |
active(if(true,X,Y)) | → | mark(X) | (2) |
mark#(if(X1,X2,X3)) | → | mark#(X2) | (19) |
mark#(if(X1,X2,X3)) | → | mark#(X1) | (23) |
active#(if(true,X,Y)) | → | mark#(X) | (35) |
The dependency pairs are split into 1 component.
mark#(f(X)) | → | active#(f(mark(X))) | (32) |
active#(f(X)) | → | mark#(if(X,c,f(true))) | (33) |
mark#(if(X1,X2,X3)) | → | active#(if(mark(X1),mark(X2),X3)) | (27) |
[false] | = | 1 |
[c] | = | 1 |
[true] | = | 1 |
[f(x1)] | = | 21657 |
[mark#(x1)] | = | 21657 |
[if(x1, x2, x3)] | = | 1 |
[mark(x1)] | = | 1 |
[f#(x1)] | = | 0 |
[active(x1)] | = | 2 |
[if#(x1, x2, x3)] | = | 0 |
[active#(x1)] | = | x1 + 0 |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
f(active(X)) | → | f(X) | (10) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
f(mark(X)) | → | f(X) | (9) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
mark#(if(X1,X2,X3)) | → | active#(if(mark(X1),mark(X2),X3)) | (27) |
The dependency pairs are split into 1 component.
mark#(f(X)) | → | active#(f(mark(X))) | (32) |
active#(f(X)) | → | mark#(if(X,c,f(true))) | (33) |
[false] | = | 1 |
[c] | = | 1 |
[true] | = | 1 |
[f(x1)] | = | x1 + 19430 |
[mark#(x1)] | = | x1 + 0 |
[if(x1, x2, x3)] | = | 19428 |
[mark(x1)] | = | 591 |
[f#(x1)] | = | 0 |
[active(x1)] | = | 592 |
[if#(x1, x2, x3)] | = | 0 |
[active#(x1)] | = | 19429 |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
mark#(f(X)) | → | active#(f(mark(X))) | (32) |
active#(f(X)) | → | mark#(if(X,c,f(true))) | (33) |
The dependency pairs are split into 0 components.
f#(mark(X)) | → | f#(X) | (38) |
f#(active(X)) | → | f#(X) | (20) |
[false] | = | 1 |
[c] | = | 35102 |
[true] | = | 0 |
[f(x1)] | = | x1 + 1 |
[mark#(x1)] | = | x1 + 0 |
[if(x1, x2, x3)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[f#(x1)] | = | x1 + 0 |
[active(x1)] | = | x1 + 2 |
[if#(x1, x2, x3)] | = | 0 |
[active#(x1)] | = | 19429 |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
f#(mark(X)) | → | f#(X) | (38) |
f#(active(X)) | → | f#(X) | (20) |
The dependency pairs are split into 0 components.
if#(X1,X2,active(X3)) | → | if#(X1,X2,X3) | (24) |
if#(X1,X2,mark(X3)) | → | if#(X1,X2,X3) | (34) |
if#(X1,mark(X2),X3) | → | if#(X1,X2,X3) | (18) |
if#(mark(X1),X2,X3) | → | if#(X1,X2,X3) | (28) |
if#(active(X1),X2,X3) | → | if#(X1,X2,X3) | (26) |
if#(X1,active(X2),X3) | → | if#(X1,X2,X3) | (25) |
[false] | = | 1 |
[c] | = | 1 |
[true] | = | 0 |
[f(x1)] | = | x1 + 1 |
[mark#(x1)] | = | x1 + 0 |
[if(x1, x2, x3)] | = | 0 |
[mark(x1)] | = | x1 + 1 |
[f#(x1)] | = | 0 |
[active(x1)] | = | x1 + 2 |
[if#(x1, x2, x3)] | = | x1 + x2 + x3 + 0 |
[active#(x1)] | = | 19429 |
if(X1,active(X2),X3) | → | if(X1,X2,X3) | (15) |
if(X1,X2,active(X3)) | → | if(X1,X2,X3) | (16) |
if(active(X1),X2,X3) | → | if(X1,X2,X3) | (14) |
if(X1,mark(X2),X3) | → | if(X1,X2,X3) | (12) |
if(mark(X1),X2,X3) | → | if(X1,X2,X3) | (11) |
if(X1,X2,mark(X3)) | → | if(X1,X2,X3) | (13) |
if#(X1,X2,active(X3)) | → | if#(X1,X2,X3) | (24) |
if#(X1,X2,mark(X3)) | → | if#(X1,X2,X3) | (34) |
if#(X1,mark(X2),X3) | → | if#(X1,X2,X3) | (18) |
if#(mark(X1),X2,X3) | → | if#(X1,X2,X3) | (28) |
if#(active(X1),X2,X3) | → | if#(X1,X2,X3) | (26) |
if#(X1,active(X2),X3) | → | if#(X1,X2,X3) | (25) |
The dependency pairs are split into 0 components.