YES
The TRS could be proven terminating. The proof took 172 ms.
The following DP Processors were used
Problem 1 was processed with processor DependencyGraph (32ms).
| Problem 2 was processed with processor PolynomialLinearRange4iUR (110ms).
| Problem 3 was processed with processor SubtermCriterion (1ms).
Problem 1: DependencyGraph
Dependency Pair Problem
Dependency Pairs
and#(x, or(y, z)) | → | and#(x, z) | | not#(or(x, y)) | → | and#(not(x), not(y)) |
not#(and(x, y)) | → | not#(x) | | and#(or(y, z), x) | → | and#(x, y) |
not#(or(x, y)) | → | not#(x) | | and#(x, or(y, z)) | → | and#(x, y) |
not#(and(x, y)) | → | not#(y) | | and#(or(y, z), x) | → | and#(x, z) |
not#(or(x, y)) | → | not#(y) |
Rewrite Rules
not(not(x)) | → | x | | not(or(x, y)) | → | and(not(x), not(y)) |
not(and(x, y)) | → | or(not(x), not(y)) | | and(x, or(y, z)) | → | or(and(x, y), and(x, z)) |
and(or(y, z), x) | → | or(and(x, y), and(x, z)) |
Original Signature
Termination of terms over the following signature is verified: not, or, and
Strategy
The following SCCs where found
and#(x, or(y, z)) → and#(x, z) | and#(or(y, z), x) → and#(x, y) |
and#(x, or(y, z)) → and#(x, y) | and#(or(y, z), x) → and#(x, z) |
not#(and(x, y)) → not#(x) | not#(or(x, y)) → not#(x) |
not#(and(x, y)) → not#(y) | not#(or(x, y)) → not#(y) |
Problem 2: PolynomialLinearRange4iUR
Dependency Pair Problem
Dependency Pairs
and#(x, or(y, z)) | → | and#(x, z) | | and#(or(y, z), x) | → | and#(x, y) |
and#(x, or(y, z)) | → | and#(x, y) | | and#(or(y, z), x) | → | and#(x, z) |
Rewrite Rules
not(not(x)) | → | x | | not(or(x, y)) | → | and(not(x), not(y)) |
not(and(x, y)) | → | or(not(x), not(y)) | | and(x, or(y, z)) | → | or(and(x, y), and(x, z)) |
and(or(y, z), x) | → | or(and(x, y), and(x, z)) |
Original Signature
Termination of terms over the following signature is verified: not, or, and
Strategy
Polynomial Interpretation
- and(x,y): 0
- and#(x,y): 2y + 2x
- not(x): 0
- or(x,y): 3y + x + 1
There are no usable rules
The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:
and#(x, or(y, z)) | → | and#(x, z) | | and#(or(y, z), x) | → | and#(x, y) |
and#(x, or(y, z)) | → | and#(x, y) | | and#(or(y, z), x) | → | and#(x, z) |
Problem 3: SubtermCriterion
Dependency Pair Problem
Dependency Pairs
not#(and(x, y)) | → | not#(x) | | not#(or(x, y)) | → | not#(x) |
not#(and(x, y)) | → | not#(y) | | not#(or(x, y)) | → | not#(y) |
Rewrite Rules
not(not(x)) | → | x | | not(or(x, y)) | → | and(not(x), not(y)) |
not(and(x, y)) | → | or(not(x), not(y)) | | and(x, or(y, z)) | → | or(and(x, y), and(x, z)) |
and(or(y, z), x) | → | or(and(x, y), and(x, z)) |
Original Signature
Termination of terms over the following signature is verified: not, or, and
Strategy
Projection
The following projection was used:
Thus, the following dependency pairs are removed:
not#(and(x, y)) | → | not#(x) | | not#(or(x, y)) | → | not#(x) |
not#(and(x, y)) | → | not#(y) | | not#(or(x, y)) | → | not#(y) |