Term Rewriting System R:
[x, y]
D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

D'(+(x, y)) -> D'(x)
D'(+(x, y)) -> D'(y)
D'(*(x, y)) -> D'(x)
D'(*(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)
D'(-(x, y)) -> D'(y)
D'(minus(x)) -> D'(x)
D'(div(x, y)) -> D'(x)
D'(div(x, y)) -> D'(y)
D'(ln(x)) -> D'(x)
D'(pow(x, y)) -> D'(x)
D'(pow(x, y)) -> D'(y)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Argument Filtering and Ordering


Dependency Pairs:

D'(pow(x, y)) -> D'(y)
D'(pow(x, y)) -> D'(x)
D'(ln(x)) -> D'(x)
D'(div(x, y)) -> D'(y)
D'(div(x, y)) -> D'(x)
D'(minus(x)) -> D'(x)
D'(-(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)
D'(*(x, y)) -> D'(y)
D'(*(x, y)) -> D'(x)
D'(+(x, y)) -> D'(y)
D'(+(x, y)) -> D'(x)


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

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


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(pow(x1, x2))=  x1 + x2  
  POL(*(x1, x2))=  x1 + x2  
  POL(minus(x1))=  x1  
  POL(-(x1, x2))=  x1 + x2  
  POL(+(x1, x2))=  1 + x1 + x2  
  POL(div(x1, x2))=  x1 + x2  
  POL(ln(x1))=  x1  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
+(x1, x2) -> +(x1, x2)
pow(x1, x2) -> pow(x1, x2)
div(x1, x2) -> div(x1, x2)
*(x1, x2) -> *(x1, x2)
ln(x1) -> ln(x1)
-(x1, x2) -> -(x1, x2)
minus(x1) -> minus(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
Argument Filtering and Ordering


Dependency Pairs:

D'(pow(x, y)) -> D'(y)
D'(pow(x, y)) -> D'(x)
D'(ln(x)) -> D'(x)
D'(div(x, y)) -> D'(y)
D'(div(x, y)) -> D'(x)
D'(minus(x)) -> D'(x)
D'(-(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)
D'(*(x, y)) -> D'(y)
D'(*(x, y)) -> D'(x)


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

D'(pow(x, y)) -> D'(y)
D'(pow(x, y)) -> D'(x)


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(pow(x1, x2))=  1 + x1 + x2  
  POL(*(x1, x2))=  x1 + x2  
  POL(minus(x1))=  x1  
  POL(-(x1, x2))=  x1 + x2  
  POL(div(x1, x2))=  x1 + x2  
  POL(ln(x1))=  x1  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
pow(x1, x2) -> pow(x1, x2)
div(x1, x2) -> div(x1, x2)
*(x1, x2) -> *(x1, x2)
ln(x1) -> ln(x1)
-(x1, x2) -> -(x1, x2)
minus(x1) -> minus(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 3
Argument Filtering and Ordering


Dependency Pairs:

D'(ln(x)) -> D'(x)
D'(div(x, y)) -> D'(y)
D'(div(x, y)) -> D'(x)
D'(minus(x)) -> D'(x)
D'(-(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)
D'(*(x, y)) -> D'(y)
D'(*(x, y)) -> D'(x)


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

D'(div(x, y)) -> D'(y)
D'(div(x, y)) -> D'(x)


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(*(x1, x2))=  x1 + x2  
  POL(minus(x1))=  x1  
  POL(-(x1, x2))=  x1 + x2  
  POL(div(x1, x2))=  1 + x1 + x2  
  POL(ln(x1))=  x1  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
div(x1, x2) -> div(x1, x2)
*(x1, x2) -> *(x1, x2)
ln(x1) -> ln(x1)
-(x1, x2) -> -(x1, x2)
minus(x1) -> minus(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 4
Argument Filtering and Ordering


Dependency Pairs:

D'(ln(x)) -> D'(x)
D'(minus(x)) -> D'(x)
D'(-(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)
D'(*(x, y)) -> D'(y)
D'(*(x, y)) -> D'(x)


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

D'(*(x, y)) -> D'(y)
D'(*(x, y)) -> D'(x)


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(*(x1, x2))=  1 + x1 + x2  
  POL(minus(x1))=  x1  
  POL(-(x1, x2))=  x1 + x2  
  POL(ln(x1))=  x1  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
*(x1, x2) -> *(x1, x2)
ln(x1) -> ln(x1)
-(x1, x2) -> -(x1, x2)
minus(x1) -> minus(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 5
Argument Filtering and Ordering


Dependency Pairs:

D'(ln(x)) -> D'(x)
D'(minus(x)) -> D'(x)
D'(-(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pair can be strictly oriented:

D'(ln(x)) -> D'(x)


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(minus(x1))=  x1  
  POL(-(x1, x2))=  x1 + x2  
  POL(ln(x1))=  1 + x1  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
ln(x1) -> ln(x1)
-(x1, x2) -> -(x1, x2)
minus(x1) -> minus(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 6
Argument Filtering and Ordering


Dependency Pairs:

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


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

D'(-(x, y)) -> D'(y)
D'(-(x, y)) -> D'(x)


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(minus(x1))=  x1  
  POL(-(x1, x2))=  1 + x1 + x2  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
-(x1, x2) -> -(x1, x2)
minus(x1) -> minus(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 7
Argument Filtering and Ordering


Dependency Pair:

D'(minus(x)) -> D'(x)


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




The following dependency pair can be strictly oriented:

D'(minus(x)) -> D'(x)


There are no usable rules for innermost that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(D'(x1))=  x1  
  POL(minus(x1))=  1 + x1  

resulting in one new DP problem.
Used Argument Filtering System:
D'(x1) -> D'(x1)
minus(x1) -> minus(x1)


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


Dependency Pair:


Rules:


D(t) -> 1
D(constant) -> 0
D(+(x, y)) -> +(D(x), D(y))
D(*(x, y)) -> +(*(y, D(x)), *(x, D(y)))
D(-(x, y)) -> -(D(x), D(y))
D(minus(x)) -> minus(D(x))
D(div(x, y)) -> -(div(D(x), y), div(*(x, D(y)), pow(y, 2)))
D(ln(x)) -> div(D(x), x)
D(pow(x, y)) -> +(*(*(y, pow(x, -(y, 1))), D(x)), *(*(pow(x, y), ln(x)), D(y)))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.

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