Term Rewriting System R:
[x, y]
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

-'(s(x), s(y)) -> -'(x, y)
MIN(s(x), s(y)) -> MIN(x, y)
TWICE(s(x)) -> TWICE(x)
F(s(x), s(y)) -> F(-(y, min(x, y)), s(twice(min(x, y))))
F(s(x), s(y)) -> -'(y, min(x, y))
F(s(x), s(y)) -> MIN(x, y)
F(s(x), s(y)) -> TWICE(min(x, y))
F(s(x), s(y)) -> F(-(x, min(x, y)), s(twice(min(x, y))))
F(s(x), s(y)) -> -'(x, min(x, y))

Furthermore, R contains four SCCs.


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


Dependency Pair:

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


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




The following dependency pair can be strictly oriented:

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


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

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


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 5
Dependency Graph
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
Nar


Dependency Pair:


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.


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


Dependency Pair:

MIN(s(x), s(y)) -> MIN(x, y)


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




The following dependency pair can be strictly oriented:

MIN(s(x), s(y)) -> MIN(x, y)


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

resulting in one new DP problem.
Used Argument Filtering System:
MIN(x1, x2) -> MIN(x1, x2)
s(x1) -> s(x1)


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
           →DP Problem 6
Dependency Graph
       →DP Problem 3
AFS
       →DP Problem 4
Nar


Dependency Pair:


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.


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


Dependency Pair:

TWICE(s(x)) -> TWICE(x)


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




The following dependency pair can be strictly oriented:

TWICE(s(x)) -> TWICE(x)


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

resulting in one new DP problem.
Used Argument Filtering System:
TWICE(x1) -> TWICE(x1)
s(x1) -> s(x1)


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
           →DP Problem 7
Dependency Graph
       →DP Problem 4
Nar


Dependency Pair:


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
Narrowing Transformation


Dependency Pairs:

F(s(x), s(y)) -> F(-(x, min(x, y)), s(twice(min(x, y))))
F(s(x), s(y)) -> F(-(y, min(x, y)), s(twice(min(x, y))))


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




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

F(s(x), s(y)) -> F(-(y, min(x, y)), s(twice(min(x, y))))
six new Dependency Pairs are created:

F(s(x''), s(0)) -> F(-(0, 0), s(twice(min(x'', 0))))
F(s(0), s(y'')) -> F(-(y'', 0), s(twice(min(0, y''))))
F(s(s(x'')), s(s(y''))) -> F(-(s(y''), s(min(x'', y''))), s(twice(min(s(x''), s(y'')))))
F(s(x''), s(0)) -> F(-(0, min(x'', 0)), s(twice(0)))
F(s(0), s(y'')) -> F(-(y'', min(0, y'')), s(twice(0)))
F(s(s(x'')), s(s(y''))) -> F(-(s(y''), min(s(x''), s(y''))), s(twice(s(min(x'', y'')))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
Nar
           →DP Problem 8
Narrowing Transformation


Dependency Pairs:

F(s(s(x'')), s(s(y''))) -> F(-(s(y''), min(s(x''), s(y''))), s(twice(s(min(x'', y'')))))
F(s(0), s(y'')) -> F(-(y'', min(0, y'')), s(twice(0)))
F(s(x''), s(0)) -> F(-(0, min(x'', 0)), s(twice(0)))
F(s(s(x'')), s(s(y''))) -> F(-(s(y''), s(min(x'', y''))), s(twice(min(s(x''), s(y'')))))
F(s(0), s(y'')) -> F(-(y'', 0), s(twice(min(0, y''))))
F(s(x''), s(0)) -> F(-(0, 0), s(twice(min(x'', 0))))
F(s(x), s(y)) -> F(-(x, min(x, y)), s(twice(min(x, y))))


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost




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

F(s(x), s(y)) -> F(-(x, min(x, y)), s(twice(min(x, y))))
six new Dependency Pairs are created:

F(s(x''), s(0)) -> F(-(x'', 0), s(twice(min(x'', 0))))
F(s(0), s(y'')) -> F(-(0, 0), s(twice(min(0, y''))))
F(s(s(x'')), s(s(y''))) -> F(-(s(x''), s(min(x'', y''))), s(twice(min(s(x''), s(y'')))))
F(s(x''), s(0)) -> F(-(x'', min(x'', 0)), s(twice(0)))
F(s(0), s(y'')) -> F(-(0, min(0, y'')), s(twice(0)))
F(s(s(x'')), s(s(y''))) -> F(-(s(x''), min(s(x''), s(y''))), s(twice(s(min(x'', y'')))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
Nar
           →DP Problem 8
Nar
             ...
               →DP Problem 9
Remaining Obligation(s)




The following remains to be proven:
Dependency Pairs:

F(s(s(x'')), s(s(y''))) -> F(-(s(x''), min(s(x''), s(y''))), s(twice(s(min(x'', y'')))))
F(s(0), s(y'')) -> F(-(0, min(0, y'')), s(twice(0)))
F(s(x''), s(0)) -> F(-(x'', min(x'', 0)), s(twice(0)))
F(s(s(x'')), s(s(y''))) -> F(-(s(x''), s(min(x'', y''))), s(twice(min(s(x''), s(y'')))))
F(s(0), s(y'')) -> F(-(0, 0), s(twice(min(0, y''))))
F(s(x''), s(0)) -> F(-(x'', 0), s(twice(min(x'', 0))))
F(s(0), s(y'')) -> F(-(y'', min(0, y'')), s(twice(0)))
F(s(x''), s(0)) -> F(-(0, min(x'', 0)), s(twice(0)))
F(s(s(x'')), s(s(y''))) -> F(-(s(y''), s(min(x'', y''))), s(twice(min(s(x''), s(y'')))))
F(s(0), s(y'')) -> F(-(y'', 0), s(twice(min(0, y''))))
F(s(x''), s(0)) -> F(-(0, 0), s(twice(min(x'', 0))))
F(s(s(x'')), s(s(y''))) -> F(-(s(y''), min(s(x''), s(y''))), s(twice(s(min(x'', y'')))))


Rules:


-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
twice(0) -> 0
twice(s(x)) -> s(s(twice(x)))
f(s(x), s(y)) -> f(-(y, min(x, y)), s(twice(min(x, y))))
f(s(x), s(y)) -> f(-(x, min(x, y)), s(twice(min(x, y))))


Strategy:

innermost



Innermost Termination of R could not be shown.
Duration:
0:42 minutes