The rewrite relation of the following TRS is considered.
active(f(b,c,x)) | → | mark(f(x,x,x)) | (1) |
active(f(x,y,z)) | → | f(x,y,active(z)) | (2) |
active(d) | → | m(b) | (3) |
f(x,y,mark(z)) | → | mark(f(x,y,z)) | (4) |
active(d) | → | mark(c) | (5) |
proper(b) | → | ok(b) | (6) |
proper(c) | → | ok(c) | (7) |
proper(d) | → | ok(d) | (8) |
proper(f(x,y,z)) | → | f(proper(x),proper(y),proper(z)) | (9) |
f(ok(x),ok(y),ok(z)) | → | ok(f(x,y,z)) | (10) |
top(mark(x)) | → | top(proper(x)) | (11) |
top(ok(x)) | → | top(active(x)) | (12) |
active#(f(b,c,x)) | → | f#(x,x,x) | (13) |
active#(f(x,y,z)) | → | f#(x,y,active(z)) | (14) |
active#(f(x,y,z)) | → | active#(z) | (15) |
f#(x,y,mark(z)) | → | f#(x,y,z) | (16) |
proper#(f(x,y,z)) | → | f#(proper(x),proper(y),proper(z)) | (17) |
proper#(f(x,y,z)) | → | proper#(x) | (18) |
proper#(f(x,y,z)) | → | proper#(y) | (19) |
proper#(f(x,y,z)) | → | proper#(z) | (20) |
f#(ok(x),ok(y),ok(z)) | → | f#(x,y,z) | (21) |
top#(mark(x)) | → | top#(proper(x)) | (22) |
top#(mark(x)) | → | proper#(x) | (23) |
top#(ok(x)) | → | top#(active(x)) | (24) |
top#(ok(x)) | → | active#(x) | (25) |
The dependency pairs are split into 4 components.
top#(ok(x)) | → | top#(active(x)) | (24) |
top#(mark(x)) | → | top#(proper(x)) | (22) |
[proper(x1)] | = | 1 · x1 |
[b] | = | 0 |
[ok(x1)] | = | 2 · x1 |
[c] | = | 0 |
[d] | = | 0 |
[f(x1, x2, x3)] | = | 1 · x1 + 1 · x2 + 2 · x3 |
[mark(x1)] | = | 1 · x1 |
[active(x1)] | = | 2 · x1 |
[m(x1)] | = | 2 · x1 |
[top#(x1)] | = | 1 · x1 |
proper(b) | → | ok(b) | (6) |
proper(c) | → | ok(c) | (7) |
proper(d) | → | ok(d) | (8) |
proper(f(x,y,z)) | → | f(proper(x),proper(y),proper(z)) | (9) |
f(x,y,mark(z)) | → | mark(f(x,y,z)) | (4) |
f(ok(x),ok(y),ok(z)) | → | ok(f(x,y,z)) | (10) |
active(f(b,c,x)) | → | mark(f(x,x,x)) | (1) |
active(f(x,y,z)) | → | f(x,y,active(z)) | (2) |
active(d) | → | m(b) | (3) |
active(d) | → | mark(c) | (5) |
top#(ok(f(b,c,x0))) | → | top#(mark(f(x0,x0,x0))) | (26) |
top#(ok(f(x0,x1,x2))) | → | top#(f(x0,x1,active(x2))) | (27) |
top#(ok(d)) | → | top#(m(b)) | (28) |
top#(ok(d)) | → | top#(mark(c)) | (29) |
The dependency pairs are split into 1 component.
top#(mark(x)) | → | top#(proper(x)) | (22) |
top#(ok(f(b,c,x0))) | → | top#(mark(f(x0,x0,x0))) | (26) |
top#(ok(f(x0,x1,x2))) | → | top#(f(x0,x1,active(x2))) | (27) |
top#(ok(d)) | → | top#(mark(c)) | (29) |
top#(mark(b)) | → | top#(ok(b)) | (30) |
top#(mark(c)) | → | top#(ok(c)) | (31) |
top#(mark(d)) | → | top#(ok(d)) | (32) |
top#(mark(f(x0,x1,x2))) | → | top#(f(proper(x0),proper(x1),proper(x2))) | (33) |
The dependency pairs are split into 1 component.
top#(mark(f(x0,x1,x2))) | → | top#(f(proper(x0),proper(x1),proper(x2))) | (33) |
top#(ok(f(b,c,x0))) | → | top#(mark(f(x0,x0,x0))) | (26) |
top#(ok(f(x0,x1,x2))) | → | top#(f(x0,x1,active(x2))) | (27) |
As carrier we take the set {0,1}. Symbols are labeled by the interpretation of their arguments using the interpretations (modulo 2):
[active(x1)] | = | 0 |
[b] | = | 1 |
[c] | = | 0 |
[d] | = | 0 |
[proper(x1)] | = | 1x1 |
[f(x1, x2, x3)] | = | 0 |
[m(x1)] | = | 0 |
[top#(x1)] | = | 0 |
[ok(x1)] | = | 1x1 |
[mark(x1)] | = | 0 |
top#0(mark0(f000(x0,x1,x2))) | → | top#0(f000(proper0(x0),proper0(x1),proper0(x2))) | (34) |
top#0(ok0(f100(b,c,x0))) | → | top#0(mark0(f000(x0,x0,x0))) | (35) |
top#0(ok0(f101(b,c,x0))) | → | top#0(mark0(f111(x0,x0,x0))) | (36) |
top#0(mark0(f001(x0,x1,x2))) | → | top#0(f001(proper0(x0),proper0(x1),proper1(x2))) | (37) |
top#0(mark0(f010(x0,x1,x2))) | → | top#0(f010(proper0(x0),proper1(x1),proper0(x2))) | (38) |
top#0(mark0(f011(x0,x1,x2))) | → | top#0(f011(proper0(x0),proper1(x1),proper1(x2))) | (39) |
top#0(mark0(f100(x0,x1,x2))) | → | top#0(f100(proper1(x0),proper0(x1),proper0(x2))) | (40) |
top#0(mark0(f101(x0,x1,x2))) | → | top#0(f101(proper1(x0),proper0(x1),proper1(x2))) | (41) |
top#0(mark0(f110(x0,x1,x2))) | → | top#0(f110(proper1(x0),proper1(x1),proper0(x2))) | (42) |
top#0(mark0(f111(x0,x1,x2))) | → | top#0(f111(proper1(x0),proper1(x1),proper1(x2))) | (43) |
top#0(ok0(f000(x0,x1,x2))) | → | top#0(f000(x0,x1,active0(x2))) | (44) |
top#0(ok0(f001(x0,x1,x2))) | → | top#0(f000(x0,x1,active1(x2))) | (45) |
top#0(ok0(f010(x0,x1,x2))) | → | top#0(f010(x0,x1,active0(x2))) | (46) |
top#0(ok0(f011(x0,x1,x2))) | → | top#0(f010(x0,x1,active1(x2))) | (47) |
top#0(ok0(f100(x0,x1,x2))) | → | top#0(f100(x0,x1,active0(x2))) | (48) |
top#0(ok0(f101(x0,x1,x2))) | → | top#0(f100(x0,x1,active1(x2))) | (49) |
top#0(ok0(f110(x0,x1,x2))) | → | top#0(f110(x0,x1,active0(x2))) | (50) |
top#0(ok0(f111(x0,x1,x2))) | → | top#0(f110(x0,x1,active1(x2))) | (51) |
proper1(b) | → | ok1(b) | (52) |
proper0(c) | → | ok0(c) | (53) |
proper0(d) | → | ok0(d) | (54) |
proper0(f000(x,y,z)) | → | f000(proper0(x),proper0(y),proper0(z)) | (55) |
proper0(f001(x,y,z)) | → | f001(proper0(x),proper0(y),proper1(z)) | (56) |
proper0(f010(x,y,z)) | → | f010(proper0(x),proper1(y),proper0(z)) | (57) |
proper0(f011(x,y,z)) | → | f011(proper0(x),proper1(y),proper1(z)) | (58) |
proper0(f100(x,y,z)) | → | f100(proper1(x),proper0(y),proper0(z)) | (59) |
proper0(f101(x,y,z)) | → | f101(proper1(x),proper0(y),proper1(z)) | (60) |
proper0(f110(x,y,z)) | → | f110(proper1(x),proper1(y),proper0(z)) | (61) |
proper0(f111(x,y,z)) | → | f111(proper1(x),proper1(y),proper1(z)) | (62) |
f000(x,y,mark0(z)) | → | mark0(f000(x,y,z)) | (63) |
f000(x,y,mark1(z)) | → | mark0(f001(x,y,z)) | (64) |
f010(x,y,mark0(z)) | → | mark0(f010(x,y,z)) | (65) |
f010(x,y,mark1(z)) | → | mark0(f011(x,y,z)) | (66) |
f100(x,y,mark0(z)) | → | mark0(f100(x,y,z)) | (67) |
f100(x,y,mark1(z)) | → | mark0(f101(x,y,z)) | (68) |
f110(x,y,mark0(z)) | → | mark0(f110(x,y,z)) | (69) |
f110(x,y,mark1(z)) | → | mark0(f111(x,y,z)) | (70) |
f000(ok0(x),ok0(y),ok0(z)) | → | ok0(f000(x,y,z)) | (71) |
f001(ok0(x),ok0(y),ok1(z)) | → | ok0(f001(x,y,z)) | (72) |
f010(ok0(x),ok1(y),ok0(z)) | → | ok0(f010(x,y,z)) | (73) |
f011(ok0(x),ok1(y),ok1(z)) | → | ok0(f011(x,y,z)) | (74) |
f100(ok1(x),ok0(y),ok0(z)) | → | ok0(f100(x,y,z)) | (75) |
f101(ok1(x),ok0(y),ok1(z)) | → | ok0(f101(x,y,z)) | (76) |
f110(ok1(x),ok1(y),ok0(z)) | → | ok0(f110(x,y,z)) | (77) |
f111(ok1(x),ok1(y),ok1(z)) | → | ok0(f111(x,y,z)) | (78) |
active0(f100(b,c,x)) | → | mark0(f000(x,x,x)) | (79) |
active0(f101(b,c,x)) | → | mark0(f111(x,x,x)) | (80) |
active0(f000(x,y,z)) | → | f000(x,y,active0(z)) | (81) |
active0(f001(x,y,z)) | → | f000(x,y,active1(z)) | (82) |
active0(f010(x,y,z)) | → | f010(x,y,active0(z)) | (83) |
active0(f011(x,y,z)) | → | f010(x,y,active1(z)) | (84) |
active0(f100(x,y,z)) | → | f100(x,y,active0(z)) | (85) |
active0(f101(x,y,z)) | → | f100(x,y,active1(z)) | (86) |
active0(f110(x,y,z)) | → | f110(x,y,active0(z)) | (87) |
active0(f111(x,y,z)) | → | f110(x,y,active1(z)) | (88) |
active0(d) | → | m1(b) | (89) |
active0(d) | → | mark0(c) | (90) |
The dependency pairs are split into 1 component.
top#0(ok0(f100(b,c,x0))) | → | top#0(mark0(f000(x0,x0,x0))) | (35) |
top#0(mark0(f000(x0,x1,x2))) | → | top#0(f000(proper0(x0),proper0(x1),proper0(x2))) | (34) |
top#0(ok0(f101(b,c,x0))) | → | top#0(mark0(f111(x0,x0,x0))) | (36) |
top#0(mark0(f001(x0,x1,x2))) | → | top#0(f001(proper0(x0),proper0(x1),proper1(x2))) | (37) |
top#0(ok0(f000(x0,x1,x2))) | → | top#0(f000(x0,x1,active0(x2))) | (44) |
top#0(ok0(f010(x0,x1,x2))) | → | top#0(f010(x0,x1,active0(x2))) | (46) |
top#0(ok0(f100(x0,x1,x2))) | → | top#0(f100(x0,x1,active0(x2))) | (48) |
top#0(ok0(f110(x0,x1,x2))) | → | top#0(f110(x0,x1,active0(x2))) | (50) |
top#0(mark0(f010(x0,x1,x2))) | → | top#0(f010(proper0(x0),proper1(x1),proper0(x2))) | (38) |
top#0(mark0(f011(x0,x1,x2))) | → | top#0(f011(proper0(x0),proper1(x1),proper1(x2))) | (39) |
top#0(mark0(f100(x0,x1,x2))) | → | top#0(f100(proper1(x0),proper0(x1),proper0(x2))) | (40) |
top#0(mark0(f101(x0,x1,x2))) | → | top#0(f101(proper1(x0),proper0(x1),proper1(x2))) | (41) |
top#0(mark0(f110(x0,x1,x2))) | → | top#0(f110(proper1(x0),proper1(x1),proper0(x2))) | (42) |
top#0(mark0(f111(x0,x1,x2))) | → | top#0(f111(proper1(x0),proper1(x1),proper1(x2))) | (43) |
[top#0(x1)] | = | 1 · x1 |
[ok0(x1)] | = | 1 · x1 |
[f100(x1, x2, x3)] | = | 1 + 1 · x2 |
[b] | = | 0 |
[c] | = | 1 |
[mark0(x1)] | = | 1 · x1 |
[f000(x1, x2, x3)] | = | 0 |
[proper0(x1)] | = | 1 · x1 |
[f101(x1, x2, x3)] | = | 0 |
[f111(x1, x2, x3)] | = | 0 |
[f001(x1, x2, x3)] | = | 0 |
[proper1(x1)] | = | 0 |
[active0(x1)] | = | 0 |
[f010(x1, x2, x3)] | = | 0 |
[f110(x1, x2, x3)] | = | 0 |
[f011(x1, x2, x3)] | = | 0 |
[mark1(x1)] | = | 1 · x1 |
[d] | = | 0 |
[ok1(x1)] | = | 0 |
[active1(x1)] | = | 1 · x1 |
[m1(x1)] | = | 1 + 1 · x1 |
f000(x,y,mark0(z)) | → | mark0(f000(x,y,z)) | (63) |
f000(x,y,mark1(z)) | → | mark0(f001(x,y,z)) | (64) |
f000(ok0(x),ok0(y),ok0(z)) | → | ok0(f000(x,y,z)) | (71) |
proper0(c) | → | ok0(c) | (53) |
proper0(d) | → | ok0(d) | (54) |
proper0(f000(x,y,z)) | → | f000(proper0(x),proper0(y),proper0(z)) | (55) |
proper0(f001(x,y,z)) | → | f001(proper0(x),proper0(y),proper1(z)) | (56) |
proper0(f010(x,y,z)) | → | f010(proper0(x),proper1(y),proper0(z)) | (57) |
proper0(f011(x,y,z)) | → | f011(proper0(x),proper1(y),proper1(z)) | (58) |
proper0(f100(x,y,z)) | → | f100(proper1(x),proper0(y),proper0(z)) | (59) |
proper0(f101(x,y,z)) | → | f101(proper1(x),proper0(y),proper1(z)) | (60) |
proper0(f110(x,y,z)) | → | f110(proper1(x),proper1(y),proper0(z)) | (61) |
proper0(f111(x,y,z)) | → | f111(proper1(x),proper1(y),proper1(z)) | (62) |
f111(ok1(x),ok1(y),ok1(z)) | → | ok0(f111(x,y,z)) | (78) |
f001(ok0(x),ok0(y),ok1(z)) | → | ok0(f001(x,y,z)) | (72) |
f010(x,y,mark0(z)) | → | mark0(f010(x,y,z)) | (65) |
f010(x,y,mark1(z)) | → | mark0(f011(x,y,z)) | (66) |
f010(ok0(x),ok1(y),ok0(z)) | → | ok0(f010(x,y,z)) | (73) |
f100(x,y,mark0(z)) | → | mark0(f100(x,y,z)) | (67) |
f100(x,y,mark1(z)) | → | mark0(f101(x,y,z)) | (68) |
f100(ok1(x),ok0(y),ok0(z)) | → | ok0(f100(x,y,z)) | (75) |
f110(x,y,mark0(z)) | → | mark0(f110(x,y,z)) | (69) |
f110(x,y,mark1(z)) | → | mark0(f111(x,y,z)) | (70) |
f110(ok1(x),ok1(y),ok0(z)) | → | ok0(f110(x,y,z)) | (77) |
f011(ok0(x),ok1(y),ok1(z)) | → | ok0(f011(x,y,z)) | (74) |
f101(ok1(x),ok0(y),ok1(z)) | → | ok0(f101(x,y,z)) | (76) |
top#0(ok0(f100(b,c,x0))) | → | top#0(mark0(f000(x0,x0,x0))) | (35) |
[top#0(x1)] | = | 1 · x1 |
[mark0(x1)] | = | 1 |
[f000(x1, x2, x3)] | = | 1 |
[proper0(x1)] | = | 0 |
[ok0(x1)] | = | 1 · x1 |
[f101(x1, x2, x3)] | = | 1 |
[b] | = | 0 |
[c] | = | 0 |
[f111(x1, x2, x3)] | = | 0 |
[f001(x1, x2, x3)] | = | 0 |
[proper1(x1)] | = | 0 |
[active0(x1)] | = | 0 |
[f010(x1, x2, x3)] | = | 1 |
[f100(x1, x2, x3)] | = | 1 |
[f110(x1, x2, x3)] | = | 1 |
[f011(x1, x2, x3)] | = | 0 |
[d] | = | 0 |
[mark1(x1)] | = | 1 · x1 |
[ok1(x1)] | = | 0 |
[active1(x1)] | = | 1 · x1 |
[m1(x1)] | = | 1 + 1 · x1 |
f000(x,y,mark0(z)) | → | mark0(f000(x,y,z)) | (63) |
f000(x,y,mark1(z)) | → | mark0(f001(x,y,z)) | (64) |
f000(ok0(x),ok0(y),ok0(z)) | → | ok0(f000(x,y,z)) | (71) |
f111(ok1(x),ok1(y),ok1(z)) | → | ok0(f111(x,y,z)) | (78) |
f001(ok0(x),ok0(y),ok1(z)) | → | ok0(f001(x,y,z)) | (72) |
f010(x,y,mark0(z)) | → | mark0(f010(x,y,z)) | (65) |
f010(x,y,mark1(z)) | → | mark0(f011(x,y,z)) | (66) |
f010(ok0(x),ok1(y),ok0(z)) | → | ok0(f010(x,y,z)) | (73) |
f100(x,y,mark0(z)) | → | mark0(f100(x,y,z)) | (67) |
f100(x,y,mark1(z)) | → | mark0(f101(x,y,z)) | (68) |
f100(ok1(x),ok0(y),ok0(z)) | → | ok0(f100(x,y,z)) | (75) |
f110(x,y,mark0(z)) | → | mark0(f110(x,y,z)) | (69) |
f110(x,y,mark1(z)) | → | mark0(f111(x,y,z)) | (70) |
f110(ok1(x),ok1(y),ok0(z)) | → | ok0(f110(x,y,z)) | (77) |
f011(ok0(x),ok1(y),ok1(z)) | → | ok0(f011(x,y,z)) | (74) |
f101(ok1(x),ok0(y),ok1(z)) | → | ok0(f101(x,y,z)) | (76) |
top#0(mark0(f001(x0,x1,x2))) | → | top#0(f001(proper0(x0),proper0(x1),proper1(x2))) | (37) |
top#0(mark0(f011(x0,x1,x2))) | → | top#0(f011(proper0(x0),proper1(x1),proper1(x2))) | (39) |
top#0(mark0(f111(x0,x1,x2))) | → | top#0(f111(proper1(x0),proper1(x1),proper1(x2))) | (43) |
[top#0(x1)] | = | 1 · x1 |
[mark0(x1)] | = | 1 · x1 |
[f000(x1, x2, x3)] | = | 0 |
[proper0(x1)] | = | 0 |
[ok0(x1)] | = | 1 · x1 |
[f101(x1, x2, x3)] | = | 1 + 1 · x1 |
[b] | = | 1 |
[c] | = | 0 |
[f111(x1, x2, x3)] | = | 0 |
[active0(x1)] | = | 0 |
[f010(x1, x2, x3)] | = | 0 |
[f100(x1, x2, x3)] | = | 1 + 1 · x1 |
[f110(x1, x2, x3)] | = | 0 |
[proper1(x1)] | = | 1 · x1 |
[d] | = | 0 |
[f001(x1, x2, x3)] | = | 0 |
[f011(x1, x2, x3)] | = | 0 |
[mark1(x1)] | = | 1 · x1 |
[ok1(x1)] | = | 1 · x1 |
[active1(x1)] | = | 1 · x1 |
[m1(x1)] | = | 1 + 1 · x1 |
f000(x,y,mark0(z)) | → | mark0(f000(x,y,z)) | (63) |
f000(x,y,mark1(z)) | → | mark0(f001(x,y,z)) | (64) |
f000(ok0(x),ok0(y),ok0(z)) | → | ok0(f000(x,y,z)) | (71) |
f111(ok1(x),ok1(y),ok1(z)) | → | ok0(f111(x,y,z)) | (78) |
f010(x,y,mark0(z)) | → | mark0(f010(x,y,z)) | (65) |
f010(x,y,mark1(z)) | → | mark0(f011(x,y,z)) | (66) |
f010(ok0(x),ok1(y),ok0(z)) | → | ok0(f010(x,y,z)) | (73) |
f100(x,y,mark0(z)) | → | mark0(f100(x,y,z)) | (67) |
f100(x,y,mark1(z)) | → | mark0(f101(x,y,z)) | (68) |
f100(ok1(x),ok0(y),ok0(z)) | → | ok0(f100(x,y,z)) | (75) |
f110(x,y,mark0(z)) | → | mark0(f110(x,y,z)) | (69) |
f110(x,y,mark1(z)) | → | mark0(f111(x,y,z)) | (70) |
f110(ok1(x),ok1(y),ok0(z)) | → | ok0(f110(x,y,z)) | (77) |
proper1(b) | → | ok1(b) | (52) |
f101(ok1(x),ok0(y),ok1(z)) | → | ok0(f101(x,y,z)) | (76) |
f001(ok0(x),ok0(y),ok1(z)) | → | ok0(f001(x,y,z)) | (72) |
f011(ok0(x),ok1(y),ok1(z)) | → | ok0(f011(x,y,z)) | (74) |
top#0(ok0(f101(b,c,x0))) | → | top#0(mark0(f111(x0,x0,x0))) | (36) |
[top#0(x1)] | = | 1 · x1 |
[mark0(x1)] | = | 1 |
[f000(x1, x2, x3)] | = | 1 |
[proper0(x1)] | = | 0 |
[ok0(x1)] | = | 1 · x1 |
[active0(x1)] | = | 0 |
[f010(x1, x2, x3)] | = | 1 |
[f100(x1, x2, x3)] | = | 1 |
[f110(x1, x2, x3)] | = | 1 |
[proper1(x1)] | = | 0 |
[f101(x1, x2, x3)] | = | 0 |
[c] | = | 0 |
[d] | = | 0 |
[f001(x1, x2, x3)] | = | 0 |
[f011(x1, x2, x3)] | = | 0 |
[f111(x1, x2, x3)] | = | 0 |
[mark1(x1)] | = | 1 · x1 |
[b] | = | 0 |
[active1(x1)] | = | 1 · x1 |
[m1(x1)] | = | 1 + 1 · x1 |
[ok1(x1)] | = | 0 |
f000(x,y,mark0(z)) | → | mark0(f000(x,y,z)) | (63) |
f000(x,y,mark1(z)) | → | mark0(f001(x,y,z)) | (64) |
f000(ok0(x),ok0(y),ok0(z)) | → | ok0(f000(x,y,z)) | (71) |
f010(x,y,mark0(z)) | → | mark0(f010(x,y,z)) | (65) |
f010(x,y,mark1(z)) | → | mark0(f011(x,y,z)) | (66) |
f010(ok0(x),ok1(y),ok0(z)) | → | ok0(f010(x,y,z)) | (73) |
f100(x,y,mark0(z)) | → | mark0(f100(x,y,z)) | (67) |
f100(x,y,mark1(z)) | → | mark0(f101(x,y,z)) | (68) |
f100(ok1(x),ok0(y),ok0(z)) | → | ok0(f100(x,y,z)) | (75) |
f110(x,y,mark0(z)) | → | mark0(f110(x,y,z)) | (69) |
f110(x,y,mark1(z)) | → | mark0(f111(x,y,z)) | (70) |
f110(ok1(x),ok1(y),ok0(z)) | → | ok0(f110(x,y,z)) | (77) |
f101(ok1(x),ok0(y),ok1(z)) | → | ok0(f101(x,y,z)) | (76) |
top#0(mark0(f101(x0,x1,x2))) | → | top#0(f101(proper1(x0),proper0(x1),proper1(x2))) | (41) |
[top#0(x1)] | = | 1 · x1 |
[mark0(x1)] | = | 1 + 1 · x1 |
[f000(x1, x2, x3)] | = | 1 · x3 |
[proper0(x1)] | = | 1 · x1 |
[ok0(x1)] | = | 1 · x1 |
[active0(x1)] | = | 1 · x1 |
[f010(x1, x2, x3)] | = | 1 + 1 · x3 |
[f100(x1, x2, x3)] | = | 1 + 1 · x1 + 1 · x3 |
[f110(x1, x2, x3)] | = | 1 + 1 · x3 |
[proper1(x1)] | = | 1 · x1 |
[c] | = | 0 |
[d] | = | 1 |
[f001(x1, x2, x3)] | = | 0 |
[f011(x1, x2, x3)] | = | 1 |
[f101(x1, x2, x3)] | = | 1 + 1 · x1 |
[f111(x1, x2, x3)] | = | 1 |
[mark1(x1)] | = | 1 + 1 · x1 |
[b] | = | 1 |
[active1(x1)] | = | 0 |
[m1(x1)] | = | 1 · x1 |
[ok1(x1)] | = | 1 · x1 |
top#0(mark0(f000(x0,x1,x2))) | → | top#0(f000(proper0(x0),proper0(x1),proper0(x2))) | (34) |
top#0(mark0(f010(x0,x1,x2))) | → | top#0(f010(proper0(x0),proper1(x1),proper0(x2))) | (38) |
top#0(mark0(f100(x0,x1,x2))) | → | top#0(f100(proper1(x0),proper0(x1),proper0(x2))) | (40) |
top#0(mark0(f110(x0,x1,x2))) | → | top#0(f110(proper1(x0),proper1(x1),proper0(x2))) | (42) |
[top#0(x1)] | = | 1 · x1 |
[ok0(x1)] | = | 1 + 1 · x1 |
[f000(x1, x2, x3)] | = | 1 · x1 |
[active0(x1)] | = | 0 |
[f010(x1, x2, x3)] | = | 1 · x1 |
[f100(x1, x2, x3)] | = | 1 · x1 |
[f110(x1, x2, x3)] | = | 1 · x1 |
[b] | = | 0 |
[c] | = | 0 |
[mark0(x1)] | = | 0 |
[f101(x1, x2, x3)] | = | 0 |
[f111(x1, x2, x3)] | = | 0 |
[f001(x1, x2, x3)] | = | 1 · x1 + 1 · x3 |
[active1(x1)] | = | 1 · x1 |
[f011(x1, x2, x3)] | = | 1 · x1 + 1 · x3 |
[d] | = | 1 |
[m1(x1)] | = | 1 + 1 · x1 |
[mark1(x1)] | = | 1 · x1 |
[ok1(x1)] | = | 1 + 1 · x1 |
f000(x,y,mark0(z)) | → | mark0(f000(x,y,z)) | (63) |
f000(x,y,mark1(z)) | → | mark0(f001(x,y,z)) | (64) |
f000(ok0(x),ok0(y),ok0(z)) | → | ok0(f000(x,y,z)) | (71) |
f010(x,y,mark0(z)) | → | mark0(f010(x,y,z)) | (65) |
f010(x,y,mark1(z)) | → | mark0(f011(x,y,z)) | (66) |
f010(ok0(x),ok1(y),ok0(z)) | → | ok0(f010(x,y,z)) | (73) |
f100(x,y,mark0(z)) | → | mark0(f100(x,y,z)) | (67) |
f100(x,y,mark1(z)) | → | mark0(f101(x,y,z)) | (68) |
f100(ok1(x),ok0(y),ok0(z)) | → | ok0(f100(x,y,z)) | (75) |
f110(x,y,mark0(z)) | → | mark0(f110(x,y,z)) | (69) |
f110(x,y,mark1(z)) | → | mark0(f111(x,y,z)) | (70) |
f110(ok1(x),ok1(y),ok0(z)) | → | ok0(f110(x,y,z)) | (77) |
top#0(ok0(f000(x0,x1,x2))) | → | top#0(f000(x0,x1,active0(x2))) | (44) |
top#0(ok0(f010(x0,x1,x2))) | → | top#0(f010(x0,x1,active0(x2))) | (46) |
top#0(ok0(f100(x0,x1,x2))) | → | top#0(f100(x0,x1,active0(x2))) | (48) |
top#0(ok0(f110(x0,x1,x2))) | → | top#0(f110(x0,x1,active0(x2))) | (50) |
There are no pairs anymore.
active#(f(x,y,z)) | → | active#(z) | (15) |
[f(x1, x2, x3)] | = | 1 · x1 + 1 · x2 + 1 · x3 |
[active#(x1)] | = | 1 · x1 |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
active#(f(x,y,z)) | → | active#(z) | (15) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
proper#(f(x,y,z)) | → | proper#(y) | (19) |
proper#(f(x,y,z)) | → | proper#(x) | (18) |
proper#(f(x,y,z)) | → | proper#(z) | (20) |
[f(x1, x2, x3)] | = | 1 · x1 + 1 · x2 + 1 · x3 |
[proper#(x1)] | = | 1 · x1 |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
proper#(f(x,y,z)) | → | proper#(y) | (19) |
1 | > | 1 | |
proper#(f(x,y,z)) | → | proper#(x) | (18) |
1 | > | 1 | |
proper#(f(x,y,z)) | → | proper#(z) | (20) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
f#(ok(x),ok(y),ok(z)) | → | f#(x,y,z) | (21) |
f#(x,y,mark(z)) | → | f#(x,y,z) | (16) |
[ok(x1)] | = | 1 · x1 |
[mark(x1)] | = | 1 · x1 |
[f#(x1, x2, x3)] | = | 1 · x1 + 1 · x2 + 1 · x3 |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
f#(ok(x),ok(y),ok(z)) | → | f#(x,y,z) | (21) |
1 | > | 1 | |
2 | > | 2 | |
3 | > | 3 | |
f#(x,y,mark(z)) | → | f#(x,y,z) | (16) |
1 | ≥ | 1 | |
2 | ≥ | 2 | |
3 | > | 3 |
As there is no critical graph in the transitive closure, there are no infinite chains.