YES(O(1), O(n^2)) 395.17/127.86 YES(O(1), O(n^2)) 395.43/127.92 395.43/127.92 395.43/127.92 395.43/127.92 395.43/127.93 395.43/127.93 Runtime Complexity (innermost) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml.xml 395.43/127.93 395.43/127.93 395.43/127.93
395.43/127.93 395.43/127.93 395.43/127.93
395.43/127.93
395.43/127.93

(0) Obligation:

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

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

Rewrite Strategy: INNERMOST
395.43/127.93
395.43/127.93

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

Converted CpxTRS to CDT
395.43/127.93
395.43/127.93

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.43/127.93
ge(0, s(z0)) → false 395.43/127.93
ge(s(z0), s(z1)) → ge(z0, z1) 395.43/127.93
minus(z0, 0) → z0 395.43/127.93
minus(0, z0) → 0 395.43/127.93
minus(s(z0), s(z1)) → minus(z0, z1) 395.43/127.93
id_inc(z0) → z0 395.43/127.93
id_inc(z0) → s(z0) 395.43/127.93
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.43/127.93
if(false, z0, z1, z2) → div_by_zero 395.43/127.93
if(true, false, z0, z1) → 0 395.43/127.93
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.93
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.93
DIV(z0, z1) → c8(IF(ge(z1, s(0)), ge(z0, z1), z0, z1), GE(z1, s(0)), GE(z0, z1)) 395.43/127.93
IF(true, true, z0, z1) → c11(ID_INC(div(minus(z0, z1), z1)), DIV(minus(z0, z1), z1), MINUS(z0, z1))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.93
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.93
DIV(z0, z1) → c8(IF(ge(z1, s(0)), ge(z0, z1), z0, z1), GE(z1, s(0)), GE(z0, z1)) 395.43/127.93
IF(true, true, z0, z1) → c11(ID_INC(div(minus(z0, z1), z1)), DIV(minus(z0, z1), z1), MINUS(z0, z1))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c11

395.43/127.93
395.43/127.93

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

Removed 1 trailing tuple parts
395.43/127.93
395.43/127.93

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.43/127.93
ge(0, s(z0)) → false 395.43/127.93
ge(s(z0), s(z1)) → ge(z0, z1) 395.43/127.93
minus(z0, 0) → z0 395.43/127.93
minus(0, z0) → 0 395.43/127.93
minus(s(z0), s(z1)) → minus(z0, z1) 395.43/127.93
id_inc(z0) → z0 395.43/127.93
id_inc(z0) → s(z0) 395.43/127.93
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.43/127.93
if(false, z0, z1, z2) → div_by_zero 395.43/127.93
if(true, false, z0, z1) → 0 395.43/127.93
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.93
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.93
DIV(z0, z1) → c8(IF(ge(z1, s(0)), ge(z0, z1), z0, z1), GE(z1, s(0)), GE(z0, z1)) 395.43/127.93
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.93
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.93
DIV(z0, z1) → c8(IF(ge(z1, s(0)), ge(z0, z1), z0, z1), GE(z1, s(0)), GE(z0, z1)) 395.43/127.93
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c11

395.43/127.93
395.43/127.93

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

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

DIV(0, s(z0)) → c8(IF(ge(s(z0), s(0)), false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.43/127.93
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.43/127.93
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0), GE(0, s(0)), GE(z0, 0)) 395.43/127.93
DIV(x0, 0) → c8(IF(false, ge(x0, 0), x0, 0), GE(0, s(0)), GE(x0, 0)) 395.43/127.94
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
395.43/127.94
395.43/127.94

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.43/127.94
ge(0, s(z0)) → false 395.43/127.94
ge(s(z0), s(z1)) → ge(z0, z1) 395.43/127.94
minus(z0, 0) → z0 395.43/127.94
minus(0, z0) → 0 395.43/127.94
minus(s(z0), s(z1)) → minus(z0, z1) 395.43/127.94
id_inc(z0) → z0 395.43/127.94
id_inc(z0) → s(z0) 395.43/127.94
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.43/127.94
if(false, z0, z1, z2) → div_by_zero 395.43/127.94
if(true, false, z0, z1) → 0 395.43/127.94
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.94
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.94
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.43/127.94
DIV(0, s(z0)) → c8(IF(ge(s(z0), s(0)), false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.43/127.94
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.43/127.94
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0), GE(0, s(0)), GE(z0, 0)) 395.43/127.94
DIV(x0, 0) → c8(IF(false, ge(x0, 0), x0, 0), GE(0, s(0)), GE(x0, 0)) 395.43/127.94
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.94
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.94
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.43/127.94
DIV(0, s(z0)) → c8(IF(ge(s(z0), s(0)), false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.43/127.94
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.43/127.94
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0), GE(0, s(0)), GE(z0, 0)) 395.43/127.94
DIV(x0, 0) → c8(IF(false, ge(x0, 0), x0, 0), GE(0, s(0)), GE(x0, 0)) 395.43/127.94
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8

395.43/127.94
395.43/127.94

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

Removed 7 trailing tuple parts
395.43/127.94
395.43/127.94

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.43/127.94
ge(0, s(z0)) → false 395.43/127.94
ge(s(z0), s(z1)) → ge(z0, z1) 395.43/127.94
minus(z0, 0) → z0 395.43/127.94
minus(0, z0) → 0 395.43/127.94
minus(s(z0), s(z1)) → minus(z0, z1) 395.43/127.94
id_inc(z0) → z0 395.43/127.94
id_inc(z0) → s(z0) 395.43/127.94
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.43/127.96
if(false, z0, z1, z2) → div_by_zero 395.43/127.96
if(true, false, z0, z1) → 0 395.43/127.96
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.96
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.96
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.43/127.96
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.43/127.96
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.43/127.96
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.43/127.96
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.43/127.96
DIV(x0, 0) → c8
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.96
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.96
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.43/127.96
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.43/127.96
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.43/127.96
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.43/127.96
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.43/127.96
DIV(x0, 0) → c8
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8

395.43/127.96
395.43/127.96

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.43/127.96
395.43/127.96

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.43/127.96
ge(0, s(z0)) → false 395.43/127.96
ge(s(z0), s(z1)) → ge(z0, z1) 395.43/127.96
minus(z0, 0) → z0 395.43/127.96
minus(0, z0) → 0 395.43/127.96
minus(s(z0), s(z1)) → minus(z0, z1) 395.43/127.96
id_inc(z0) → z0 395.43/127.96
id_inc(z0) → s(z0) 395.43/127.96
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.43/127.96
if(false, z0, z1, z2) → div_by_zero 395.43/127.96
if(true, false, z0, z1) → 0 395.43/127.96
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.43/127.96
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.43/127.96
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.43/127.96
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.43/127.96
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.43/127.96
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.43/127.96
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.43/127.96
DIV(x0, 0) → c8
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8
K tuples:none
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8

395.88/128.03
395.88/128.03

(11) 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)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8
We considered the (Usable) Rules:

ge(0, s(z0)) → false 395.88/128.03
ge(z0, 0) → true 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.03

POL(0) = [2]    395.88/128.03
POL(DIV(x1, x2)) = x2    395.88/128.03
POL(GE(x1, x2)) = 0    395.88/128.03
POL(IF(x1, x2, x3, x4)) = x4    395.88/128.03
POL(MINUS(x1, x2)) = 0    395.88/128.03
POL(c11(x1, x2)) = x1 + x2    395.88/128.03
POL(c2(x1)) = x1    395.88/128.03
POL(c5(x1)) = x1    395.88/128.03
POL(c8) = 0    395.88/128.03
POL(c8(x1)) = x1    395.88/128.03
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.03
POL(false) = [5]    395.88/128.03
POL(ge(x1, x2)) = [4]x2    395.88/128.03
POL(minus(x1, x2)) = 0    395.88/128.03
POL(s(x1)) = [2] + x1    395.88/128.03
POL(true) = [2]   
395.88/128.03
395.88/128.03

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(s(z1), s(0)), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8

395.88/128.03
395.88/128.03

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

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

DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c8(IF(ge(s(s(z0)), s(0)), false, s(0), s(s(z0))), GE(s(s(z0)), s(0)), GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1)))
395.88/128.03
395.88/128.03

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c8(IF(ge(s(s(z0)), s(0)), false, s(0), s(s(z0))), GE(s(s(z0)), s(0)), GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c8(IF(ge(s(s(z0)), s(0)), false, s(0), s(s(z0))), GE(s(s(z0)), s(0)), GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8

395.88/128.03
395.88/128.03

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

Removed 1 trailing tuple parts
395.88/128.03
395.88/128.03

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c8(GE(s(s(z0)), s(0)), GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c8(GE(s(s(z0)), s(0)), GE(s(0), s(s(z0))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c8

395.88/128.03
395.88/128.03

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

Split RHS of tuples not part of any SCC
395.88/128.03
395.88/128.03

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

(21) 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)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
We considered the (Usable) Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.03

POL(0) = 0    395.88/128.03
POL(DIV(x1, x2)) = [1]    395.88/128.03
POL(GE(x1, x2)) = 0    395.88/128.03
POL(IF(x1, x2, x3, x4)) = [1]    395.88/128.03
POL(MINUS(x1, x2)) = 0    395.88/128.03
POL(c(x1)) = x1    395.88/128.03
POL(c11(x1, x2)) = x1 + x2    395.88/128.03
POL(c2(x1)) = x1    395.88/128.03
POL(c5(x1)) = x1    395.88/128.03
POL(c8) = 0    395.88/128.03
POL(c8(x1)) = x1    395.88/128.03
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.03
POL(false) = [5]    395.88/128.03
POL(ge(x1, x2)) = [5]x2    395.88/128.03
POL(minus(x1, x2)) = x2    395.88/128.03
POL(s(x1)) = [2]    395.88/128.03
POL(true) = 0   
395.88/128.03
395.88/128.03

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(ge(z0, 0), ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

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

DIV(0, s(z0)) → c8(IF(ge(z0, 0), false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
395.88/128.03
395.88/128.03

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(0, s(z0)) → c8(IF(ge(z0, 0), false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(IF(ge(z0, 0), false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 2 trailing tuple parts
395.88/128.03
395.88/128.03

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

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

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0)))
395.88/128.03
395.88/128.03

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(z0, 0) → c8(IF(ge(0, s(0)), true, z0, 0)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

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

DIV(x0, 0) → c8(IF(false, true, x0, 0))
395.88/128.03
395.88/128.03

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(x0, 0) → c8(IF(false, true, x0, 0))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(x0, 0) → c8(IF(false, true, x0, 0))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing tuple parts
395.88/128.03
395.88/128.03

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(x0, 0) → c8
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(x0, 0) → c8
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

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

DIV(x0, 0) → c8 395.88/128.03
DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Used rewriting to replace DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(s(z1)), s(0)), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) by DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
395.88/128.03
395.88/128.03

(40) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(42) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Used rewriting to replace DIV(s(z0), s(0)) → c8(IF(ge(s(0), s(0)), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) by DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
395.88/128.03
395.88/128.03

(44) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(46) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Used rewriting to replace DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) by DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1)))
395.88/128.03
395.88/128.03

(48) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(z0)) → c8(IF(ge(z0, 0), ge(x0, z0), s(x0), s(z0)), GE(s(z0), s(0)), GE(s(x0), s(z0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c8, c

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(50) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, IF, DIV

Compound Symbols:

c2, c5, c11, c8, c8, c, c8

395.88/128.03
395.88/128.03

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

Use instantiation to replace IF(true, true, z0, z1) → c11(DIV(minus(z0, z1), z1), MINUS(z0, z1)) by

IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
395.88/128.03
395.88/128.03

(52) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(x0, 0) → c8 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c8, c, c8, c11

395.88/128.03
395.88/128.03

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

Removed 1 trailing nodes:

DIV(x0, 0) → c8
395.88/128.03
395.88/128.03

(54) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11

395.88/128.03
395.88/128.03

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

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

IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1)))
395.88/128.03
395.88/128.03

(56) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11

395.88/128.03
395.88/128.03

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

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

IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
395.88/128.03
395.88/128.03

(58) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11

395.88/128.03
395.88/128.03

(59) 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)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
We considered the (Usable) Rules:

minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.03

POL(0) = 0    395.88/128.03
POL(DIV(x1, x2)) = [4]x1    395.88/128.03
POL(GE(x1, x2)) = 0    395.88/128.03
POL(IF(x1, x2, x3, x4)) = [4]x3    395.88/128.03
POL(MINUS(x1, x2)) = 0    395.88/128.03
POL(c(x1)) = x1    395.88/128.03
POL(c11(x1, x2)) = x1 + x2    395.88/128.03
POL(c2(x1)) = x1    395.88/128.03
POL(c5(x1)) = x1    395.88/128.03
POL(c8(x1)) = x1    395.88/128.03
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.03
POL(false) = [3]    395.88/128.03
POL(ge(x1, x2)) = 0    395.88/128.03
POL(minus(x1, x2)) = x1    395.88/128.03
POL(s(x1)) = [4] + x1    395.88/128.03
POL(true) = 0   
395.88/128.03
395.88/128.03

(60) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11

395.88/128.03
395.88/128.03

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

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

IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
395.88/128.03
395.88/128.03

(62) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11

395.88/128.03
395.88/128.03

(63) 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)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
We considered the (Usable) Rules:

minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.03

POL(0) = 0    395.88/128.03
POL(DIV(x1, x2)) = x1    395.88/128.03
POL(GE(x1, x2)) = 0    395.88/128.03
POL(IF(x1, x2, x3, x4)) = x3    395.88/128.03
POL(MINUS(x1, x2)) = 0    395.88/128.03
POL(c(x1)) = x1    395.88/128.03
POL(c11(x1, x2)) = x1 + x2    395.88/128.03
POL(c2(x1)) = x1    395.88/128.03
POL(c5(x1)) = x1    395.88/128.03
POL(c8(x1)) = x1    395.88/128.03
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.03
POL(false) = [3]    395.88/128.03
POL(ge(x1, x2)) = 0    395.88/128.03
POL(minus(x1, x2)) = x1    395.88/128.03
POL(s(x1)) = [1] + x1    395.88/128.03
POL(true) = 0   
395.88/128.03
395.88/128.03

(64) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.03
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.03
if(false, z0, z1, z2) → div_by_zero 395.88/128.03
if(true, false, z0, z1) → 0 395.88/128.03
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.03
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.03
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.03
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.03
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.03
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.03
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.03
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.03
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.03
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.03
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11

395.88/128.03
395.88/128.03

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

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

IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.03
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1))))
395.88/128.03
395.88/128.03

(66) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.03
ge(0, s(z0)) → false 395.88/128.03
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.03
minus(z0, 0) → z0 395.88/128.03
minus(0, z0) → 0 395.88/128.03
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.03
id_inc(z0) → z0 395.88/128.03
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11

395.88/128.04
395.88/128.04

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

Use narrowing to replace IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) by

IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c11(DIV(0, s(0)), MINUS(s(0), s(0)))
395.88/128.04
395.88/128.04

(68) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c11(DIV(0, s(0)), MINUS(s(0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(x0, s(z0)) → c8(IF(true, ge(x0, s(z0)), x0, s(z0)), GE(s(z0), s(0)), GE(x0, s(z0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11

395.88/128.04
395.88/128.04

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

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

DIV(0, s(z0)) → c8(IF(true, false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
395.88/128.04
395.88/128.04

(70) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c11(DIV(0, s(0)), MINUS(s(0), s(0))) 395.88/128.04
DIV(0, s(z0)) → c8(IF(true, false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
DIV(0, s(z0)) → c8(IF(true, false, 0, s(z0)), GE(s(z0), s(0)), GE(0, s(z0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11

395.88/128.04
395.88/128.04

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

Removed 2 trailing tuple parts
395.88/128.04
395.88/128.04

(72) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c11(DIV(0, s(0)), MINUS(s(0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11

395.88/128.04
395.88/128.04

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

Split RHS of tuples not part of any SCC
395.88/128.04
395.88/128.04

(74) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0)))
395.88/128.04
395.88/128.04

(76) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

(77) 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)) → c8(GE(s(x1), s(0)))
We considered the (Usable) Rules:

minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.04

POL(0) = 0    395.88/128.04
POL(DIV(x1, x2)) = [1]    395.88/128.04
POL(GE(x1, x2)) = 0    395.88/128.04
POL(IF(x1, x2, x3, x4)) = x1    395.88/128.04
POL(MINUS(x1, x2)) = 0    395.88/128.04
POL(c(x1)) = x1    395.88/128.04
POL(c1(x1)) = x1    395.88/128.04
POL(c11(x1)) = x1    395.88/128.04
POL(c11(x1, x2)) = x1 + x2    395.88/128.04
POL(c2(x1)) = x1    395.88/128.04
POL(c5(x1)) = x1    395.88/128.04
POL(c8(x1)) = x1    395.88/128.04
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.04
POL(false) = [3]    395.88/128.04
POL(ge(x1, x2)) = [1]    395.88/128.04
POL(minus(x1, x2)) = 0    395.88/128.04
POL(s(x1)) = 0    395.88/128.04
POL(true) = [1]   
395.88/128.04
395.88/128.04

(78) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

Used rewriting to replace DIV(s(z0), s(z1)) → c8(IF(ge(z1, 0), ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) by DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1)))
395.88/128.04
395.88/128.04

(80) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

Used rewriting to replace DIV(s(s(z0)), s(s(z1))) → c8(IF(ge(s(z1), 0), ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) by DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
395.88/128.04
395.88/128.04

(82) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

Used rewriting to replace DIV(s(z0), s(0)) → c8(IF(ge(0, 0), true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) by DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
395.88/128.04
395.88/128.04

(84) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, x0, s(x1)) → c11(DIV(minus(x0, s(x1)), s(x1)), MINUS(x0, s(x1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
395.88/128.04
395.88/128.04

(86) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(x0), s(x1)) → c11(DIV(minus(s(x0), s(x1)), s(x1)), MINUS(s(x0), s(x1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1)))
395.88/128.04
395.88/128.04

(88) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1)))
395.88/128.04
395.88/128.04

(90) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(s(x0)), s(s(x1))), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
395.88/128.04
395.88/128.04

(92) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
395.88/128.04
395.88/128.04

(94) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1))))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(x0), s(0)) → c11(DIV(minus(s(x0), s(0)), s(0)), MINUS(s(x0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
395.88/128.04
395.88/128.04

(96) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

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

IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
395.88/128.04
395.88/128.04

(98) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

(99) 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)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
We considered the (Usable) Rules:

minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.04

POL(0) = 0    395.88/128.04
POL(DIV(x1, x2)) = [1] + x1    395.88/128.04
POL(GE(x1, x2)) = 0    395.88/128.04
POL(IF(x1, x2, x3, x4)) = x1 + x3    395.88/128.04
POL(MINUS(x1, x2)) = 0    395.88/128.04
POL(c(x1)) = x1    395.88/128.04
POL(c1(x1)) = x1    395.88/128.04
POL(c11(x1)) = x1    395.88/128.04
POL(c11(x1, x2)) = x1 + x2    395.88/128.04
POL(c2(x1)) = x1    395.88/128.04
POL(c5(x1)) = x1    395.88/128.04
POL(c8(x1)) = x1    395.88/128.04
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.04
POL(false) = [3]    395.88/128.04
POL(ge(x1, x2)) = 0    395.88/128.04
POL(minus(x1, x2)) = x1    395.88/128.04
POL(s(x1)) = [1] + x1    395.88/128.04
POL(true) = 0   
395.88/128.04
395.88/128.04

(100) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0)))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

(101) 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 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.04

POL(0) = 0    395.88/128.04
POL(DIV(x1, x2)) = [1] + [2]x12    395.88/128.04
POL(GE(x1, x2)) = 0    395.88/128.04
POL(IF(x1, x2, x3, x4)) = [3]x1 + [3]x12 + [2]x32    395.88/128.04
POL(MINUS(x1, x2)) = [3] + x1    395.88/128.04
POL(c(x1)) = x1    395.88/128.04
POL(c1(x1)) = x1    395.88/128.04
POL(c11(x1)) = x1    395.88/128.04
POL(c11(x1, x2)) = x1 + x2    395.88/128.04
POL(c2(x1)) = x1    395.88/128.04
POL(c5(x1)) = x1    395.88/128.04
POL(c8(x1)) = x1    395.88/128.04
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.04
POL(false) = [3]    395.88/128.04
POL(ge(x1, x2)) = 0    395.88/128.04
POL(minus(x1, x2)) = x1    395.88/128.04
POL(s(x1)) = [2] + x1    395.88/128.04
POL(true) = 0   
395.88/128.04
395.88/128.04

(102) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1))
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

(103) 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(z0), s(z1)) → c2(GE(z0, z1))
We considered the (Usable) Rules:

minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1)
And the Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
The order we found is given by the following interpretation:
Polynomial interpretation : 395.88/128.04

POL(0) = 0    395.88/128.04
POL(DIV(x1, x2)) = [3] + [2]x1 + x2 + x1·x2    395.88/128.04
POL(GE(x1, x2)) = x2    395.88/128.04
POL(IF(x1, x2, x3, x4)) = [3]x1 + [2]x3 + x3·x4 + [3]x12    395.88/128.04
POL(MINUS(x1, x2)) = x2    395.88/128.04
POL(c(x1)) = x1    395.88/128.04
POL(c1(x1)) = x1    395.88/128.04
POL(c11(x1)) = x1    395.88/128.04
POL(c11(x1, x2)) = x1 + x2    395.88/128.04
POL(c2(x1)) = x1    395.88/128.04
POL(c5(x1)) = x1    395.88/128.04
POL(c8(x1)) = x1    395.88/128.04
POL(c8(x1, x2, x3)) = x1 + x2 + x3    395.88/128.04
POL(false) = [3]    395.88/128.04
POL(ge(x1, x2)) = 0    395.88/128.04
POL(minus(x1, x2)) = x1    395.88/128.04
POL(s(x1)) = [2] + x1    395.88/128.04
POL(true) = 0   
395.88/128.04
395.88/128.04

(104) Obligation:

Complexity Dependency Tuples Problem
Rules:

ge(z0, 0) → true 395.88/128.04
ge(0, s(z0)) → false 395.88/128.04
ge(s(z0), s(z1)) → ge(z0, z1) 395.88/128.04
minus(z0, 0) → z0 395.88/128.04
minus(0, z0) → 0 395.88/128.04
minus(s(z0), s(z1)) → minus(z0, z1) 395.88/128.04
id_inc(z0) → z0 395.88/128.04
id_inc(z0) → s(z0) 395.88/128.04
div(z0, z1) → if(ge(z1, s(0)), ge(z0, z1), z0, z1) 395.88/128.04
if(false, z0, z1, z2) → div_by_zero 395.88/128.04
if(true, false, z0, z1) → 0 395.88/128.04
if(true, true, z0, z1) → id_inc(div(minus(z0, z1), z1))
Tuples:

GE(s(z0), s(z1)) → c2(GE(z0, z1)) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(z0)), s(s(z1))) → c11(DIV(minus(z0, z1), s(s(z1))), MINUS(s(s(z0)), s(s(z1)))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(z0, s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(DIV(0, s(0))) 395.88/128.04
IF(true, true, s(0), s(0)) → c1(MINUS(s(0), s(0))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0)))
S tuples:none
K tuples:

DIV(0, s(z0)) → c8(GE(s(z0), s(0))) 395.88/128.04
DIV(s(x0), s(x1)) → c8(GE(s(x0), s(x1))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(s(z0)), s(0))) 395.88/128.04
DIV(s(0), s(s(z0))) → c(GE(s(0), s(s(z0)))) 395.88/128.04
IF(true, true, s(z0), s(z1)) → c11(DIV(minus(z0, z1), s(z1)), MINUS(s(z0), s(z1))) 395.88/128.04
IF(true, true, s(s(x0)), s(s(x1))) → c11(DIV(minus(s(x0), s(x1)), s(s(x1))), MINUS(s(s(x0)), s(s(x1)))) 395.88/128.04
IF(true, true, s(z0), s(0)) → c11(DIV(minus(z0, 0), s(0)), MINUS(s(z0), s(0))) 395.88/128.04
DIV(x0, s(x1)) → c8(GE(s(x1), s(0))) 395.88/128.04
DIV(s(z0), s(z1)) → c8(IF(true, ge(z0, z1), s(z0), s(z1)), GE(s(z1), s(0)), GE(s(z0), s(z1))) 395.88/128.04
DIV(s(s(z0)), s(s(z1))) → c8(IF(true, ge(z0, z1), s(s(z0)), s(s(z1))), GE(s(s(z1)), s(0)), GE(s(s(z0)), s(s(z1)))) 395.88/128.04
DIV(s(z0), s(0)) → c8(IF(true, true, s(z0), s(0)), GE(s(0), s(0)), GE(s(z0), s(0))) 395.88/128.04
MINUS(s(z0), s(z1)) → c5(MINUS(z0, z1)) 395.88/128.04
GE(s(z0), s(z1)) → c2(GE(z0, z1))
Defined Rule Symbols:

ge, minus, id_inc, div, if

Defined Pair Symbols:

GE, MINUS, DIV, IF

Compound Symbols:

c2, c5, c8, c, c8, c11, c11, c1

395.88/128.04
395.88/128.04

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

The set S is empty
395.88/128.04
395.88/128.04

(106) BOUNDS(O(1), O(1))

395.88/128.04
395.88/128.04
395.88/128.09 EOF