(0) Obligation:
The Runtime Complexity (innermost) of the given
CpxTRS could be proven to be
BOUNDS(1, n^2).
The TRS R consists of the following 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))
Rewrite Strategy: INNERMOST
(1) NestedDefinedSymbolProof (BOTH BOUNDS(ID, ID) transformation)
The following defined symbols can occur below the 0th argument of and: and, not
The following defined symbols can occur below the 1th argument of and: and, not
Hence, the left-hand sides of the following rules are not basic-reachable and can be removed:
not(not(x)) → x
not(and(x, y)) → or(not(x), not(y))
(2) Obligation:
The Runtime Complexity (innermost) of the given
CpxTRS could be proven to be
BOUNDS(1, n^2).
The TRS R consists of the following rules:
and(x, or(y, z)) → or(and(x, y), and(x, z))
and(or(y, z), x) → or(and(x, y), and(x, z))
not(or(x, y)) → and(not(x), not(y))
Rewrite Strategy: INNERMOST
(3) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted Cpx (relative) TRS to CDT
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
and(z0, or(z1, z2)) → or(and(z0, z1), and(z0, z2))
and(or(z0, z1), z2) → or(and(z2, z0), and(z2, z1))
not(or(z0, z1)) → and(not(z0), not(z1))
Tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
S tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
K tuples:none
Defined Rule Symbols:
and, not
Defined Pair Symbols:
AND, NOT
Compound Symbols:
c, c1, c2
(5) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
We considered the (Usable) Rules:none
And the Tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(AND(x1, x2)) = 0
POL(NOT(x1)) = [2] + [2]x1
POL(and(x1, x2)) = 0
POL(c(x1, x2)) = x1 + x2
POL(c1(x1, x2)) = x1 + x2
POL(c2(x1, x2, x3)) = x1 + x2 + x3
POL(not(x1)) = 0
POL(or(x1, x2)) = [2] + x1 + x2
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
and(z0, or(z1, z2)) → or(and(z0, z1), and(z0, z2))
and(or(z0, z1), z2) → or(and(z2, z0), and(z2, z1))
not(or(z0, z1)) → and(not(z0), not(z1))
Tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
S tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
K tuples:
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
Defined Rule Symbols:
and, not
Defined Pair Symbols:
AND, NOT
Compound Symbols:
c, c1, c2
(7) CdtRuleRemovalProof (UPPER BOUND(ADD(n^2)) transformation)
Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
We considered the (Usable) Rules:
and(z0, or(z1, z2)) → or(and(z0, z1), and(z0, z2))
and(or(z0, z1), z2) → or(and(z2, z0), and(z2, z1))
not(or(z0, z1)) → and(not(z0), not(z1))
And the Tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(AND(x1, x2)) = x1 + x2 + x1·x2
POL(NOT(x1)) = [2]x12
POL(and(x1, x2)) = x1 + x2 + x1·x2
POL(c(x1, x2)) = x1 + x2
POL(c1(x1, x2)) = x1 + x2
POL(c2(x1, x2, x3)) = x1 + x2 + x3
POL(not(x1)) = 0
POL(or(x1, x2)) = [1] + x1 + x2
(8) Obligation:
Complexity Dependency Tuples Problem
Rules:
and(z0, or(z1, z2)) → or(and(z0, z1), and(z0, z2))
and(or(z0, z1), z2) → or(and(z2, z0), and(z2, z1))
not(or(z0, z1)) → and(not(z0), not(z1))
Tuples:
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
S tuples:none
K tuples:
NOT(or(z0, z1)) → c2(AND(not(z0), not(z1)), NOT(z0), NOT(z1))
AND(z0, or(z1, z2)) → c(AND(z0, z1), AND(z0, z2))
AND(or(z0, z1), z2) → c1(AND(z2, z0), AND(z2, z1))
Defined Rule Symbols:
and, not
Defined Pair Symbols:
AND, NOT
Compound Symbols:
c, c1, c2
(9) SIsEmptyProof (BOTH BOUNDS(ID, ID) transformation)
The set S is empty
(10) BOUNDS(1, 1)