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.