(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

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:

GE(s(x), s(y)) → GE(x, y)
MINUS(s(x), s(y)) → MINUS(x, y)
DIV(x, y) → IF(ge(y, s(0)), ge(x, y), x, y)
DIV(x, y) → GE(y, s(0))
DIV(x, y) → GE(x, y)
IF(true, true, x, y) → ID_INC(div(minus(x, y), y))
IF(true, true, x, y) → DIV(minus(x, y), y)
IF(true, true, x, y) → MINUS(x, y)

The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

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 3 SCCs with 4 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

Q DP problem:
The TRS P consists of the following rules:

MINUS(s(x), s(y)) → MINUS(x, y)

The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(6) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MINUS(s(x), s(y)) → MINUS(x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
MINUS(x1, x2)  =  x2
s(x1)  =  s(x1)

Recursive Path Order [RPO].
Precedence:
trivial


The following usable rules [FROCOS05] were oriented: none

(7) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(8) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(9) TRUE

(10) Obligation:

Q DP problem:
The TRS P consists of the following rules:

GE(s(x), s(y)) → GE(x, y)

The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

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.


GE(s(x), s(y)) → GE(x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
GE(x1, x2)  =  x2
s(x1)  =  s(x1)

Recursive Path Order [RPO].
Precedence:
trivial


The following usable rules [FROCOS05] were oriented: none

(12) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(13) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(14) TRUE

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

DIV(x, y) → IF(ge(y, s(0)), ge(x, y), x, y)
IF(true, true, x, y) → DIV(minus(x, y), y)

The TRS R consists of the following rules:

ge(x, 0) → true
ge(0, s(y)) → false
ge(s(x), s(y)) → ge(x, y)
minus(x, 0) → x
minus(0, y) → 0
minus(s(x), s(y)) → minus(x, y)
id_inc(x) → x
id_inc(x) → s(x)
div(x, y) → if(ge(y, s(0)), ge(x, y), x, y)
if(false, b, x, y) → div_by_zero
if(true, false, x, y) → 0
if(true, true, x, y) → id_inc(div(minus(x, y), y))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.