YES

The TRS could be proven terminating. The proof took 238 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (63ms).
 | – Problem 2 was processed with processor SubtermCriterion (11ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

or#(x, y) → xor#(x, y)impl#(x, y) → xor#(and(x, y), xor(x, T))
and#(xor(x, y), z) → xor#(and(x, z), and(y, z))or#(x, y) → and#(x, y)
neg#(x) → xor#(x, T)and#(xor(x, y), z) → and#(y, z)
equiv#(x, y) → xor#(x, xor(y, T))impl#(x, y) → xor#(x, T)
and#(xor(x, y), z) → and#(x, z)impl#(x, y) → and#(x, y)
or#(x, y) → xor#(and(x, y), xor(x, y))equiv#(x, y) → xor#(y, T)

Rewrite Rules

xor(x, F) → xxor(x, neg(x)) → F
and(x, T) → xand(x, F) → F
and(x, x) → xand(xor(x, y), z) → xor(and(x, z), and(y, z))
xor(x, x) → Fimpl(x, y) → xor(and(x, y), xor(x, T))
or(x, y) → xor(and(x, y), xor(x, y))equiv(x, y) → xor(x, xor(y, T))
neg(x) → xor(x, T)

Original Signature

Termination of terms over the following signature is verified: neg, T, xor, F, impl, or, equiv, and

Strategy


The following SCCs where found

and#(xor(x, y), z) → and#(y, z)and#(xor(x, y), z) → and#(x, z)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

and#(xor(x, y), z) → and#(y, z)and#(xor(x, y), z) → and#(x, z)

Rewrite Rules

xor(x, F) → xxor(x, neg(x)) → F
and(x, T) → xand(x, F) → F
and(x, x) → xand(xor(x, y), z) → xor(and(x, z), and(y, z))
xor(x, x) → Fimpl(x, y) → xor(and(x, y), xor(x, T))
or(x, y) → xor(and(x, y), xor(x, y))equiv(x, y) → xor(x, xor(y, T))
neg(x) → xor(x, T)

Original Signature

Termination of terms over the following signature is verified: neg, T, xor, F, impl, or, equiv, and

Strategy


Projection

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)