YES

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

The following DP Processors were used


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

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

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)

Rewrite Rules

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) → falseand(x, x) → x
xor(x, false) → xxor(x, x) → false
and(xor(x, y), z) → xor(and(x, z), and(y, z))

Original Signature

Termination of terms over the following signature is verified: not, xor, or, implies, true, false, 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

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) → falseand(x, x) → x
xor(x, false) → xxor(x, x) → false
and(xor(x, y), z) → xor(and(x, z), and(y, z))

Original Signature

Termination of terms over the following signature is verified: not, xor, or, implies, true, false, 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)