YES(O(1), O(n^2)) 476.08/157.79 YES(O(1), O(n^2)) 476.08/157.79 476.08/157.79 476.08/157.79 476.08/157.79 476.08/157.79 476.08/157.79 Runtime Complexity (innermost) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml.xml 476.08/157.79 476.08/157.79 476.08/157.79
476.08/157.79 476.56/157.82 476.56/157.82
476.56/157.82
476.56/157.82

(0) Obligation:

Runtime Complexity TRS:
The TRS R consists of the following rules:

ge(x, 0) → true 476.56/157.82
ge(0, s(y)) → false 476.56/157.82
ge(s(x), s(y)) → ge(x, y) 476.56/157.82
minus(x, 0) → x 476.56/157.82
minus(0, y) → 0 476.56/157.82
minus(s(x), s(y)) → minus(x, y) 476.56/157.82
id_inc(x) → x 476.56/157.82
id_inc(x) → s(x) 476.56/157.82
quot(x, y) → div(x, y, 0) 476.56/157.82
div(x, y, z) → if(ge(y, s(0)), ge(x, y), x, y, z) 476.56/157.82
if(false, b, x, y, z) → div_by_zero 476.56/157.82
if(true, false, x, y, z) → z 476.56/157.82
if(true, true, x, y, z) → div(minus(x, y), y, id_inc(z))

Rewrite Strategy: INNERMOST
476.56/157.82
476.56/157.82

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT
476.56/157.82
476.56/157.82

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.56/157.82
ge(0, s(z0)) → false 476.56/157.82
ge(s(z0), s(z1)) → ge(z0, z1) 476.56/157.82
minus(z0, 0) → z0 476.56/157.82
minus(0, z0) → 0 476.56/157.82
minus(s(z0), s(z1)) → minus(z0, z1) 476.56/157.82
id_inc(z0) → z0 476.56/157.82
id_inc(z0) → s(z0) 476.56/157.82
quot(z0, z1) → div(z0, z1, 0) 476.56/157.82
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.56/157.82
if(false, z0, z1, z2, z3) → div_by_zero 476.56/157.82
if(true, false, z0, z1, z2) → z2 476.56/157.82
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.56/157.82
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.56/157.82
QUOT(z0, z1) → c8(DIV(z0, z1, 0)) 476.56/157.82
DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) 476.56/157.83
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1), ID_INC(z2))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.56/157.83
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.56/157.83
QUOT(z0, z1) → c8(DIV(z0, z1, 0)) 476.56/157.83
DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) 476.56/157.83
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1), ID_INC(z2))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, QUOT, DIV, IF

Compound Symbols:

c2, c5, c8, c9, c12

476.56/157.83
476.56/157.83

(3) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts
476.56/157.83
476.56/157.83

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.56/157.83
ge(0, s(z0)) → false 476.56/157.83
ge(s(z0), s(z1)) → ge(z0, z1) 476.56/157.83
minus(z0, 0) → z0 476.56/157.83
minus(0, z0) → 0 476.56/157.83
minus(s(z0), s(z1)) → minus(z0, z1) 476.56/157.83
id_inc(z0) → z0 476.56/157.83
id_inc(z0) → s(z0) 476.56/157.83
quot(z0, z1) → div(z0, z1, 0) 476.56/157.83
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.56/157.83
if(false, z0, z1, z2, z3) → div_by_zero 476.56/157.83
if(true, false, z0, z1, z2) → z2 476.56/157.83
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.56/157.83
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
QUOT(z0, z1) → c8(DIV(z0, z1, 0)) 476.98/157.95
DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
QUOT(z0, z1) → c8(DIV(z0, z1, 0)) 476.98/157.95
DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, QUOT, DIV, IF

Compound Symbols:

c2, c5, c8, c9, c12

476.98/157.95
476.98/157.95

(5) CdtLeafRemovalProof (ComplexityIfPolyImplication transformation)

Removed 1 leading nodes:

QUOT(z0, z1) → c8(DIV(z0, z1, 0))
476.98/157.95
476.98/157.95

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.95
ge(0, s(z0)) → false 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0) 476.98/157.95
quot(z0, z1) → div(z0, z1, 0) 476.98/157.95
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.95
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.95
if(true, false, z0, z1, z2) → z2 476.98/157.95
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c12

476.98/157.95
476.98/157.95

(7) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace DIV(z0, z1, z2) → c9(IF(ge(z1, s(0)), ge(z0, z1), z0, z1, z2), GE(z1, s(0)), GE(z0, z1)) by

DIV(0, s(z0), x2) → c9(IF(ge(s(z0), s(0)), false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2), GE(0, s(0)), GE(z0, 0)) 476.98/157.95
DIV(x0, 0, x2) → c9(IF(false, ge(x0, 0), x0, 0, x2), GE(0, s(0)), GE(x0, 0)) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
476.98/157.95
476.98/157.95

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.95
ge(0, s(z0)) → false 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0) 476.98/157.95
quot(z0, z1) → div(z0, z1, 0) 476.98/157.95
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.95
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.95
if(true, false, z0, z1, z2) → z2 476.98/157.95
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(0, s(z0), x2) → c9(IF(ge(s(z0), s(0)), false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2), GE(0, s(0)), GE(z0, 0)) 476.98/157.95
DIV(x0, 0, x2) → c9(IF(false, ge(x0, 0), x0, 0, x2), GE(0, s(0)), GE(x0, 0)) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(0, s(z0), x2) → c9(IF(ge(s(z0), s(0)), false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2), GE(0, s(0)), GE(z0, 0)) 476.98/157.95
DIV(x0, 0, x2) → c9(IF(false, ge(x0, 0), x0, 0, x2), GE(0, s(0)), GE(x0, 0)) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c12, c9

476.98/157.95
476.98/157.95

(9) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 7 trailing tuple parts
476.98/157.95
476.98/157.95

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.95
ge(0, s(z0)) → false 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0) 476.98/157.95
quot(z0, z1) → div(z0, z1, 0) 476.98/157.95
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.95
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.95
if(true, false, z0, z1, z2) → z2 476.98/157.95
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c12, c9, c9, c9

476.98/157.95
476.98/157.95

(11) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
476.98/157.95
476.98/157.95

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.95
ge(0, s(z0)) → false 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0) 476.98/157.95
quot(z0, z1) → div(z0, z1, 0) 476.98/157.95
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.95
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.95
if(true, false, z0, z1, z2) → z2 476.98/157.95
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c12, c9, c9, c9

476.98/157.95
476.98/157.95

(13) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
We considered the (Usable) Rules:

ge(0, s(z0)) → false 476.98/157.95
ge(z0, 0) → true 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
The order we found is given by the following interpretation:
Polynomial interpretation : 476.98/157.95

POL(0) = 0    476.98/157.95
POL(DIV(x1, x2, x3)) = x2    476.98/157.95
POL(GE(x1, x2)) = 0    476.98/157.95
POL(IF(x1, x2, x3, x4, x5)) = x4    476.98/157.95
POL(MINUS(x1, x2)) = 0    476.98/157.95
POL(c12(x1, x2)) = x1 + x2    476.98/157.95
POL(c2(x1)) = x1    476.98/157.95
POL(c5(x1)) = x1    476.98/157.95
POL(c9) = 0    476.98/157.95
POL(c9(x1)) = x1    476.98/157.95
POL(c9(x1, x2, x3)) = x1 + x2 + x3    476.98/157.95
POL(false) = [3]    476.98/157.95
POL(ge(x1, x2)) = 0    476.98/157.95
POL(id_inc(x1)) = x1    476.98/157.95
POL(minus(x1, x2)) = x2    476.98/157.95
POL(s(x1)) = [2]    476.98/157.95
POL(true) = 0   
476.98/157.95
476.98/157.95

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.95
ge(0, s(z0)) → false 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0) 476.98/157.95
quot(z0, z1) → div(z0, z1, 0) 476.98/157.95
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.95
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.95
if(true, false, z0, z1, z2) → z2 476.98/157.95
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c12, c9, c9, c9

476.98/157.95
476.98/157.95

(15) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

DIV(x0, 0, x2) → c9
We considered the (Usable) Rules:

ge(0, s(z0)) → false 476.98/157.95
ge(z0, 0) → true 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.95
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.95
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.95
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.95
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.95
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.95
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.95
DIV(x0, 0, x2) → c9
The order we found is given by the following interpretation:
Polynomial interpretation : 476.98/157.95

POL(0) = [4]    476.98/157.95
POL(DIV(x1, x2, x3)) = [4]x2    476.98/157.95
POL(GE(x1, x2)) = 0    476.98/157.95
POL(IF(x1, x2, x3, x4, x5)) = [4]x4    476.98/157.95
POL(MINUS(x1, x2)) = 0    476.98/157.95
POL(c12(x1, x2)) = x1 + x2    476.98/157.95
POL(c2(x1)) = x1    476.98/157.95
POL(c5(x1)) = x1    476.98/157.95
POL(c9) = 0    476.98/157.95
POL(c9(x1)) = x1    476.98/157.95
POL(c9(x1, x2, x3)) = x1 + x2 + x3    476.98/157.95
POL(false) = [5]    476.98/157.95
POL(ge(x1, x2)) = [5]x2    476.98/157.95
POL(id_inc(x1)) = x1    476.98/157.95
POL(minus(x1, x2)) = x2    476.98/157.95
POL(s(x1)) = [2]    476.98/157.95
POL(true) = 0   
476.98/157.95
476.98/157.95

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.95
ge(0, s(z0)) → false 476.98/157.95
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.95
minus(z0, 0) → z0 476.98/157.95
minus(0, z0) → 0 476.98/157.95
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.95
id_inc(z0) → z0 476.98/157.95
id_inc(z0) → s(z0) 476.98/157.95
quot(z0, z1) → div(z0, z1, 0) 476.98/157.95
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.95
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.95
if(true, false, z0, z1, z2) → z2 476.98/157.95
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c12, c9, c9, c9

476.98/157.99
476.98/157.99

(17) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, z0, z1, z2) → c12(DIV(minus(z0, z1), z1, id_inc(z2)), MINUS(z0, z1)) by

IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)), MINUS(z0, 0)) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)), MINUS(0, z0)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
476.98/157.99
476.98/157.99

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)), MINUS(z0, 0)) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)), MINUS(0, z0)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)), MINUS(z0, 0)) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)), MINUS(0, z0)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12

476.98/157.99
476.98/157.99

(19) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing tuple parts
476.98/157.99
476.98/157.99

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12

476.98/157.99
476.98/157.99

(21) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
476.98/157.99
476.98/157.99

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12

476.98/157.99
476.98/157.99

(23) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
We considered the (Usable) Rules:

id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(z0, 0) → true 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
The order we found is given by the following interpretation:
Polynomial interpretation : 476.98/157.99

POL(0) = 0    476.98/157.99
POL(DIV(x1, x2, x3)) = x1    476.98/157.99
POL(GE(x1, x2)) = 0    476.98/157.99
POL(IF(x1, x2, x3, x4, x5)) = x3    476.98/157.99
POL(MINUS(x1, x2)) = 0    476.98/157.99
POL(c12(x1)) = x1    476.98/157.99
POL(c12(x1, x2)) = x1 + x2    476.98/157.99
POL(c2(x1)) = x1    476.98/157.99
POL(c5(x1)) = x1    476.98/157.99
POL(c9) = 0    476.98/157.99
POL(c9(x1)) = x1    476.98/157.99
POL(c9(x1, x2, x3)) = x1 + x2 + x3    476.98/157.99
POL(false) = [3]    476.98/157.99
POL(ge(x1, x2)) = 0    476.98/157.99
POL(id_inc(x1)) = [5] + x1    476.98/157.99
POL(minus(x1, x2)) = x1    476.98/157.99
POL(s(x1)) = [4] + x1    476.98/157.99
POL(true) = 0   
476.98/157.99
476.98/157.99

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12

476.98/157.99
476.98/157.99

(25) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace DIV(s(z0), s(z1), x2) → c9(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) by

DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c9(IF(ge(s(s(z0)), s(0)), false, s(0), s(s(z0)), x2), GE(s(s(z0)), s(0)), GE(s(0), s(s(z0)))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1)))
476.98/157.99
476.98/157.99

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c9(IF(ge(s(s(z0)), s(0)), false, s(0), s(s(z0)), x2), GE(s(s(z0)), s(0)), GE(s(0), s(s(z0)))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c9(IF(ge(s(s(z0)), s(0)), false, s(0), s(s(z0)), x2), GE(s(s(z0)), s(0)), GE(s(0), s(s(z0)))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12

476.98/157.99
476.98/157.99

(27) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts
476.98/157.99
476.98/157.99

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c9(GE(s(s(z0)), s(0)), GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c9(GE(s(s(z0)), s(0)), GE(s(0), s(s(z0))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12, c9

476.98/157.99
476.98/157.99

(29) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC
476.98/157.99
476.98/157.99

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12, c

476.98/157.99
476.98/157.99

(31) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
476.98/157.99
476.98/157.99

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12, c

476.98/157.99
476.98/157.99

(33) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
We considered the (Usable) Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
The order we found is given by the following interpretation:
Polynomial interpretation : 476.98/157.99

POL(0) = 0    476.98/157.99
POL(DIV(x1, x2, x3)) = [1]    476.98/157.99
POL(GE(x1, x2)) = 0    476.98/157.99
POL(IF(x1, x2, x3, x4, x5)) = x2 + [2]x4    476.98/157.99
POL(MINUS(x1, x2)) = 0    476.98/157.99
POL(c(x1)) = x1    476.98/157.99
POL(c12(x1)) = x1    476.98/157.99
POL(c12(x1, x2)) = x1 + x2    476.98/157.99
POL(c2(x1)) = x1    476.98/157.99
POL(c5(x1)) = x1    476.98/157.99
POL(c9) = 0    476.98/157.99
POL(c9(x1)) = x1    476.98/157.99
POL(c9(x1, x2, x3)) = x1 + x2 + x3    476.98/157.99
POL(false) = [1]    476.98/157.99
POL(ge(x1, x2)) = [1]    476.98/157.99
POL(id_inc(x1)) = [2] + x1    476.98/157.99
POL(minus(x1, x2)) = 0    476.98/157.99
POL(s(x1)) = 0    476.98/157.99
POL(true) = [1]   
476.98/157.99
476.98/157.99

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c9, c12, c12, c

476.98/157.99
476.98/157.99

(35) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace DIV(x0, s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) by

DIV(0, s(z0), x2) → c9(IF(ge(z0, 0), false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 476.98/157.99
DIV(s(z0), s(z1), x2) → c9(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
476.98/157.99
476.98/157.99

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 476.98/157.99
DIV(0, s(z0), x2) → c9(IF(ge(z0, 0), false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(IF(ge(z0, 0), false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

476.98/157.99
476.98/157.99

(37) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing tuple parts
476.98/157.99
476.98/157.99

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

476.98/157.99
476.98/157.99

(39) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
476.98/157.99
476.98/157.99

(40) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

476.98/157.99
476.98/157.99

(41) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)

The following tuples could be moved from S to K by knowledge propagation:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
476.98/157.99
476.98/157.99

(42) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

476.98/157.99
476.98/157.99

(43) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace DIV(z0, 0, x2) → c9(IF(ge(0, s(0)), true, z0, 0, x2)) by

DIV(x0, 0, x1) → c9(IF(false, true, x0, 0, x1))
476.98/157.99
476.98/157.99

(44) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(x0, 0, x1) → c9(IF(false, true, x0, 0, x1))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 476.98/157.99
DIV(x0, 0, x1) → c9(IF(false, true, x0, 0, x1))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

476.98/157.99
476.98/157.99

(45) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts
476.98/157.99
476.98/157.99

(46) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 476.98/157.99
ge(0, s(z0)) → false 476.98/157.99
ge(s(z0), s(z1)) → ge(z0, z1) 476.98/157.99
minus(z0, 0) → z0 476.98/157.99
minus(0, z0) → 0 476.98/157.99
minus(s(z0), s(z1)) → minus(z0, z1) 476.98/157.99
id_inc(z0) → z0 476.98/157.99
id_inc(z0) → s(z0) 476.98/157.99
quot(z0, z1) → div(z0, z1, 0) 476.98/157.99
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 476.98/157.99
if(false, z0, z1, z2, z3) → div_by_zero 476.98/157.99
if(true, false, z0, z1, z2) → z2 476.98/157.99
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 476.98/157.99
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 476.98/157.99
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 476.98/157.99
DIV(x0, 0, x2) → c9 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 476.98/157.99
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 476.98/157.99
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 476.98/157.99
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 476.98/157.99
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 476.98/157.99
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 476.98/157.99
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 476.98/157.99
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 476.98/157.99
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 476.98/157.99
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 476.98/157.99
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.01
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.01
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.01
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.01
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.01
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.01
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.01
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.01
DIV(x0, 0, x1) → c9
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.01
DIV(x0, 0, x2) → c9 477.34/158.01
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 477.34/158.01
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.01
477.34/158.01

(47) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

DIV(x0, 0, x2) → c9 477.34/158.01
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)))
477.34/158.01
477.34/158.01

(48) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.01
ge(0, s(z0)) → false 477.34/158.01
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.01
minus(z0, 0) → z0 477.34/158.01
minus(0, z0) → 0 477.34/158.01
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.01
id_inc(z0) → z0 477.34/158.01
id_inc(z0) → s(z0) 477.34/158.01
quot(z0, z1) → div(z0, z1, 0) 477.34/158.01
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.01
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.01
if(true, false, z0, z1, z2) → z2 477.34/158.01
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.01
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.01
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.01
DIV(x0, 0, x2) → c9 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.01
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 477.34/158.01
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.01
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.01
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.01
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.01
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.01
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.01
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.01
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.01
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.01
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.01
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.01
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.01
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.01
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.01
DIV(x0, 0, x1) → c9
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.01
DIV(x0, 0, x2) → c9 477.34/158.01
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 477.34/158.01
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.01
477.34/158.01

(49) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)

The following tuples could be moved from S to K by knowledge propagation:

IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.01
DIV(x0, 0, x2) → c9 477.34/158.01
DIV(x0, 0, x1) → c9 477.34/158.01
DIV(x0, 0, x2) → c9 477.34/158.01
DIV(x0, 0, x1) → c9
477.34/158.01
477.34/158.01

(50) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.01
ge(0, s(z0)) → false 477.34/158.01
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.01
minus(z0, 0) → z0 477.34/158.01
minus(0, z0) → 0 477.34/158.01
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.01
id_inc(z0) → z0 477.34/158.01
id_inc(z0) → s(z0) 477.34/158.01
quot(z0, z1) → div(z0, z1, 0) 477.34/158.01
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.01
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.01
if(true, false, z0, z1, z2) → z2 477.34/158.01
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.01
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.01
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.01
DIV(x0, 0, x2) → c9 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.01
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 477.34/158.01
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.01
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.01
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.01
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.01
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.01
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.01
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.01
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.01
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.01
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.02
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.02
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.02
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.02
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.02
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.02
DIV(x0, 0, x2) → c9 477.34/158.02
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 477.34/158.02
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.02
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.02
477.34/158.02

(51) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) by

IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.02
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.02
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.02
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.02
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1))))
477.34/158.02
477.34/158.02

(52) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.02
ge(0, s(z0)) → false 477.34/158.02
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.02
minus(z0, 0) → z0 477.34/158.02
minus(0, z0) → 0 477.34/158.02
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.02
id_inc(z0) → z0 477.34/158.02
id_inc(z0) → s(z0) 477.34/158.02
quot(z0, z1) → div(z0, z1, 0) 477.34/158.02
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.02
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.02
if(true, false, z0, z1, z2) → z2 477.34/158.02
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.02
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.02
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.02
DIV(x0, 0, x2) → c9 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.02
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.02
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.02
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.02
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.02
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.02
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.02
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.02
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.02
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.02
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.02
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.02
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.02
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.02
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.02
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.02
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.02
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.02
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.02
DIV(x0, 0, x2) → c9 477.34/158.02
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), id_inc(x2)), MINUS(s(z0), s(z1))) 477.34/158.02
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.02
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.02
477.34/158.02

(53) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing nodes:

DIV(x0, 0, x2) → c9 477.34/158.02
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)))
477.34/158.02
477.34/158.02

(54) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.02
ge(0, s(z0)) → false 477.34/158.02
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.02
minus(z0, 0) → z0 477.34/158.02
minus(0, z0) → 0 477.34/158.02
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.02
id_inc(z0) → z0 477.34/158.02
id_inc(z0) → s(z0) 477.34/158.02
quot(z0, z1) → div(z0, z1, 0) 477.34/158.02
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.02
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.02
if(true, false, z0, z1, z2) → z2 477.34/158.02
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.02
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.02
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.02
DIV(x0, 0, x2) → c9 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.02
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) 477.34/158.02
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.02
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.02
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.02
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.02
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.02
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.02
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.02
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.02
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.02
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.02
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.02
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.02
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.02
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.02
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.02
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.02
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.02
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.03
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.03
DIV(x0, 0, x2) → c9 477.34/158.03
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.03
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.03
477.34/158.03

(55) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2))) by

IF(true, true, x0, 0, z0) → c12(DIV(x0, 0, z0)) 477.34/158.03
IF(true, true, x0, 0, z0) → c12(DIV(x0, 0, s(z0)))
477.34/158.03
477.34/158.03

(56) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.03
ge(0, s(z0)) → false 477.34/158.03
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.03
minus(z0, 0) → z0 477.34/158.03
minus(0, z0) → 0 477.34/158.03
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.03
id_inc(z0) → z0 477.34/158.03
id_inc(z0) → s(z0) 477.34/158.03
quot(z0, z1) → div(z0, z1, 0) 477.34/158.03
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.03
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.03
if(true, false, z0, z1, z2) → z2 477.34/158.03
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.03
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.03
DIV(x0, 0, x2) → c9 477.34/158.03
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.03
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.03
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.03
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.03
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.03
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.03
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.03
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.03
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.03
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.03
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.03
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.03
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.03
IF(true, true, x0, 0, z0) → c12(DIV(x0, 0, z0)) 477.34/158.03
IF(true, true, x0, 0, z0) → c12(DIV(x0, 0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.03
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.03
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.03
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.03
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.03
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.03
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.03
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.03
DIV(x0, 0, x2) → c9 477.34/158.03
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.03
IF(true, true, z0, 0, x2) → c12(DIV(z0, 0, id_inc(x2)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.03
477.34/158.03

(57) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 3 trailing nodes:

DIV(x0, 0, x2) → c9 477.34/158.03
IF(true, true, x0, 0, z0) → c12(DIV(x0, 0, s(z0))) 477.34/158.03
IF(true, true, x0, 0, z0) → c12(DIV(x0, 0, z0))
477.34/158.03
477.34/158.03

(58) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.03
ge(0, s(z0)) → false 477.34/158.03
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.03
minus(z0, 0) → z0 477.34/158.03
minus(0, z0) → 0 477.34/158.03
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.03
id_inc(z0) → z0 477.34/158.03
id_inc(z0) → s(z0) 477.34/158.03
quot(z0, z1) → div(z0, z1, 0) 477.34/158.03
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.03
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.03
if(true, false, z0, z1, z2) → z2 477.34/158.03
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.03
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.03
DIV(x0, 0, x2) → c9 477.34/158.03
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.03
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.03
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.03
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.03
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.03
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.03
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.03
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.03
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.03
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.03
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.03
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.03
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.07
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c12, c9, c

477.34/158.07
477.34/158.07

(59) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, 0, z0, x2) → c12(DIV(0, z0, id_inc(x2))) by

IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0)))
477.34/158.07
477.34/158.07

(60) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.07
ge(0, s(z0)) → false 477.34/158.07
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.07
minus(z0, 0) → z0 477.34/158.07
minus(0, z0) → 0 477.34/158.07
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.07
id_inc(z0) → z0 477.34/158.07
id_inc(z0) → s(z0) 477.34/158.07
quot(z0, z1) → div(z0, z1, 0) 477.34/158.07
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.07
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.07
if(true, false, z0, z1, z2) → z2 477.34/158.07
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.07
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.07
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.07
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c12

477.34/158.07
477.34/158.07

(61) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.07
477.34/158.07

(62) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.07
ge(0, s(z0)) → false 477.34/158.07
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.07
minus(z0, 0) → z0 477.34/158.07
minus(0, z0) → 0 477.34/158.07
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.07
id_inc(z0) → z0 477.34/158.07
id_inc(z0) → s(z0) 477.34/158.07
quot(z0, z1) → div(z0, z1, 0) 477.34/158.07
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.07
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.07
if(true, false, z0, z1, z2) → z2 477.34/158.07
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.07
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.07
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.07
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c12

477.34/158.07
477.34/158.07

(63) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace DIV(x0, s(z0), x2) → c9(IF(true, ge(x0, s(z0)), x0, s(z0), x2), GE(s(z0), s(0)), GE(x0, s(z0))) by

DIV(0, s(z0), x2) → c9(IF(true, false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 477.34/158.07
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.07
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
477.34/158.07
477.34/158.07

(64) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.07
ge(0, s(z0)) → false 477.34/158.07
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.07
minus(z0, 0) → z0 477.34/158.07
minus(0, z0) → 0 477.34/158.07
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.07
id_inc(z0) → z0 477.34/158.07
id_inc(z0) → s(z0) 477.34/158.07
quot(z0, z1) → div(z0, z1, 0) 477.34/158.07
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.07
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.07
if(true, false, z0, z1, z2) → z2 477.34/158.07
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.07
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.07
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0))) 477.34/158.07
DIV(0, s(z0), x2) → c9(IF(true, false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 477.34/158.07
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.07
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.07
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0))) 477.34/158.07
DIV(0, s(z0), x2) → c9(IF(true, false, 0, s(z0), x2), GE(s(z0), s(0)), GE(0, s(z0))) 477.34/158.07
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.07
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c12

477.34/158.07
477.34/158.07

(65) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 2 trailing tuple parts
477.34/158.07
477.34/158.07

(66) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.07
ge(0, s(z0)) → false 477.34/158.07
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.07
minus(z0, 0) → z0 477.34/158.07
minus(0, z0) → 0 477.34/158.07
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.07
id_inc(z0) → z0 477.34/158.07
id_inc(z0) → s(z0) 477.34/158.07
quot(z0, z1) → div(z0, z1, 0) 477.34/158.07
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.07
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.07
if(true, false, z0, z1, z2) → z2 477.34/158.07
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.07
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.07
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.07
DIV(x0, 0, x2) → c9 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.07
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.07
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.07
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.07
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.07
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.07
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.07
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c12(DIV(0, s(z0), id_inc(x2)), MINUS(s(0), s(z0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c12

477.34/158.08
477.34/158.08

(67) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC
477.34/158.08
477.34/158.08

(68) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c12, c1

477.34/158.08
477.34/158.08

(69) CdtLeafRemovalProof (ComplexityIfPolyImplication transformation)

Removed 2 leading nodes:

IF(true, true, 0, x0, z0) → c12(DIV(0, x0, z0)) 477.34/158.08
IF(true, true, 0, x0, z0) → c12(DIV(0, x0, s(z0)))
Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.08
477.34/158.08

(70) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(71) CdtKnowledgeProof (BOTH BOUNDS(ID, ID) transformation)

The following tuples could be moved from S to K by knowledge propagation:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0)))
477.34/158.08
477.34/158.08

(72) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(73) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
We considered the (Usable) Rules:

id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.08

POL(0) = [1]    477.34/158.08
POL(DIV(x1, x2, x3)) = x2    477.34/158.08
POL(GE(x1, x2)) = 0    477.34/158.08
POL(IF(x1, x2, x3, x4, x5)) = x4    477.34/158.08
POL(MINUS(x1, x2)) = 0    477.34/158.08
POL(c(x1)) = x1    477.34/158.08
POL(c1(x1)) = x1    477.34/158.08
POL(c12(x1, x2)) = x1 + x2    477.34/158.08
POL(c2(x1)) = x1    477.34/158.08
POL(c5(x1)) = x1    477.34/158.08
POL(c9) = 0    477.34/158.08
POL(c9(x1)) = x1    477.34/158.08
POL(c9(x1, x2, x3)) = x1 + x2 + x3    477.34/158.08
POL(false) = [4]    477.34/158.08
POL(ge(x1, x2)) = [2] + [4]x2    477.34/158.08
POL(id_inc(x1)) = [4] + x1    477.34/158.08
POL(minus(x1, x2)) = 0    477.34/158.08
POL(s(x1)) = [2] + x1    477.34/158.08
POL(true) = 0   
477.34/158.08
477.34/158.08

(74) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(75) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace DIV(s(s(z0)), s(s(z1)), x2) → c9(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1)), x2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) by DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
477.34/158.08
477.34/158.08

(76) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(77) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.08
477.34/158.08

(78) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(79) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace DIV(s(z0), s(0), x2) → c9(IF(ge(s(0), s(0)), true, s(z0), s(0), x2), GE(s(0), s(0)), GE(s(z0), s(0))) by DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
477.34/158.08
477.34/158.08

(80) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(81) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.08
477.34/158.08

(82) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(83) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) by DIV(s(z0), s(z1), z2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), z2), GE(s(z1), s(0)), GE(s(z0), s(z1)))
477.34/158.08
477.34/158.08

(84) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(z0), x2) → c9(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0), x2), GE(s(z0), s(0)), GE(s(x0), s(z0))) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c9, c, c1

477.34/158.08
477.34/158.08

(85) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.08
477.34/158.08

(86) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c, c9, c1

477.34/158.08
477.34/158.08

(87) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace DIV(s(z0), s(z1), x2) → c9(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) by DIV(s(z0), s(z1), z2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), z2), GE(s(z1), s(0)), GE(s(z0), s(z1)))
477.34/158.08
477.34/158.08

(88) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c, c9, c1

477.34/158.08
477.34/158.08

(89) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.08
477.34/158.08

(90) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c, c9, c1

477.34/158.08
477.34/158.08

(91) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) by DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
477.34/158.08
477.34/158.08

(92) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c, c9, c1

477.34/158.08
477.34/158.08

(93) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing nodes:

DIV(x0, 0, x2) → c9
477.34/158.08
477.34/158.08

(94) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.08
ge(0, s(z0)) → false 477.34/158.08
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.08
minus(z0, 0) → z0 477.34/158.08
minus(0, z0) → 0 477.34/158.08
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.08
id_inc(z0) → z0 477.34/158.08
id_inc(z0) → s(z0) 477.34/158.08
quot(z0, z1) → div(z0, z1, 0) 477.34/158.08
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.08
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.08
if(true, false, z0, z1, z2) → z2 477.34/158.08
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.08
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.08
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.08
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.08
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 477.34/158.08
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.08
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.08
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.08
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.08
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.08
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.09
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c9, c9, c12, c, c9, c1

477.34/158.09
477.34/158.09

(95) CdtForwardInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use forward instantiation to replace GE(s(z0), s(z1)) → c2(GE(z0, z1)) by

GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1)))
477.34/158.09
477.34/158.09

(96) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z1), s(0)), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1), GE(s(0), s(0)), GE(s(z0), s(0))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1)))
K tuples:

DIV(0, s(z0), x2) → c9(GE(s(z0), s(0))) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c(GE(s(s(z0)), s(0))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c(GE(s(0), s(s(z0)))) 477.34/158.09
DIV(x0, s(x1), x2) → c9(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c9, c12, c, c9, c1, c2

477.34/158.09
477.34/158.09

(97) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 12 trailing tuple parts
477.34/158.09
477.34/158.09

(98) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1)) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1)) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(99) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(100) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1)) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1)) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(101) CdtRewritingProof (BOTH BOUNDS(ID, ID) transformation)

Used rewriting to replace DIV(s(z0), s(0), z1) → c9(IF(ge(0, 0), true, s(z0), s(0), z1)) by DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
477.34/158.09
477.34/158.09

(102) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(103) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(104) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(105) CdtInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use instantiation to replace IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, z0), MINUS(x0, x1)) by

IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), x2), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
477.34/158.09
477.34/158.09

(106) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), x2), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), x2), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(107) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(108) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), x2), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), x2), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(109) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), x2), MINUS(s(x0), s(x1))) by

IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), x2), MINUS(s(z0), s(z1)))
477.34/158.09
477.34/158.09

(110) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), x2), MINUS(s(z0), s(z1)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(111) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(112) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), x2), MINUS(s(z0), s(z1)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(113) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1)))
We considered the (Usable) Rules:

minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.09

POL(0) = 0    477.34/158.09
POL(DIV(x1, x2, x3)) = x1    477.34/158.09
POL(GE(x1, x2)) = 0    477.34/158.09
POL(IF(x1, x2, x3, x4, x5)) = x1 + x3    477.34/158.09
POL(MINUS(x1, x2)) = 0    477.34/158.09
POL(c) = 0    477.34/158.09
POL(c1(x1)) = x1    477.34/158.09
POL(c12(x1, x2)) = x1 + x2    477.34/158.09
POL(c2(x1)) = x1    477.34/158.09
POL(c5(x1)) = x1    477.34/158.09
POL(c9) = 0    477.34/158.09
POL(c9(x1)) = x1    477.34/158.09
POL(c9(x1, x2)) = x1 + x2    477.34/158.09
POL(false) = [3]    477.34/158.09
POL(ge(x1, x2)) = 0    477.34/158.09
POL(id_inc(x1)) = [2] + x1    477.34/158.09
POL(minus(x1, x2)) = x1    477.34/158.09
POL(s(x1)) = [1] + x1    477.34/158.09
POL(true) = 0   
477.34/158.09
477.34/158.09

(114) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(115) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) by

IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
477.34/158.09
477.34/158.09

(116) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(117) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(118) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(119) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
We considered the (Usable) Rules:

minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.09

POL(0) = 0    477.34/158.09
POL(DIV(x1, x2, x3)) = [4]x1    477.34/158.09
POL(GE(x1, x2)) = 0    477.34/158.09
POL(IF(x1, x2, x3, x4, x5)) = x1 + [4]x3    477.34/158.09
POL(MINUS(x1, x2)) = 0    477.34/158.09
POL(c) = 0    477.34/158.09
POL(c1(x1)) = x1    477.34/158.09
POL(c12(x1, x2)) = x1 + x2    477.34/158.09
POL(c2(x1)) = x1    477.34/158.09
POL(c5(x1)) = x1    477.34/158.09
POL(c9) = 0    477.34/158.09
POL(c9(x1)) = x1    477.34/158.09
POL(c9(x1, x2)) = x1 + x2    477.34/158.09
POL(false) = [3]    477.34/158.09
POL(ge(x1, x2)) = 0    477.34/158.09
POL(id_inc(x1)) = x1    477.34/158.09
POL(minus(x1, x2)) = x1    477.34/158.09
POL(s(x1)) = [4] + x1    477.34/158.09
POL(true) = 0   
477.34/158.09
477.34/158.09

(120) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(121) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), x1), MINUS(s(x0), s(0))) by

IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
477.34/158.09
477.34/158.09

(122) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(123) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 5 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(124) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(125) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
We considered the (Usable) Rules:

minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.09

POL(0) = 0    477.34/158.09
POL(DIV(x1, x2, x3)) = x1    477.34/158.09
POL(GE(x1, x2)) = 0    477.34/158.09
POL(IF(x1, x2, x3, x4, x5)) = x1 + x3    477.34/158.09
POL(MINUS(x1, x2)) = 0    477.34/158.09
POL(c) = 0    477.34/158.09
POL(c1(x1)) = x1    477.34/158.09
POL(c12(x1, x2)) = x1 + x2    477.34/158.09
POL(c2(x1)) = x1    477.34/158.09
POL(c5(x1)) = x1    477.34/158.09
POL(c9) = 0    477.34/158.09
POL(c9(x1)) = x1    477.34/158.09
POL(c9(x1, x2)) = x1 + x2    477.34/158.09
POL(false) = [3]    477.34/158.09
POL(ge(x1, x2)) = 0    477.34/158.09
POL(id_inc(x1)) = x1    477.34/158.09
POL(minus(x1, x2)) = x1    477.34/158.09
POL(s(x1)) = [1] + x1    477.34/158.09
POL(true) = 0   
477.34/158.09
477.34/158.09

(126) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
K tuples:

DIV(x0, 0, x2) → c9 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(127) CdtInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use instantiation to replace DIV(x0, 0, x2) → c9 by

DIV(y0, 0, s(x2)) → c9
477.34/158.09
477.34/158.09

(128) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(x0, 0, x2) → c9 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
DIV(y0, 0, s(x2)) → c9
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
DIV(y0, 0, s(x2)) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(129) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 6 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(x0, 0, x1) → c9 477.34/158.09
DIV(y0, 0, s(x2)) → c9
477.34/158.09
477.34/158.09

(130) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(x0, 0, x1) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
DIV(y0, 0, s(x2)) → c9
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
DIV(y0, 0, s(x2)) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, IF, DIV, GE

Compound Symbols:

c5, c12, c9, c9, c1, c2, c, c9

477.34/158.09
477.34/158.09

(131) CdtInstantiationProof (BOTH BOUNDS(ID, ID) transformation)

Use instantiation to replace IF(true, true, x0, x1, z0) → c12(DIV(minus(x0, x1), x1, s(z0)), MINUS(x0, x1)) by

IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), s(x2)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
477.34/158.09
477.34/158.09

(132) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(x0, 0, x1) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
DIV(y0, 0, s(x2)) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), s(x2)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), s(x2)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
DIV(y0, 0, s(x2)) → c9
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c9, c12, c1, c2, c, c9

477.34/158.09
477.34/158.09

(133) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 6 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(x0, 0, x1) → c9 477.34/158.09
DIV(y0, 0, s(x2)) → c9
477.34/158.09
477.34/158.09

(134) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), s(x2)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), s(x2)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(135) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(x0), s(x1), x2) → c12(DIV(minus(s(x0), s(x1)), s(x1), s(x2)), MINUS(s(x0), s(x1))) by

IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), s(x2)), MINUS(s(z0), s(z1)))
477.34/158.09
477.34/158.09

(136) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), s(x2)), MINUS(s(z0), s(z1)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(137) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(138) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(z0), s(z1), x2) → c12(DIV(minus(z0, z1), s(z1), s(x2)), MINUS(s(z0), s(z1)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(139) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1)))
We considered the (Usable) Rules:

minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.09

POL(0) = 0    477.34/158.09
POL(DIV(x1, x2, x3)) = [1] + x1    477.34/158.09
POL(GE(x1, x2)) = 0    477.34/158.09
POL(IF(x1, x2, x3, x4, x5)) = x2 + x3    477.34/158.09
POL(MINUS(x1, x2)) = 0    477.34/158.09
POL(c) = 0    477.34/158.09
POL(c1(x1)) = x1    477.34/158.09
POL(c12(x1, x2)) = x1 + x2    477.34/158.09
POL(c2(x1)) = x1    477.34/158.09
POL(c5(x1)) = x1    477.34/158.09
POL(c9) = 0    477.34/158.09
POL(c9(x1)) = x1    477.34/158.09
POL(c9(x1, x2)) = x1 + x2    477.34/158.09
POL(false) = [1]    477.34/158.09
POL(ge(x1, x2)) = [1]    477.34/158.09
POL(id_inc(x1)) = x1    477.34/158.09
POL(minus(x1, x2)) = x1    477.34/158.09
POL(s(x1)) = [1] + x1    477.34/158.09
POL(true) = [1]   
477.34/158.09
477.34/158.09

(140) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(141) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) by

IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
477.34/158.09
477.34/158.09

(142) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(143) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(x0, s(x1), x2) → c9
477.34/158.09
477.34/158.09

(144) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(145) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
We considered the (Usable) Rules:

minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.09

POL(0) = 0    477.34/158.09
POL(DIV(x1, x2, x3)) = x1    477.34/158.09
POL(GE(x1, x2)) = 0    477.34/158.09
POL(IF(x1, x2, x3, x4, x5)) = x1 + x3    477.34/158.09
POL(MINUS(x1, x2)) = 0    477.34/158.09
POL(c) = 0    477.34/158.09
POL(c1(x1)) = x1    477.34/158.09
POL(c12(x1, x2)) = x1 + x2    477.34/158.09
POL(c2(x1)) = x1    477.34/158.09
POL(c5(x1)) = x1    477.34/158.09
POL(c9) = 0    477.34/158.09
POL(c9(x1)) = x1    477.34/158.09
POL(c9(x1, x2)) = x1 + x2    477.34/158.09
POL(false) = [3]    477.34/158.09
POL(ge(x1, x2)) = 0    477.34/158.09
POL(id_inc(x1)) = x1    477.34/158.09
POL(minus(x1, x2)) = x1    477.34/158.09
POL(s(x1)) = [1] + x1    477.34/158.09
POL(true) = 0   
477.34/158.09
477.34/158.09

(146) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0) 477.34/158.09
quot(z0, z1) → div(z0, z1, 0) 477.34/158.09
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.09
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.09
if(true, false, z0, z1, z2) → z2 477.34/158.09
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.09
477.34/158.09

(147) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
We considered the (Usable) Rules:

minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.09
minus(z0, 0) → z0 477.34/158.09
minus(0, z0) → 0 477.34/158.09
ge(z0, 0) → true 477.34/158.09
ge(0, s(z0)) → false 477.34/158.09
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.09
id_inc(z0) → z0 477.34/158.09
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.09
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.09
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.09
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.09
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.09
DIV(0, s(z0), x2) → c9 477.34/158.09
DIV(s(0), s(s(z0)), x2) → c 477.34/158.09
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.09
DIV(x0, s(x1), x2) → c9 477.34/158.09
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.09
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.09
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.09
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.09
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.09

POL(0) = 0    477.34/158.09
POL(DIV(x1, x2, x3)) = x2 + x1·x2    477.34/158.09
POL(GE(x1, x2)) = 0    477.34/158.09
POL(IF(x1, x2, x3, x4, x5)) = x2 + x3·x4    477.34/158.09
POL(MINUS(x1, x2)) = 0    477.34/158.09
POL(c) = 0    477.34/158.09
POL(c1(x1)) = x1    477.34/158.09
POL(c12(x1, x2)) = x1 + x2    477.34/158.09
POL(c2(x1)) = x1    477.34/158.09
POL(c5(x1)) = x1    477.34/158.09
POL(c9) = 0    477.34/158.09
POL(c9(x1)) = x1    477.34/158.09
POL(c9(x1, x2)) = x1 + x2    477.34/158.09
POL(false) = [1]    477.34/158.09
POL(ge(x1, x2)) = [1]    477.34/158.09
POL(id_inc(x1)) = 0    477.34/158.10
POL(minus(x1, x2)) = x1    477.34/158.10
POL(s(x1)) = [1] + x1    477.34/158.10
POL(true) = [1]   
477.34/158.10
477.34/158.10

(148) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.34/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.10
minus(z0, 0) → z0 477.34/158.10
minus(0, z0) → 0 477.34/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.10
id_inc(z0) → z0 477.34/158.10
id_inc(z0) → s(z0) 477.34/158.10
quot(z0, z1) → div(z0, z1, 0) 477.34/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.10
if(true, false, z0, z1, z2) → z2 477.34/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1))))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.10
477.34/158.10

(149) CdtNarrowingProof (BOTH BOUNDS(ID, ID) transformation)

Use narrowing to replace IF(true, true, s(x0), s(0), x1) → c12(DIV(minus(s(x0), s(0)), s(0), s(x1)), MINUS(s(x0), s(0))) by

IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
477.34/158.10
477.34/158.10

(150) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.34/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.10
minus(z0, 0) → z0 477.34/158.10
minus(0, z0) → 0 477.34/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.10
id_inc(z0) → z0 477.34/158.10
id_inc(z0) → s(z0) 477.34/158.10
quot(z0, z1) → div(z0, z1, 0) 477.34/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.10
if(true, false, z0, z1, z2) → z2 477.34/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.10
477.34/158.10

(151) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID) transformation)

Removed 4 trailing nodes:

IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(x0, s(x1), x2) → c9
477.34/158.10
477.34/158.10

(152) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.34/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.10
minus(z0, 0) → z0 477.34/158.10
minus(0, z0) → 0 477.34/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.10
id_inc(z0) → z0 477.34/158.10
id_inc(z0) → s(z0) 477.34/158.10
quot(z0, z1) → div(z0, z1, 0) 477.34/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.10
if(true, false, z0, z1, z2) → z2 477.34/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1))))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.10
477.34/158.10

(153) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
We considered the (Usable) Rules:

minus(z0, 0) → z0 477.34/158.10
minus(0, z0) → 0 477.34/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.10
ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.34/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.10
id_inc(z0) → z0 477.34/158.10
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.10

POL(0) = 0    477.34/158.10
POL(DIV(x1, x2, x3)) = [4]x1 + [2]x3    477.34/158.10
POL(GE(x1, x2)) = 0    477.34/158.10
POL(IF(x1, x2, x3, x4, x5)) = x1 + [4]x3 + [2]x5    477.34/158.10
POL(MINUS(x1, x2)) = 0    477.34/158.10
POL(c) = 0    477.34/158.10
POL(c1(x1)) = x1    477.34/158.10
POL(c12(x1, x2)) = x1 + x2    477.34/158.10
POL(c2(x1)) = x1    477.34/158.10
POL(c5(x1)) = x1    477.34/158.10
POL(c9) = 0    477.34/158.10
POL(c9(x1)) = x1    477.34/158.10
POL(c9(x1, x2)) = x1 + x2    477.34/158.10
POL(false) = [3]    477.34/158.10
POL(ge(x1, x2)) = 0    477.34/158.10
POL(id_inc(x1)) = [4] + x1    477.34/158.10
POL(minus(x1, x2)) = x1    477.34/158.10
POL(s(x1)) = [2] + x1    477.34/158.10
POL(true) = 0   
477.34/158.10
477.34/158.10

(154) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.34/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.10
minus(z0, 0) → z0 477.34/158.10
minus(0, z0) → 0 477.34/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.10
id_inc(z0) → z0 477.34/158.10
id_inc(z0) → s(z0) 477.34/158.10
quot(z0, z1) → div(z0, z1, 0) 477.34/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.34/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.34/158.10
if(true, false, z0, z1, z2) → z2 477.34/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.34/158.10
477.34/158.10

(155) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
We considered the (Usable) Rules:

minus(z0, 0) → z0 477.34/158.10
minus(0, z0) → 0 477.34/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.34/158.10
ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.34/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.34/158.10
id_inc(z0) → z0 477.34/158.10
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.34/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.34/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.34/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.34/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.34/158.10
DIV(0, s(z0), x2) → c9 477.34/158.10
DIV(s(0), s(s(z0)), x2) → c 477.34/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.34/158.10
DIV(x0, s(x1), x2) → c9 477.34/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.34/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.34/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.34/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.34/158.10

POL(0) = [1]    477.34/158.10
POL(DIV(x1, x2, x3)) = [5] + [4]x1 + [2]x3    477.34/158.10
POL(GE(x1, x2)) = 0    477.34/158.10
POL(IF(x1, x2, x3, x4, x5)) = [4]x2 + [4]x3 + [2]x5    477.34/158.10
POL(MINUS(x1, x2)) = 0    477.34/158.10
POL(c) = 0    477.34/158.10
POL(c1(x1)) = x1    477.34/158.10
POL(c12(x1, x2)) = x1 + x2    477.34/158.10
POL(c2(x1)) = x1    477.34/158.10
POL(c5(x1)) = x1    477.34/158.10
POL(c9) = 0    477.34/158.10
POL(c9(x1)) = x1    477.34/158.10
POL(c9(x1, x2)) = x1 + x2    477.34/158.10
POL(false) = [1]    477.34/158.10
POL(ge(x1, x2)) = [1]    477.34/158.10
POL(id_inc(x1)) = [4] + x1    477.34/158.10
POL(minus(x1, x2)) = x1    477.34/158.10
POL(s(x1)) = [4] + x1    477.34/158.10
POL(true) = [1]   
477.34/158.10
477.34/158.10

(156) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.34/158.10
ge(0, s(z0)) → false 477.71/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.71/158.10
minus(z0, 0) → z0 477.71/158.10
minus(0, z0) → 0 477.71/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.71/158.10
id_inc(z0) → z0 477.71/158.10
id_inc(z0) → s(z0) 477.71/158.10
quot(z0, z1) → div(z0, z1, 0) 477.71/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.71/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.71/158.10
if(true, false, z0, z1, z2) → z2 477.71/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.71/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1)))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0))) 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.71/158.10
477.71/158.10

(157) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1)))
We considered the (Usable) Rules:

minus(z0, 0) → z0 477.71/158.10
minus(0, z0) → 0 477.71/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.71/158.10
ge(z0, 0) → true 477.71/158.10
ge(0, s(z0)) → false 477.71/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.71/158.10
id_inc(z0) → z0 477.71/158.10
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.71/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.71/158.10

POL(0) = 0    477.71/158.10
POL(DIV(x1, x2, x3)) = [2]x1 + [2]x12    477.71/158.10
POL(GE(x1, x2)) = x1    477.71/158.10
POL(IF(x1, x2, x3, x4, x5)) = [1] + [3]x1 + [3]x1·x5 + [3]x12 + [2]x32    477.71/158.10
POL(MINUS(x1, x2)) = 0    477.71/158.10
POL(c) = 0    477.71/158.10
POL(c1(x1)) = x1    477.71/158.10
POL(c12(x1, x2)) = x1 + x2    477.71/158.10
POL(c2(x1)) = x1    477.71/158.10
POL(c5(x1)) = x1    477.71/158.10
POL(c9) = 0    477.71/158.10
POL(c9(x1)) = x1    477.71/158.10
POL(c9(x1, x2)) = x1 + x2    477.71/158.10
POL(false) = [3]    477.71/158.10
POL(ge(x1, x2)) = 0    477.71/158.10
POL(id_inc(x1)) = 0    477.71/158.10
POL(minus(x1, x2)) = x1    477.71/158.10
POL(s(x1)) = [2] + x1    477.71/158.10
POL(true) = 0   
477.71/158.10
477.71/158.10

(158) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.71/158.10
ge(0, s(z0)) → false 477.71/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.71/158.10
minus(z0, 0) → z0 477.71/158.10
minus(0, z0) → 0 477.71/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.71/158.10
id_inc(z0) → z0 477.71/158.10
id_inc(z0) → s(z0) 477.71/158.10
quot(z0, z1) → div(z0, z1, 0) 477.71/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.71/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.71/158.10
if(true, false, z0, z1, z2) → z2 477.71/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.71/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
S tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1))
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0))) 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1)))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.71/158.10
477.71/158.10

(159) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1))
We considered the (Usable) Rules:

minus(z0, 0) → z0 477.71/158.10
minus(0, z0) → 0 477.71/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.71/158.10
ge(z0, 0) → true 477.71/158.10
ge(0, s(z0)) → false 477.71/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.71/158.10
id_inc(z0) → z0 477.71/158.10
id_inc(z0) → s(z0)
And the Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.71/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 477.71/158.10

POL(0) = 0    477.71/158.10
POL(DIV(x1, x2, x3)) = [1] + x3 + [2]x1·x2    477.71/158.10
POL(GE(x1, x2)) = 0    477.71/158.10
POL(IF(x1, x2, x3, x4, x5)) = [3]x1 + x5 + [3]x1·x5 + [3]x12 + [2]x3·x4    477.71/158.10
POL(MINUS(x1, x2)) = x2    477.71/158.10
POL(c) = 0    477.71/158.10
POL(c1(x1)) = x1    477.71/158.10
POL(c12(x1, x2)) = x1 + x2    477.71/158.10
POL(c2(x1)) = x1    477.71/158.10
POL(c5(x1)) = x1    477.71/158.10
POL(c9) = 0    477.71/158.10
POL(c9(x1)) = x1    477.71/158.10
POL(c9(x1, x2)) = x1 + x2    477.71/158.10
POL(false) = [3]    477.71/158.10
POL(ge(x1, x2)) = 0    477.71/158.10
POL(id_inc(x1)) = [3] + x1    477.71/158.10
POL(minus(x1, x2)) = x1    477.71/158.10
POL(s(x1)) = [2] + x1    477.71/158.10
POL(true) = 0   
477.71/158.10
477.71/158.10

(160) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 477.71/158.10
ge(0, s(z0)) → false 477.71/158.10
ge(s(z0), s(z1)) → ge(z0, z1) 477.71/158.10
minus(z0, 0) → z0 477.71/158.10
minus(0, z0) → 0 477.71/158.10
minus(s(z0), s(z1)) → minus(z0, z1) 477.71/158.10
id_inc(z0) → z0 477.71/158.10
id_inc(z0) → s(z0) 477.71/158.10
quot(z0, z1) → div(z0, z1, 0) 477.71/158.10
div(z0, z1, z2) → if(ge(z1, s(0)), ge(z0, z1), z0, z1, z2) 477.71/158.10
if(false, z0, z1, z2, z3) → div_by_zero 477.71/158.10
if(true, false, z0, z1, z2) → z2 477.71/158.10
if(true, true, z0, z1, z2) → div(minus(z0, z1), z1, id_inc(z2))
Tuples:

MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 477.71/158.10
DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(z0), s(0), x2) → c12(DIV(z0, s(0), id_inc(x2)), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(z0)), s(s(z1)), x2) → c12(DIV(minus(z0, z1), s(s(z1)), id_inc(x2)), MINUS(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(DIV(0, s(z0), id_inc(x2))) 477.71/158.10
IF(true, true, s(0), s(z0), x2) → c1(MINUS(s(0), s(z0))) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0)))
S tuples:none
K tuples:

DIV(s(x0), s(x1), x2) → c9(GE(s(x0), s(x1))) 477.71/158.10
DIV(0, s(z0), x2) → c9 477.71/158.10
DIV(s(0), s(s(z0)), x2) → c 477.71/158.10
DIV(x0, s(x1), x2) → c9 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), z0), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), x2), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), x1), MINUS(s(z0), s(0))) 477.71/158.10
IF(true, true, s(x0), s(x1), z0) → c12(DIV(minus(x0, x1), s(x1), s(z0)), MINUS(s(x0), s(x1))) 477.71/158.10
IF(true, true, s(s(x0)), s(s(x1)), x2) → c12(DIV(minus(s(x0), s(x1)), s(s(x1)), s(x2)), MINUS(s(s(x0)), s(s(x1)))) 477.71/158.10
DIV(s(s(z0)), s(s(z1)), z2) → c9(IF(true, ge(z0, z1), s(s(z0)), s(s(z1)), z2), GE(s(s(z0)), s(s(z1)))) 477.71/158.10
IF(true, true, s(z0), s(0), x1) → c12(DIV(minus(z0, 0), s(0), s(x1)), MINUS(s(z0), s(0))) 477.71/158.10
DIV(s(z0), s(z1), x2) → c9(IF(true, ge(z0, z1), s(z0), s(z1), x2), GE(s(z0), s(z1))) 477.71/158.10
DIV(s(z0), s(0), z1) → c9(IF(true, true, s(z0), s(0), z1)) 477.71/158.10
GE(s(s(y0)), s(s(y1))) → c2(GE(s(y0), s(y1))) 477.71/158.10
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1))
Defined Rule Symbols:

ge, minus, id_inc, quot, div, if

Defined Pair Symbols:

MINUS, DIV, IF, GE

Compound Symbols:

c5, c9, c12, c1, c2, c9, c, c9

477.71/158.10
477.71/158.10

(161) SIsEmptyProof (BOTH BOUNDS(ID, ID) transformation)

The set S is empty
477.71/158.10
477.71/158.10

(162) BOUNDS(O(1), O(1))

477.71/158.10
477.71/158.10
477.71/158.14 EOF