(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

not(not(x)) → x
not(or(x, y)) → and(not(not(not(x))), not(not(not(y))))
not(and(x, y)) → or(not(not(not(x))), not(not(not(y))))

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

NOT(or(x, y)) → NOT(not(not(x)))
NOT(or(x, y)) → NOT(not(x))
NOT(or(x, y)) → NOT(x)
NOT(or(x, y)) → NOT(not(not(y)))
NOT(or(x, y)) → NOT(not(y))
NOT(or(x, y)) → NOT(y)
NOT(and(x, y)) → NOT(not(not(x)))
NOT(and(x, y)) → NOT(not(x))
NOT(and(x, y)) → NOT(x)
NOT(and(x, y)) → NOT(not(not(y)))
NOT(and(x, y)) → NOT(not(y))
NOT(and(x, y)) → NOT(y)

The TRS R consists of the following rules:

not(not(x)) → x
not(or(x, y)) → and(not(not(not(x))), not(not(not(y))))
not(and(x, y)) → or(not(not(not(x))), not(not(not(y))))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) QDPSizeChangeProof (EQUIVALENT transformation)

We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem.

Order:Polynomial interpretation [POLO]:


POL(and(x1, x2)) = 1 + x1 + x2   
POL(not(x1)) = x1   
POL(or(x1, x2)) = 1 + x1 + x2   

From the DPs we obtained the following set of size-change graphs:

  • NOT(or(x, y)) → NOT(not(not(x))) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(or(x, y)) → NOT(not(x)) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(or(x, y)) → NOT(x) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(or(x, y)) → NOT(not(not(y))) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(or(x, y)) → NOT(not(y)) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(or(x, y)) → NOT(y) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(and(x, y)) → NOT(not(not(x))) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(and(x, y)) → NOT(not(x)) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(and(x, y)) → NOT(x) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(and(x, y)) → NOT(not(not(y))) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(and(x, y)) → NOT(not(y)) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

  • NOT(and(x, y)) → NOT(y) (allowed arguments on rhs = {1})
    The graph contains the following edges 1 > 1

We oriented the following set of usable rules [AAECC05,FROCOS05].


not(or(x, y)) → and(not(not(not(x))), not(not(not(y))))
not(not(x)) → x
not(and(x, y)) → or(not(not(not(x))), not(not(not(y))))

(4) TRUE