R
↳Dependency Pair Analysis
MINUS(s(X), s(Y)) -> MINUS(X, Y)
GEQ(s(X), s(Y)) -> GEQ(X, Y)
DIV(s(X), s(Y)) -> IF(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
DIV(s(X), s(Y)) -> GEQ(X, Y)
DIV(s(X), s(Y)) -> DIV(minus(X, Y), s(Y))
DIV(s(X), s(Y)) -> MINUS(X, Y)
R
↳DPs
→DP Problem 1
↳Argument Filtering and Ordering
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
MINUS(s(X), s(Y)) -> MINUS(X, Y)
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
MINUS(s(X), s(Y)) -> MINUS(X, Y)
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
div > geq
div > {true, 0}
div > if
div > {false, s}
MINUS(x1, x2) -> MINUS(x1, x2)
s(x1) -> s(x1)
minus(x1, x2) -> x1
geq(x1, x2) -> geq(x1, x2)
div(x1, x2) -> div(x1, x2)
if(x1, x2, x3) -> if(x1, x2, x3)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Argument Filtering and Ordering
→DP Problem 3
↳AFS
GEQ(s(X), s(Y)) -> GEQ(X, Y)
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
GEQ(s(X), s(Y)) -> GEQ(X, Y)
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
div > geq > {true, false}
div > 0 > {true, false}
div > if > {true, false}
div > s > {true, false}
GEQ > {true, false}
minus > {true, false}
GEQ(x1, x2) -> GEQ(x1, x2)
s(x1) -> s(x1)
minus(x1, x2) -> x1
geq(x1, x2) -> geq(x1, x2)
div(x1, x2) -> div(x1, x2)
if(x1, x2, x3) -> if(x1, x2, x3)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳AFS
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Argument Filtering and Ordering
DIV(s(X), s(Y)) -> DIV(minus(X, Y), s(Y))
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
DIV(s(X), s(Y)) -> DIV(minus(X, Y), s(Y))
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y
DIV > 0
{geq, div, false} > true > 0
{geq, div, false} > if > 0
{geq, div, false} > s > 0
minus > 0
DIV(x1, x2) -> DIV(x1, x2)
s(x1) -> s(x1)
minus(x1, x2) -> x1
geq(x1, x2) -> geq(x1, x2)
div(x1, x2) -> div(x1, x2)
if(x1, x2, x3) -> if(x1, x2, x3)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 6
↳Dependency Graph
minus(0, Y) -> 0
minus(s(X), s(Y)) -> minus(X, Y)
geq(X, 0) -> true
geq(0, s(Y)) -> false
geq(s(X), s(Y)) -> geq(X, Y)
div(0, s(Y)) -> 0
div(s(X), s(Y)) -> if(geq(X, Y), s(div(minus(X, Y), s(Y))), 0)
if(true, X, Y) -> X
if(false, X, Y) -> Y