The rewrite relation of the following TRS is considered.
not(x) | → | xor(x,true) | (1) |
or(x,y) | → | xor(and(x,y),xor(x,y)) | (2) |
implies(x,y) | → | xor(and(x,y),xor(x,true)) | (3) |
and(x,true) | → | x | (4) |
and(x,false) | → | false | (5) |
and(x,x) | → | x | (6) |
xor(x,false) | → | x | (7) |
xor(x,x) | → | false | (8) |
and(xor(x,y),z) | → | xor(and(x,z),and(y,z)) | (9) |
or#(x,y) | → | and#(x,y) | (10) |
and#(xor(x,y),z) | → | and#(y,z) | (11) |
implies#(x,y) | → | xor#(x,true) | (12) |
implies#(x,y) | → | xor#(and(x,y),xor(x,true)) | (13) |
not#(x) | → | xor#(x,true) | (14) |
and#(xor(x,y),z) | → | and#(x,z) | (15) |
or#(x,y) | → | xor#(x,y) | (16) |
or#(x,y) | → | xor#(and(x,y),xor(x,y)) | (17) |
implies#(x,y) | → | and#(x,y) | (18) |
and#(xor(x,y),z) | → | xor#(and(x,z),and(y,z)) | (19) |
The dependency pairs are split into 1 component.
and#(xor(x,y),z) | → | and#(y,z) | (11) |
and#(xor(x,y),z) | → | and#(x,z) | (15) |
[and(x1, x2)] | = | 0 |
[false] | = | 0 |
[true] | = | 0 |
[not#(x1)] | = | 0 |
[implies#(x1, x2)] | = | 0 |
[or(x1, x2)] | = | 0 |
[implies(x1, x2)] | = | 0 |
[xor#(x1, x2)] | = | 0 |
[or#(x1, x2)] | = | 0 |
[xor(x1, x2)] | = | x1 + x2 + 1 |
[and#(x1, x2)] | = | x1 + 0 |
[not(x1)] | = | 0 |
and#(xor(x,y),z) | → | and#(y,z) | (11) |
and#(xor(x,y),z) | → | and#(x,z) | (15) |
The dependency pairs are split into 0 components.