Term Rewriting System R:
[x, y]
or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

NOT(and(x, y)) -> OR(not(x), not(y))
NOT(and(x, y)) -> NOT(x)
NOT(and(x, y)) -> NOT(y)
NOT(or(x, y)) -> AND(not(x), not(y))
NOT(or(x, y)) -> NOT(x)
NOT(or(x, y)) -> NOT(y)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Forward Instantiation Transformation


Dependency Pairs:

NOT(or(x, y)) -> NOT(y)
NOT(or(x, y)) -> NOT(x)
NOT(and(x, y)) -> NOT(y)
NOT(and(x, y)) -> NOT(x)


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

NOT(and(x, y)) -> NOT(x)
two new Dependency Pairs are created:

NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(and(or(x'', y''), y)) -> NOT(or(x'', y''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
Forward Instantiation Transformation


Dependency Pairs:

NOT(and(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(or(x, y)) -> NOT(x)
NOT(and(x, y)) -> NOT(y)
NOT(or(x, y)) -> NOT(y)


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

NOT(and(x, y)) -> NOT(y)
four new Dependency Pairs are created:

NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(and(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
FwdInst
             ...
               →DP Problem 3
Forward Instantiation Transformation


Dependency Pairs:

NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))
NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(and(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(or(x, y)) -> NOT(y)
NOT(or(x, y)) -> NOT(x)
NOT(and(or(x'', y''), y)) -> NOT(or(x'', y''))


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

NOT(or(x, y)) -> NOT(x)
seven new Dependency Pairs are created:

NOT(or(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(or(and(and(x'''', y''''), y''), y)) -> NOT(and(and(x'''', y''''), y''))
NOT(or(and(or(x'''', y''''), y''), y)) -> NOT(and(or(x'''', y''''), y''))
NOT(or(and(x'', and(x'''', y'''')), y)) -> NOT(and(x'', and(x'''', y'''')))
NOT(or(and(x'', or(x'''', y'''')), y)) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(and(x'', and(and(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(and(x'', and(or(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
FwdInst
             ...
               →DP Problem 4
Forward Instantiation Transformation


Dependency Pairs:

NOT(or(and(x'', and(or(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))
NOT(or(and(x'', and(and(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(and(x'', or(x'''', y'''')), y)) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(and(x'', and(x'''', y'''')), y)) -> NOT(and(x'', and(x'''', y'''')))
NOT(or(and(or(x'''', y''''), y''), y)) -> NOT(and(or(x'''', y''''), y''))
NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(or(and(and(x'''', y''''), y''), y)) -> NOT(and(and(x'''', y''''), y''))
NOT(or(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(and(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(or(x, y)) -> NOT(y)
NOT(and(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




On this DP problem, a Forward Instantiation SCC transformation can be performed.
As a result of transforming the rule

NOT(or(x, y)) -> NOT(y)
14 new Dependency Pairs are created:

NOT(or(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(or(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(or(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))
NOT(or(x, and(x'', and(x'''', y'''')))) -> NOT(and(x'', and(x'''', y'''')))
NOT(or(x, and(x'', or(x'''', y'''')))) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(x, and(x'', and(and(x'''''', y''''''), y'''')))) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(x, and(x'', and(or(x'''''', y''''''), y'''')))) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))
NOT(or(x, or(or(x'''', y''''), y''))) -> NOT(or(or(x'''', y''''), y''))
NOT(or(x, or(and(and(x'''''', y''''''), y''''), y''))) -> NOT(or(and(and(x'''''', y''''''), y''''), y''))
NOT(or(x, or(and(or(x'''''', y''''''), y''''), y''))) -> NOT(or(and(or(x'''''', y''''''), y''''), y''))
NOT(or(x, or(and(x'''', and(x'''''', y'''''')), y''))) -> NOT(or(and(x'''', and(x'''''', y'''''')), y''))
NOT(or(x, or(and(x'''', or(x'''''', y'''''')), y''))) -> NOT(or(and(x'''', or(x'''''', y'''''')), y''))
NOT(or(x, or(and(x'''', and(and(x'''''''', y''''''''), y'''''')), y''))) -> NOT(or(and(x'''', and(and(x'''''''', y''''''''), y'''''')), y''))
NOT(or(x, or(and(x'''', and(or(x'''''''', y''''''''), y'''''')), y''))) -> NOT(or(and(x'''', and(or(x'''''''', y''''''''), y'''''')), y''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
FwdInst
             ...
               →DP Problem 5
Polynomial Ordering


Dependency Pairs:

NOT(or(x, or(and(x'''', and(or(x'''''''', y''''''''), y'''''')), y''))) -> NOT(or(and(x'''', and(or(x'''''''', y''''''''), y'''''')), y''))
NOT(or(x, or(and(x'''', and(and(x'''''''', y''''''''), y'''''')), y''))) -> NOT(or(and(x'''', and(and(x'''''''', y''''''''), y'''''')), y''))
NOT(or(x, or(and(x'''', or(x'''''', y'''''')), y''))) -> NOT(or(and(x'''', or(x'''''', y'''''')), y''))
NOT(or(x, or(and(x'''', and(x'''''', y'''''')), y''))) -> NOT(or(and(x'''', and(x'''''', y'''''')), y''))
NOT(or(x, or(and(or(x'''''', y''''''), y''''), y''))) -> NOT(or(and(or(x'''''', y''''''), y''''), y''))
NOT(or(x, or(and(and(x'''''', y''''''), y''''), y''))) -> NOT(or(and(and(x'''''', y''''''), y''''), y''))
NOT(or(x, or(or(x'''', y''''), y''))) -> NOT(or(or(x'''', y''''), y''))
NOT(or(x, and(x'', and(or(x'''''', y''''''), y'''')))) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))
NOT(or(x, and(x'', and(and(x'''''', y''''''), y'''')))) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(x, and(x'', or(x'''', y'''')))) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(x, and(x'', and(x'''', y'''')))) -> NOT(and(x'', and(x'''', y'''')))
NOT(or(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))
NOT(or(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(or(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(or(and(x'', and(and(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(and(x'', or(x'''', y'''')), y)) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(and(x'', and(x'''', y'''')), y)) -> NOT(and(x'', and(x'''', y'''')))
NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))
NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(or(and(or(x'''', y''''), y''), y)) -> NOT(and(or(x'''', y''''), y''))
NOT(and(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(or(and(and(x'''', y''''), y''), y)) -> NOT(and(and(x'''', y''''), y''))
NOT(or(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(and(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(or(and(x'', and(or(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

NOT(or(x, or(and(x'''', and(or(x'''''''', y''''''''), y'''''')), y''))) -> NOT(or(and(x'''', and(or(x'''''''', y''''''''), y'''''')), y''))
NOT(or(x, or(and(x'''', and(and(x'''''''', y''''''''), y'''''')), y''))) -> NOT(or(and(x'''', and(and(x'''''''', y''''''''), y'''''')), y''))
NOT(or(x, or(and(x'''', or(x'''''', y'''''')), y''))) -> NOT(or(and(x'''', or(x'''''', y'''''')), y''))
NOT(or(x, or(and(x'''', and(x'''''', y'''''')), y''))) -> NOT(or(and(x'''', and(x'''''', y'''''')), y''))
NOT(or(x, or(and(or(x'''''', y''''''), y''''), y''))) -> NOT(or(and(or(x'''''', y''''''), y''''), y''))
NOT(or(x, or(and(and(x'''''', y''''''), y''''), y''))) -> NOT(or(and(and(x'''''', y''''''), y''''), y''))
NOT(or(x, or(or(x'''', y''''), y''))) -> NOT(or(or(x'''', y''''), y''))
NOT(or(x, and(x'', and(or(x'''''', y''''''), y'''')))) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))
NOT(or(x, and(x'', and(and(x'''''', y''''''), y'''')))) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(x, and(x'', or(x'''', y'''')))) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(x, and(x'', and(x'''', y'''')))) -> NOT(and(x'', and(x'''', y'''')))
NOT(or(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))
NOT(or(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(or(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(or(and(x'', and(and(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(and(x'''''', y''''''), y'''')))
NOT(or(and(x'', or(x'''', y'''')), y)) -> NOT(and(x'', or(x'''', y'''')))
NOT(or(and(x'', and(x'''', y'''')), y)) -> NOT(and(x'', and(x'''', y'''')))
NOT(or(and(or(x'''', y''''), y''), y)) -> NOT(and(or(x'''', y''''), y''))
NOT(or(and(and(x'''', y''''), y''), y)) -> NOT(and(and(x'''', y''''), y''))
NOT(or(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(or(and(x'', and(or(x'''''', y''''''), y'''')), y)) -> NOT(and(x'', and(or(x'''''', y''''''), y'''')))


Additionally, the following usable rules for innermost w.r.t. to the implicit AFS can be oriented:

and(x, x) -> x
or(x, x) -> x


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(and(x1, x2))=  x1 + x2  
  POL(NOT(x1))=  1 + x1  
  POL(or(x1, x2))=  1 + x1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
FwdInst
             ...
               →DP Problem 6
Dependency Graph


Dependency Pairs:

NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))
NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(and(x, or(x'', y''))) -> NOT(or(x'', y''))
NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(and(or(x'', y''), y)) -> NOT(or(x'', y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




Using the Dependency Graph the DP problem was split into 1 DP problems.


   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
FwdInst
             ...
               →DP Problem 7
Polynomial Ordering


Dependency Pairs:

NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

NOT(and(x, and(and(x'''', y''''), y''))) -> NOT(and(and(x'''', y''''), y''))
NOT(and(and(x'', y''), y)) -> NOT(and(x'', y''))
NOT(and(x, and(x'', y''))) -> NOT(and(x'', y''))
NOT(and(x, and(or(x'''', y''''), y''))) -> NOT(and(or(x'''', y''''), y''))


Additionally, the following usable rules for innermost w.r.t. to the implicit AFS can be oriented:

and(x, x) -> x
or(x, x) -> x


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(and(x1, x2))=  1 + x1 + x2  
  POL(NOT(x1))=  1 + x1  
  POL(or(x1, x2))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
FwdInst
             ...
               →DP Problem 8
Dependency Graph


Dependency Pair:


Rules:


or(x, x) -> x
and(x, x) -> x
not(not(x)) -> x
not(and(x, y)) -> or(not(x), not(y))
not(or(x, y)) -> and(not(x), not(y))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.

Innermost Termination of R successfully shown.
Duration:
0:01 minutes