(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
(1) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(2) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MINUS(n__0, Y) → 01
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
GEQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
DIV(s(X), n__s(Y)) → ACTIVATE(Y)
IF(true, X, Y) → ACTIVATE(X)
IF(false, X, Y) → ACTIVATE(Y)
ACTIVATE(n__0) → 01
ACTIVATE(n__s(X)) → S(activate(X))
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(3) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.
(4) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
IF(false, X, Y) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
GEQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → ACTIVATE(Y)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(5) Instantiation (EQUIVALENT transformation)
By instantiating [LPAR04] the rule
IF(
false,
X,
Y) →
ACTIVATE(
Y) we obtained the following new rules [LPAR04]:
IF(false, n__s(n__div(n__minus(y_4, y_6), n__s(y_8))), n__0) → ACTIVATE(n__0)
(6) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
GEQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → ACTIVATE(Y)
IF(false, n__s(n__div(n__minus(y_4, y_6), n__s(y_8))), n__0) → ACTIVATE(n__0)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(7) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.
(8) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
GEQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → ACTIVATE(Y)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(9) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
DIV(s(X), n__s(Y)) → ACTIVATE(Y)
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:
POL(ACTIVATE(x1)) = | 0A | + | 0A | · | x1 |
POL(n__s(x1)) = | -I | + | 0A | · | x1 |
POL(n__div(x1, x2)) = | 1A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(DIV(x1, x2)) = | 1A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(activate(x1)) = | -I | + | 0A | · | x1 |
POL(IF(x1, x2, x3)) = | 0A | + | 0A | · | x1 | + | 0A | · | x2 | + | -I | · | x3 |
POL(geq(x1, x2)) = | -I | + | 0A | · | x1 | + | 0A | · | x2 |
POL(n__minus(x1, x2)) = | -I | + | 0A | · | x1 | + | 0A | · | x2 |
POL(MINUS(x1, x2)) = | 0A | + | 0A | · | x1 | + | 0A | · | x2 |
POL(GEQ(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(minus(x1, x2)) = | -I | + | 0A | · | x1 | + | 0A | · | x2 |
POL(if(x1, x2, x3)) = | -I | + | -I | · | x1 | + | 0A | · | x2 | + | 0A | · | x3 |
POL(div(x1, x2)) = | 1A | + | 0A | · | x1 | + | 1A | · | x2 |
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(10) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
GEQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(11) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
GEQ(n__s(X), n__s(Y)) → ACTIVATE(Y)
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:
POL(ACTIVATE(x1)) = | 1A | + | 0A | · | x1 |
POL(n__s(x1)) = | 1A | + | 0A | · | x1 |
POL(n__div(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(DIV(x1, x2)) = | -I | + | 0A | · | x1 | + | 1A | · | x2 |
POL(activate(x1)) = | 1A | + | 0A | · | x1 |
POL(IF(x1, x2, x3)) = | 1A | + | 0A | · | x1 | + | 0A | · | x2 | + | -I | · | x3 |
POL(geq(x1, x2)) = | 0A | + | -I | · | x1 | + | 0A | · | x2 |
POL(n__minus(x1, x2)) = | 0A | + | 0A | · | x1 | + | 0A | · | x2 |
POL(MINUS(x1, x2)) = | 1A | + | 0A | · | x1 | + | 0A | · | x2 |
POL(GEQ(x1, x2)) = | -I | + | 0A | · | x1 | + | 1A | · | x2 |
POL(minus(x1, x2)) = | 1A | + | 0A | · | x1 | + | 0A | · | x2 |
POL(if(x1, x2, x3)) = | 1A | + | -I | · | x1 | + | 0A | · | x2 | + | 0A | · | x3 |
POL(div(x1, x2)) = | 1A | + | 0A | · | x1 | + | 1A | · | x2 |
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(12) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(13) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
MINUS(n__s(X), n__s(Y)) → ACTIVATE(Y)
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:
POL(ACTIVATE(x1)) = | -I | + | 0A | · | x1 |
POL(n__s(x1)) = | -I | + | 0A | · | x1 |
POL(n__div(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(DIV(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(activate(x1)) = | -I | + | 0A | · | x1 |
POL(IF(x1, x2, x3)) = | -I | + | 0A | · | x1 | + | 0A | · | x2 | + | 0A | · | x3 |
POL(geq(x1, x2)) = | -I | + | 0A | · | x1 | + | 0A | · | x2 |
POL(n__minus(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(MINUS(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(GEQ(x1, x2)) = | 0A | + | 0A | · | x1 | + | 0A | · | x2 |
POL(minus(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
POL(if(x1, x2, x3)) = | -I | + | 0A | · | x1 | + | 0A | · | x2 | + | 0A | · | x3 |
POL(div(x1, x2)) = | 0A | + | 0A | · | x1 | + | 1A | · | x2 |
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(14) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(15) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
ACTIVATE(n__div(X1, X2)) → ACTIVATE(X1)
DIV(s(X), n__s(Y)) → GEQ(X, activate(Y))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(0) = 0
POL(ACTIVATE(x1)) = x1
POL(DIV(x1, x2)) = 1 + x1
POL(GEQ(x1, x2)) = x1
POL(IF(x1, x2, x3)) = x2
POL(MINUS(x1, x2)) = x1
POL(activate(x1)) = x1
POL(div(x1, x2)) = 1 + x1
POL(false) = 0
POL(geq(x1, x2)) = 0
POL(if(x1, x2, x3)) = x2 + x3
POL(minus(x1, x2)) = x1
POL(n__0) = 0
POL(n__div(x1, x2)) = 1 + x1
POL(n__minus(x1, x2)) = x1
POL(n__s(x1)) = x1
POL(s(x1)) = x1
POL(true) = 0
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(16) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
GEQ(n__s(X), n__s(Y)) → ACTIVATE(X)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(17) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node.
(18) Complex Obligation (AND)
(19) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(20) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
ACTIVATE(n__minus(X1, X2)) → MINUS(X1, X2)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(0) = 0
POL(ACTIVATE(x1)) = x1
POL(DIV(x1, x2)) = 0
POL(IF(x1, x2, x3)) = x2
POL(MINUS(x1, x2)) = x1
POL(activate(x1)) = x1
POL(div(x1, x2)) = 0
POL(false) = 0
POL(geq(x1, x2)) = 0
POL(if(x1, x2, x3)) = x2 + x3
POL(minus(x1, x2)) = 1 + x1
POL(n__0) = 0
POL(n__div(x1, x2)) = 0
POL(n__minus(x1, x2)) = 1 + x1
POL(n__s(x1)) = x1
POL(s(x1)) = x1
POL(true) = 0
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(21) Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
MINUS(n__s(X), n__s(Y)) → ACTIVATE(X)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(22) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node.
(23) Complex Obligation (AND)
(24) Obligation:
Q DP problem:
The TRS P consists of the following rules:
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__s(X)) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(25) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
ACTIVATE(n__s(X)) → ACTIVATE(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(0) = 0
POL(ACTIVATE(x1)) = x1
POL(DIV(x1, x2)) = x1
POL(IF(x1, x2, x3)) = x2
POL(activate(x1)) = x1
POL(div(x1, x2)) = x1
POL(false) = 0
POL(geq(x1, x2)) = 0
POL(if(x1, x2, x3)) = x2 + x3
POL(minus(x1, x2)) = 0
POL(n__0) = 0
POL(n__div(x1, x2)) = x1
POL(n__minus(x1, x2)) = 0
POL(n__s(x1)) = 1 + x1
POL(s(x1)) = 1 + x1
POL(true) = 0
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(26) Obligation:
Q DP problem:
The TRS P consists of the following rules:
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
IF(true, X, Y) → ACTIVATE(X)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(27) Instantiation (EQUIVALENT transformation)
By instantiating [LPAR04] the rule
IF(
true,
X,
Y) →
ACTIVATE(
X) we obtained the following new rules [LPAR04]:
IF(true, n__s(n__div(n__minus(y_4, y_6), n__s(y_8))), n__0) → ACTIVATE(n__s(n__div(n__minus(y_4, y_6), n__s(y_8))))
(28) Obligation:
Q DP problem:
The TRS P consists of the following rules:
DIV(s(X), n__s(Y)) → IF(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
ACTIVATE(n__div(X1, X2)) → DIV(activate(X1), X2)
IF(true, n__s(n__div(n__minus(y_4, y_6), n__s(y_8))), n__0) → ACTIVATE(n__s(n__div(n__minus(y_4, y_6), n__s(y_8))))
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(29) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes.
(30) TRUE
(31) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(32) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
MINUS(n__s(X), n__s(Y)) → MINUS(activate(X), activate(Y))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(0) = 0
POL(MINUS(x1, x2)) = x1 + x2
POL(activate(x1)) = x1
POL(div(x1, x2)) = x1
POL(false) = 0
POL(geq(x1, x2)) = x1
POL(if(x1, x2, x3)) = x2 + x3
POL(minus(x1, x2)) = x1
POL(n__0) = 0
POL(n__div(x1, x2)) = x1
POL(n__minus(x1, x2)) = x1
POL(n__s(x1)) = 1 + x1
POL(s(x1)) = 1 + x1
POL(true) = 0
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(33) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(34) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(35) TRUE
(36) Obligation:
Q DP problem:
The TRS P consists of the following rules:
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(37) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
GEQ(n__s(X), n__s(Y)) → GEQ(activate(X), activate(Y))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(0) = 0
POL(GEQ(x1, x2)) = x1 + x2
POL(activate(x1)) = x1
POL(div(x1, x2)) = x1
POL(false) = 0
POL(geq(x1, x2)) = x1
POL(if(x1, x2, x3)) = x2 + x3
POL(minus(x1, x2)) = x1
POL(n__0) = 0
POL(n__div(x1, x2)) = x1
POL(n__minus(x1, x2)) = x1
POL(n__s(x1)) = 1 + x1
POL(s(x1)) = 1 + x1
POL(true) = 0
The following usable rules [FROCOS05] were oriented:
geq(n__0, n__s(Y)) → false
geq(X, n__0) → true
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
minus(n__0, Y) → 0
activate(n__s(X)) → s(activate(X))
if(false, X, Y) → activate(Y)
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
activate(n__div(X1, X2)) → div(activate(X1), X2)
if(true, X, Y) → activate(X)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
0 → n__0
(38) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
minus(n__0, Y) → 0
minus(n__s(X), n__s(Y)) → minus(activate(X), activate(Y))
geq(X, n__0) → true
geq(n__0, n__s(Y)) → false
geq(n__s(X), n__s(Y)) → geq(activate(X), activate(Y))
div(0, n__s(Y)) → 0
div(s(X), n__s(Y)) → if(geq(X, activate(Y)), n__s(n__div(n__minus(X, activate(Y)), n__s(activate(Y)))), n__0)
if(true, X, Y) → activate(X)
if(false, X, Y) → activate(Y)
0 → n__0
s(X) → n__s(X)
div(X1, X2) → n__div(X1, X2)
minus(X1, X2) → n__minus(X1, X2)
activate(n__0) → 0
activate(n__s(X)) → s(activate(X))
activate(n__div(X1, X2)) → div(activate(X1), X2)
activate(n__minus(X1, X2)) → minus(X1, X2)
activate(X) → X
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(39) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(40) TRUE