(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 and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem.

Order:Combined order from the following AFS and order.
not(x1)  =  x1
or(x1, x2)  =  or(x1, x2)
and(x1, x2)  =  and(x1, x2)

Lexicographic path order with status [LPO].
Quasi-Precedence:

[or2, and2]

Status:
or2: [2,1]
and2: [2,1]

AFS:
not(x1)  =  x1
or(x1, x2)  =  or(x1, x2)
and(x1, x2)  =  and(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(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))))

(4) TRUE