YES
The TRS could be proven terminating. The proof took 60000 ms.
Problem 1 was processed with processor DependencyGraph (44ms). | Problem 2 was processed with processor SubtermCriterion (1ms).
or#(x, y) | → | xor#(x, y) | implies#(x, y) | → | xor#(and(x, y), xor(x, true)) | |
implies#(x, y) | → | xor#(x, true) | and#(xor(x, y), z) | → | xor#(and(x, z), and(y, z)) | |
or#(x, y) | → | and#(x, y) | and#(xor(x, y), z) | → | and#(y, z) | |
implies#(x, y) | → | and#(x, y) | and#(xor(x, y), z) | → | and#(x, z) | |
or#(x, y) | → | xor#(and(x, y), xor(x, y)) | not#(x) | → | xor#(x, true) |
not(x) | → | xor(x, true) | or(x, y) | → | xor(and(x, y), xor(x, y)) | |
implies(x, y) | → | xor(and(x, y), xor(x, true)) | and(x, true) | → | x | |
and(x, false) | → | false | and(x, x) | → | x | |
xor(x, false) | → | x | xor(x, x) | → | false | |
and(xor(x, y), z) | → | xor(and(x, z), and(y, z)) |
Termination of terms over the following signature is verified: not, xor, or, implies, true, false, and
and#(xor(x, y), z) → and#(y, z) | and#(xor(x, y), z) → and#(x, z) |
and#(xor(x, y), z) | → | and#(y, z) | and#(xor(x, y), z) | → | and#(x, z) |
not(x) | → | xor(x, true) | or(x, y) | → | xor(and(x, y), xor(x, y)) | |
implies(x, y) | → | xor(and(x, y), xor(x, true)) | and(x, true) | → | x | |
and(x, false) | → | false | and(x, x) | → | x | |
xor(x, false) | → | x | xor(x, x) | → | false | |
and(xor(x, y), z) | → | xor(and(x, z), and(y, z)) |
Termination of terms over the following signature is verified: not, xor, or, implies, true, false, and
The following projection was used:
Thus, the following dependency pairs are removed:
and#(xor(x, y), z) | → | and#(y, z) | and#(xor(x, y), z) | → | and#(x, z) |