Term Rewriting System R:
[x, y, z]
minus(0) -> 0
minus(minus(x)) -> x
+(x, 0) -> x
+(0, y) -> y
+(minus(1), 1) -> 0
+(x, minus(y)) -> minus(+(minus(x), y))
+(x, +(y, z)) -> +(+(x, y), z)
+(minus(+(x, 1)), 1) -> minus(x)

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

+'(x, minus(y)) -> MINUS(+(minus(x), y))
+'(x, minus(y)) -> +'(minus(x), y)
+'(x, minus(y)) -> MINUS(x)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(x, +(y, z)) -> +'(x, y)
+'(minus(+(x, 1)), 1) -> MINUS(x)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Forward Instantiation Transformation


Dependency Pairs:

+'(x, +(y, z)) -> +'(x, y)
+'(x, minus(y)) -> +'(minus(x), y)


Rules:


minus(0) -> 0
minus(minus(x)) -> x
+(x, 0) -> x
+(0, y) -> y
+(minus(1), 1) -> 0
+(x, minus(y)) -> minus(+(minus(x), y))
+(x, +(y, z)) -> +(+(x, y), z)
+(minus(+(x, 1)), 1) -> minus(x)


Strategy:

innermost




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

+'(x, +(y, z)) -> +'(x, y)
two new Dependency Pairs are created:

+'(x'', +(+(y'', z''), z)) -> +'(x'', +(y'', z''))
+'(x'', +(minus(y''), z)) -> +'(x'', minus(y''))

The transformation is resulting in one new DP problem:



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


Dependency Pairs:

+'(x'', +(minus(y''), z)) -> +'(x'', minus(y''))
+'(x'', +(+(y'', z''), z)) -> +'(x'', +(y'', z''))
+'(x, minus(y)) -> +'(minus(x), y)


Rules:


minus(0) -> 0
minus(minus(x)) -> x
+(x, 0) -> x
+(0, y) -> y
+(minus(1), 1) -> 0
+(x, minus(y)) -> minus(+(minus(x), y))
+(x, +(y, z)) -> +(+(x, y), z)
+(minus(+(x, 1)), 1) -> minus(x)


Strategy:

innermost




The following dependency pairs can be strictly oriented:

+'(x'', +(minus(y''), z)) -> +'(x'', minus(y''))
+'(x'', +(+(y'', z''), z)) -> +'(x'', +(y'', z''))


Additionally, the following usable rules for innermost can be oriented:

minus(0) -> 0
minus(minus(x)) -> x
+(x, 0) -> x
+(0, y) -> y
+(minus(1), 1) -> 0
+(x, minus(y)) -> minus(+(minus(x), y))
+(x, +(y, z)) -> +(+(x, y), z)
+(minus(+(x, 1)), 1) -> minus(x)


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(0)=  0  
  POL(1)=  0  
  POL(minus(x1))=  x1  
  POL(+(x1, x2))=  1 + x1 + x2  
  POL(+'(x1, x2))=  1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
FwdInst
           →DP Problem 2
Polo
             ...
               →DP Problem 3
Dependency Graph


Dependency Pair:

+'(x, minus(y)) -> +'(minus(x), y)


Rules:


minus(0) -> 0
minus(minus(x)) -> x
+(x, 0) -> x
+(0, y) -> y
+(minus(1), 1) -> 0
+(x, minus(y)) -> minus(+(minus(x), y))
+(x, +(y, z)) -> +(+(x, y), z)
+(minus(+(x, 1)), 1) -> minus(x)


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.

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