YES(O(1), O(n^2)) 514.75/161.59 YES(O(1), O(n^2)) 514.75/161.60 514.75/161.60 514.75/161.60 514.75/161.60 514.75/161.60 514.75/161.60 Runtime Complexity (innermost) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml.xml 514.75/161.60 514.75/161.60 514.75/161.60
514.75/161.60 515.09/161.61 515.09/161.61
515.09/161.61
515.09/161.61

(0) Obligation:

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

cond1(true, x, y) → cond2(gr(x, y), x, y) 515.09/161.61
cond2(true, x, y) → cond3(gr(x, 0), x, y) 515.09/161.61
cond2(false, x, y) → cond4(gr(y, 0), x, y) 515.09/161.61
cond3(true, x, y) → cond3(gr(x, 0), p(x), y) 515.09/161.61
cond3(false, x, y) → cond1(and(gr(x, 0), gr(y, 0)), x, y) 515.09/161.61
cond4(true, x, y) → cond4(gr(y, 0), x, p(y)) 515.09/161.61
cond4(false, x, y) → cond1(and(gr(x, 0), gr(y, 0)), x, y) 515.09/161.61
gr(0, x) → false 515.09/161.61
gr(s(x), 0) → true 515.09/161.61
gr(s(x), s(y)) → gr(x, y) 515.09/161.61
and(true, true) → true 515.09/161.61
and(false, x) → false 515.09/161.61
and(x, false) → false 515.09/161.61
p(0) → 0 515.09/161.61
p(s(x)) → x

Rewrite Strategy: INNERMOST
515.09/161.61
515.09/161.61

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

Converted CpxTRS to CDT
515.09/161.61
515.09/161.61

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.61
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.61
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.61
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.61
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.61
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.61
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.61
gr(0, z0) → false 515.09/161.61
gr(s(z0), 0) → true 515.09/161.61
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.61
and(true, true) → true 515.09/161.61
and(false, z0) → false 515.09/161.61
and(z0, false) → false 515.09/161.61
p(0) → 0 515.09/161.61
p(s(z0)) → z0
Tuples:

COND1(true, z0, z1) → c(COND2(gr(z0, z1), z0, z1), GR(z0, z1)) 515.09/161.61
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1), GR(z0, 0)) 515.09/161.61
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1), GR(z1, 0)) 515.09/161.61
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1), GR(z0, 0), P(z0)) 515.09/161.61
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1), AND(gr(z0, 0), gr(z1, 0)), GR(z0, 0), GR(z1, 0)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1)), GR(z1, 0), P(z1)) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1), AND(gr(z0, 0), gr(z1, 0)), GR(z0, 0), GR(z1, 0)) 515.09/161.68
GR(s(z0), s(z1)) → c9(GR(z0, z1))
S tuples:

COND1(true, z0, z1) → c(COND2(gr(z0, z1), z0, z1), GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1), GR(z0, 0)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1), GR(z1, 0)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1), GR(z0, 0), P(z0)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1), AND(gr(z0, 0), gr(z1, 0)), GR(z0, 0), GR(z1, 0)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1)), GR(z1, 0), P(z1)) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1), AND(gr(z0, 0), gr(z1, 0)), GR(z0, 0), GR(z1, 0)) 515.09/161.68
GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

COND1, COND2, COND3, COND4, GR

Compound Symbols:

c, c1, c2, c3, c4, c5, c6, c9

515.09/161.68
515.09/161.68

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

Removed 12 trailing tuple parts
515.09/161.68
515.09/161.68

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

COND1(true, z0, z1) → c(COND2(gr(z0, z1), z0, z1), GR(z0, z1)) 515.09/161.68
GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1))
S tuples:

COND1(true, z0, z1) → c(COND2(gr(z0, z1), z0, z1), GR(z0, z1)) 515.09/161.68
GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

COND1, GR, COND2, COND3, COND4

Compound Symbols:

c, c9, c1, c2, c3, c4, c5, c6

515.09/161.68
515.09/161.68

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

Use narrowing to replace COND1(true, z0, z1) → c(COND2(gr(z0, z1), z0, z1), GR(z0, z1)) by

COND1(true, 0, z0) → c(COND2(false, 0, z0), GR(0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0), GR(s(z0), 0)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1)))
515.09/161.68
515.09/161.68

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0), GR(0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0), GR(s(z0), 0)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0), GR(0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0), GR(s(z0), 0)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1)))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND2, COND3, COND4, COND1

Compound Symbols:

c9, c1, c2, c3, c4, c5, c6, c

515.09/161.68
515.09/161.68

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

Removed 2 trailing tuple parts
515.09/161.68
515.09/161.68

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND2, COND3, COND4, COND1

Compound Symbols:

c9, c1, c2, c3, c4, c5, c6, c, c

515.09/161.68
515.09/161.68

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

Use narrowing to replace COND2(true, z0, z1) → c1(COND3(gr(z0, 0), z0, z1)) by

COND2(true, 0, x1) → c1(COND3(false, 0, x1)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
515.09/161.68
515.09/161.68

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, 0, x1) → c1(COND3(false, 0, x1)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, 0, x1) → c1(COND3(false, 0, x1)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND2, COND3, COND4, COND1

Compound Symbols:

c9, c2, c3, c4, c5, c6, c, c, c1

515.09/161.68
515.09/161.68

(11) CdtLeafRemovalProof (ComplexityIfPolyImplication transformation)

Removed 1 leading nodes:

COND2(true, 0, x1) → c1(COND3(false, 0, x1))
515.09/161.68
515.09/161.68

(12) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND2, COND3, COND4, COND1

Compound Symbols:

c9, c2, c3, c4, c5, c6, c, c, c1

515.09/161.68
515.09/161.68

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

Use narrowing to replace COND2(false, z0, z1) → c2(COND4(gr(z1, 0), z0, z1)) by

COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
515.09/161.68
515.09/161.68

(14) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND3, COND4, COND1, COND2

Compound Symbols:

c9, c3, c4, c5, c6, c, c, c1, c2

515.09/161.68
515.09/161.68

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

Use narrowing to replace COND3(true, z0, z1) → c3(COND3(gr(z0, 0), p(z0), z1)) by

COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1))
515.09/161.68
515.09/161.68

(16) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1))
K tuples:none
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND3, COND4, COND1, COND2

Compound Symbols:

c9, c4, c5, c6, c, c, c1, c2, c3

515.09/161.68
515.09/161.68

(17) 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.

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1))
We considered the (Usable) Rules:

p(s(z0)) → z0 515.09/161.68
p(0) → 0 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.09/161.68

POL(0) = 0    515.09/161.68
POL(COND1(x1, x2, x3)) = [4]x2    515.09/161.68
POL(COND2(x1, x2, x3)) = [4]x2    515.09/161.68
POL(COND3(x1, x2, x3)) = [4]x2    515.09/161.68
POL(COND4(x1, x2, x3)) = [4]x2    515.09/161.68
POL(GR(x1, x2)) = 0    515.09/161.68
POL(and(x1, x2)) = 0    515.09/161.68
POL(c(x1)) = x1    515.09/161.68
POL(c(x1, x2)) = x1 + x2    515.09/161.68
POL(c1(x1)) = x1    515.09/161.68
POL(c2(x1)) = x1    515.09/161.68
POL(c3(x1)) = x1    515.09/161.68
POL(c4(x1)) = x1    515.09/161.68
POL(c5(x1)) = x1    515.09/161.68
POL(c6(x1)) = x1    515.09/161.68
POL(c9(x1)) = x1    515.09/161.68
POL(false) = 0    515.09/161.68
POL(gr(x1, x2)) = 0    515.09/161.68
POL(p(x1)) = x1    515.09/161.68
POL(s(x1)) = [4] + x1    515.09/161.68
POL(true) = 0   
515.09/161.68
515.09/161.68

(18) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND3, COND4, COND1, COND2

Compound Symbols:

c9, c4, c5, c6, c, c, c1, c2, c3

515.09/161.68
515.09/161.68

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

Use narrowing to replace COND3(false, z0, z1) → c4(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) by

COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
515.09/161.68
515.09/161.68

(20) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND4, COND1, COND2, COND3

Compound Symbols:

c9, c5, c6, c, c, c1, c2, c3, c4

515.09/161.68
515.09/161.68

(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.

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1))
We considered the (Usable) Rules:

gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(z0, false) → false 515.09/161.68
and(false, z0) → false 515.09/161.68
p(s(z0)) → z0 515.09/161.68
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.09/161.68

POL(0) = [1]    515.09/161.68
POL(COND1(x1, x2, x3)) = x1    515.09/161.68
POL(COND2(x1, x2, x3)) = [1]    515.09/161.68
POL(COND3(x1, x2, x3)) = [1]    515.09/161.68
POL(COND4(x1, x2, x3)) = [1]    515.09/161.68
POL(GR(x1, x2)) = 0    515.09/161.68
POL(and(x1, x2)) = x1    515.09/161.68
POL(c(x1)) = x1    515.09/161.68
POL(c(x1, x2)) = x1 + x2    515.09/161.68
POL(c1(x1)) = x1    515.09/161.68
POL(c2(x1)) = x1    515.09/161.68
POL(c3(x1)) = x1    515.09/161.68
POL(c4(x1)) = x1    515.09/161.68
POL(c5(x1)) = x1    515.09/161.68
POL(c6(x1)) = x1    515.09/161.68
POL(c9(x1)) = x1    515.09/161.68
POL(false) = 0    515.09/161.68
POL(gr(x1, x2)) = x2    515.09/161.68
POL(p(x1)) = 0    515.09/161.68
POL(s(x1)) = 0    515.09/161.68
POL(true) = [1]   
515.09/161.68
515.09/161.68

(22) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND4, COND1, COND2, COND3

Compound Symbols:

c9, c5, c6, c, c, c1, c2, c3, c4

515.09/161.68
515.09/161.68

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

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

COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0))
We considered the (Usable) Rules:

gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(z0, false) → false 515.09/161.68
and(false, z0) → false 515.09/161.68
p(s(z0)) → z0 515.09/161.68
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.09/161.68

POL(0) = 0    515.09/161.68
POL(COND1(x1, x2, x3)) = x1    515.09/161.68
POL(COND2(x1, x2, x3)) = [2]    515.09/161.68
POL(COND3(x1, x2, x3)) = [2]    515.09/161.68
POL(COND4(x1, x2, x3)) = [2]    515.09/161.68
POL(GR(x1, x2)) = 0    515.09/161.68
POL(and(x1, x2)) = x2    515.09/161.68
POL(c(x1)) = x1    515.09/161.68
POL(c(x1, x2)) = x1 + x2    515.09/161.68
POL(c1(x1)) = x1    515.09/161.68
POL(c2(x1)) = x1    515.09/161.68
POL(c3(x1)) = x1    515.09/161.68
POL(c4(x1)) = x1    515.09/161.68
POL(c5(x1)) = x1    515.09/161.68
POL(c6(x1)) = x1    515.09/161.68
POL(c9(x1)) = x1    515.09/161.68
POL(false) = 0    515.09/161.68
POL(gr(x1, x2)) = [2]    515.09/161.68
POL(p(x1)) = 0    515.09/161.68
POL(s(x1)) = 0    515.09/161.68
POL(true) = [2]   
515.09/161.68
515.09/161.68

(24) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND4, COND1, COND2, COND3

Compound Symbols:

c9, c5, c6, c, c, c1, c2, c3, c4

515.09/161.68
515.09/161.68

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

Use narrowing to replace COND4(true, z0, z1) → c5(COND4(gr(z1, 0), z0, p(z1))) by

COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.09/161.68
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.09/161.68
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.09/161.68
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0))))
515.09/161.68
515.09/161.68

(26) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.09/161.68
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.09/161.68
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.09/161.68
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.09/161.68
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.09/161.68
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(false, z0) → false 515.09/161.68
and(z0, false) → false 515.09/161.68
p(0) → 0 515.09/161.68
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.09/161.68
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.09/161.68
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.09/161.68
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.09/161.68
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0))))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.09/161.68
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.09/161.68
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.09/161.68
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.09/161.68
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.09/161.68
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.09/161.68
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.09/161.68
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.09/161.68
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.09/161.68
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.09/161.68
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.09/161.68
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.09/161.68
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.09/161.68
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0))))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.09/161.68
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.09/161.68
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND4, COND1, COND2, COND3

Compound Symbols:

c9, c6, c, c, c1, c2, c3, c4, c5

515.09/161.68
515.09/161.68

(27) 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.

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0))
We considered the (Usable) Rules:

p(s(z0)) → z0 515.09/161.68
p(0) → 0 515.09/161.68
gr(s(z0), 0) → true 515.09/161.68
gr(0, z0) → false 515.09/161.68
gr(s(z0), s(z1)) → gr(z0, z1) 515.09/161.68
and(true, true) → true 515.09/161.68
and(z0, false) → false 515.09/161.68
and(false, z0) → false
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.09/161.68
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.09/161.68
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0))))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.77

POL(0) = 0    515.48/161.77
POL(COND1(x1, x2, x3)) = [4]x3    515.48/161.77
POL(COND2(x1, x2, x3)) = [4]x3    515.48/161.77
POL(COND3(x1, x2, x3)) = [4]x3    515.48/161.77
POL(COND4(x1, x2, x3)) = [4]x3    515.48/161.77
POL(GR(x1, x2)) = 0    515.48/161.77
POL(and(x1, x2)) = 0    515.48/161.77
POL(c(x1)) = x1    515.48/161.77
POL(c(x1, x2)) = x1 + x2    515.48/161.77
POL(c1(x1)) = x1    515.48/161.77
POL(c2(x1)) = x1    515.48/161.77
POL(c3(x1)) = x1    515.48/161.77
POL(c4(x1)) = x1    515.48/161.77
POL(c5(x1)) = x1    515.48/161.77
POL(c6(x1)) = x1    515.48/161.77
POL(c9(x1)) = x1    515.48/161.77
POL(false) = 0    515.48/161.77
POL(gr(x1, x2)) = 0    515.48/161.77
POL(p(x1)) = x1    515.48/161.77
POL(s(x1)) = [4] + x1    515.48/161.77
POL(true) = 0   
515.48/161.77
515.48/161.77

(28) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.77
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.77
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.77
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.77
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.77
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.77
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.77
gr(0, z0) → false 515.48/161.77
gr(s(z0), 0) → true 515.48/161.77
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.77
and(true, true) → true 515.48/161.77
and(false, z0) → false 515.48/161.77
and(z0, false) → false 515.48/161.77
p(0) → 0 515.48/161.77
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0))))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0))))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND4, COND1, COND2, COND3

Compound Symbols:

c9, c6, c, c, c1, c2, c3, c4, c5

515.48/161.77
515.48/161.77

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

Use narrowing to replace COND4(false, z0, z1) → c6(COND1(and(gr(z0, 0), gr(z1, 0)), z0, z1)) by

COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
515.48/161.77
515.48/161.77

(30) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.77
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.77
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.77
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.77
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.77
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.77
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.77
gr(0, z0) → false 515.48/161.77
gr(s(z0), 0) → true 515.48/161.77
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.77
and(true, true) → true 515.48/161.77
and(false, z0) → false 515.48/161.77
and(z0, false) → false 515.48/161.77
p(0) → 0 515.48/161.77
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.77
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.77
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c, c1, c2, c3, c4, c5, c6

515.48/161.77
515.48/161.77

(31) 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.

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1))
We considered the (Usable) Rules:

gr(0, z0) → false 515.48/161.77
gr(s(z0), 0) → true 515.48/161.77
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.77
and(true, true) → true 515.48/161.77
and(z0, false) → false 515.48/161.77
and(false, z0) → false 515.48/161.77
p(s(z0)) → z0 515.48/161.77
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.77
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.77

POL(0) = 0    515.48/161.77
POL(COND1(x1, x2, x3)) = x1    515.48/161.77
POL(COND2(x1, x2, x3)) = [1]    515.48/161.77
POL(COND3(x1, x2, x3)) = [1]    515.48/161.77
POL(COND4(x1, x2, x3)) = [1]    515.48/161.77
POL(GR(x1, x2)) = 0    515.48/161.77
POL(and(x1, x2)) = x1    515.48/161.77
POL(c(x1)) = x1    515.48/161.77
POL(c(x1, x2)) = x1 + x2    515.48/161.77
POL(c1(x1)) = x1    515.48/161.77
POL(c2(x1)) = x1    515.48/161.77
POL(c3(x1)) = x1    515.48/161.77
POL(c4(x1)) = x1    515.48/161.77
POL(c5(x1)) = x1    515.48/161.77
POL(c6(x1)) = x1    515.48/161.77
POL(c9(x1)) = x1    515.48/161.77
POL(false) = 0    515.48/161.77
POL(gr(x1, x2)) = [1]    515.48/161.77
POL(p(x1)) = 0    515.48/161.77
POL(s(x1)) = 0    515.48/161.77
POL(true) = [1]   
515.48/161.77
515.48/161.77

(32) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.77
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.77
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.77
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.77
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.77
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.77
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.77
gr(0, z0) → false 515.48/161.77
gr(s(z0), 0) → true 515.48/161.77
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.77
and(true, true) → true 515.48/161.77
and(false, z0) → false 515.48/161.77
and(z0, false) → false 515.48/161.77
p(0) → 0 515.48/161.77
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.77
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.77
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c, c1, c2, c3, c4, c5, c6

515.48/161.77
515.48/161.77

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

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

COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0))
We considered the (Usable) Rules:

gr(0, z0) → false 515.48/161.77
gr(s(z0), 0) → true 515.48/161.77
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.77
and(true, true) → true 515.48/161.77
and(z0, false) → false 515.48/161.77
and(false, z0) → false 515.48/161.77
p(s(z0)) → z0 515.48/161.77
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.77
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.77
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.77
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.77
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.77
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.77
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.77
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.77
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.77
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.77
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.77
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.77
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.77
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.77
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.77
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.77

POL(0) = [1]    515.48/161.77
POL(COND1(x1, x2, x3)) = x1    515.48/161.77
POL(COND2(x1, x2, x3)) = [1]    515.48/161.77
POL(COND3(x1, x2, x3)) = [1]    515.48/161.77
POL(COND4(x1, x2, x3)) = [1]    515.48/161.77
POL(GR(x1, x2)) = 0    515.48/161.77
POL(and(x1, x2)) = x2    515.48/161.77
POL(c(x1)) = x1    515.48/161.77
POL(c(x1, x2)) = x1 + x2    515.48/161.77
POL(c1(x1)) = x1    515.48/161.77
POL(c2(x1)) = x1    515.48/161.77
POL(c3(x1)) = x1    515.48/161.77
POL(c4(x1)) = x1    515.48/161.77
POL(c5(x1)) = x1    515.48/161.77
POL(c6(x1)) = x1    515.48/161.77
POL(c9(x1)) = x1    515.48/161.77
POL(false) = 0    515.48/161.77
POL(gr(x1, x2)) = x2    515.48/161.77
POL(p(x1)) = 0    515.48/161.77
POL(s(x1)) = 0    515.48/161.77
POL(true) = [1]   
515.48/161.77
515.48/161.77

(34) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.77
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.77
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c, c1, c2, c3, c4, c5, c6

515.48/161.78
515.48/161.78

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

Use narrowing to replace COND1(true, s(z0), s(z1)) → c(COND2(gr(z0, z1), s(z0), s(z1)), GR(s(z0), s(z1))) by

COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
515.48/161.78
515.48/161.78

(36) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c5, c6, c

515.48/161.78
515.48/161.78

(37) 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.

COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
We considered the (Usable) Rules:

gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(z0, false) → false 515.48/161.78
and(false, z0) → false 515.48/161.78
p(s(z0)) → z0 515.48/161.78
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.78

POL(0) = 0    515.48/161.78
POL(COND1(x1, x2, x3)) = [1]    515.48/161.78
POL(COND2(x1, x2, x3)) = [1]    515.48/161.78
POL(COND3(x1, x2, x3)) = [1]    515.48/161.78
POL(COND4(x1, x2, x3)) = [1]    515.48/161.78
POL(GR(x1, x2)) = 0    515.48/161.78
POL(and(x1, x2)) = 0    515.48/161.78
POL(c(x1)) = x1    515.48/161.78
POL(c(x1, x2)) = x1 + x2    515.48/161.78
POL(c1(x1)) = x1    515.48/161.78
POL(c2(x1)) = x1    515.48/161.78
POL(c3(x1)) = x1    515.48/161.78
POL(c4(x1)) = x1    515.48/161.78
POL(c5(x1)) = x1    515.48/161.78
POL(c6(x1)) = x1    515.48/161.78
POL(c9(x1)) = x1    515.48/161.78
POL(false) = 0    515.48/161.78
POL(gr(x1, x2)) = 0    515.48/161.78
POL(p(x1)) = 0    515.48/161.78
POL(s(x1)) = 0    515.48/161.78
POL(true) = 0   
515.48/161.78
515.48/161.78

(38) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c5, c6, c

515.48/161.78
515.48/161.78

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

Use narrowing to replace COND3(true, 0, x1) → c3(COND3(gr(0, 0), 0, x1)) by

COND3(true, 0, x0) → c3(COND3(false, 0, x0))
515.48/161.78
515.48/161.78

(40) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c5, c6, c

515.48/161.78
515.48/161.78

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

Use narrowing to replace COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) by

COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
515.48/161.78
515.48/161.78

(42) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c5, c6, c

515.48/161.78
515.48/161.78

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

Use narrowing to replace COND3(true, 0, x1) → c3(COND3(false, p(0), x1)) by

COND3(true, 0, x0) → c3(COND3(false, 0, x0))
515.48/161.78
515.48/161.78

(44) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c5, c6, c

515.48/161.78
515.48/161.78

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

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

COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
515.48/161.78
515.48/161.78

(46) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c5, c6, c

515.48/161.78
515.48/161.78

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

Use narrowing to replace COND3(true, s(z0), x1) → c3(COND3(true, p(s(z0)), x1)) by

COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
515.48/161.78
515.48/161.78

(48) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.78
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.78
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.78
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.78
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.78
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.78
gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(false, z0) → false 515.48/161.78
and(z0, false) → false 515.48/161.78
p(0) → 0 515.48/161.78
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3

515.48/161.78
515.48/161.78

(49) 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.

COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
We considered the (Usable) Rules:

gr(0, z0) → false 515.48/161.78
gr(s(z0), 0) → true 515.48/161.78
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.78
and(true, true) → true 515.48/161.78
and(z0, false) → false 515.48/161.78
and(false, z0) → false 515.48/161.78
p(s(z0)) → z0 515.48/161.78
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.78
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.78
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.78
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.78
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.78
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.78
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.78
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.78
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.78
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.78
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.78
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.78
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.78
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.78
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.78
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.78
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.78
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.78
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.78

POL(0) = 0    515.48/161.78
POL(COND1(x1, x2, x3)) = [4]x2    515.48/161.78
POL(COND2(x1, x2, x3)) = [4]x2    515.48/161.78
POL(COND3(x1, x2, x3)) = [4]x2    515.48/161.78
POL(COND4(x1, x2, x3)) = [4]x2    515.48/161.78
POL(GR(x1, x2)) = 0    515.48/161.78
POL(and(x1, x2)) = [2]x2    515.48/161.78
POL(c(x1)) = x1    515.48/161.78
POL(c(x1, x2)) = x1 + x2    515.48/161.78
POL(c1(x1)) = x1    515.48/161.78
POL(c2(x1)) = x1    515.48/161.78
POL(c3(x1)) = x1    515.48/161.78
POL(c4(x1)) = x1    515.48/161.78
POL(c5(x1)) = x1    515.48/161.78
POL(c6(x1)) = x1    515.48/161.78
POL(c9(x1)) = x1    515.48/161.78
POL(false) = 0    515.48/161.78
POL(gr(x1, x2)) = [4]x1    515.48/161.79
POL(p(x1)) = 0    515.48/161.79
POL(s(x1)) = [4] + x1    515.48/161.79
POL(true) = [2]   
515.48/161.79
515.48/161.79

(50) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3

515.48/161.79
515.48/161.79

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

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

COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
515.48/161.79
515.48/161.79

(52) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3

515.48/161.79
515.48/161.79

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

Use narrowing to replace COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) by

COND3(false, x0, 0) → c4(COND1(false, x0, 0)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0))
515.48/161.79
515.48/161.79

(54) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(false, x0, 0)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3

515.48/161.79
515.48/161.79

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

Removed 1 trailing tuple parts
515.48/161.79
515.48/161.79

(56) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(true, s(z0), x1) → c3(COND3(gr(s(z0), 0), z0, x1)) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, x0, 0) → c4(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Removed 1 trailing nodes:

COND3(false, x0, 0) → c4
515.48/161.79
515.48/161.79

(58) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Use narrowing to replace COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0))) by

COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1)))
515.48/161.79
515.48/161.79

(60) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(false, x0, s(z0)) → c4(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Removed 1 trailing nodes:

COND3(false, x0, 0) → c4
515.48/161.79
515.48/161.79

(62) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

(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.

COND1(true, 0, z0) → c(COND2(false, 0, z0))
We considered the (Usable) Rules:

and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
p(s(z0)) → z0 515.48/161.79
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1)))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.79

POL(0) = 0    515.48/161.79
POL(COND1(x1, x2, x3)) = x1    515.48/161.79
POL(COND2(x1, x2, x3)) = x2    515.48/161.79
POL(COND3(x1, x2, x3)) = [1]    515.48/161.79
POL(COND4(x1, x2, x3)) = x2    515.48/161.79
POL(GR(x1, x2)) = 0    515.48/161.79
POL(and(x1, x2)) = x1    515.48/161.79
POL(c(x1)) = x1    515.48/161.79
POL(c(x1, x2)) = x1 + x2    515.48/161.79
POL(c1(x1)) = x1    515.48/161.79
POL(c2(x1)) = x1    515.48/161.79
POL(c3(x1)) = x1    515.48/161.79
POL(c4) = 0    515.48/161.79
POL(c4(x1)) = x1    515.48/161.79
POL(c5(x1)) = x1    515.48/161.79
POL(c6(x1)) = x1    515.48/161.79
POL(c9(x1)) = x1    515.48/161.79
POL(false) = 0    515.48/161.79
POL(gr(x1, x2)) = x1    515.48/161.79
POL(p(x1)) = 0    515.48/161.79
POL(s(x1)) = [1]    515.48/161.79
POL(true) = [1]   
515.48/161.79
515.48/161.79

(64) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

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

COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1))
515.48/161.79
515.48/161.79

(66) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Use narrowing to replace COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) by

COND3(false, 0, x0) → c4(COND1(false, 0, x0)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, 0, s(z0)) → c4(COND1(and(false, true), 0, s(z0)))
515.48/161.79
515.48/161.79

(68) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4(COND1(false, 0, x0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Removed 1 trailing tuple parts
515.48/161.79
515.48/161.79

(70) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND3(false, 0, x1) → c4(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Removed 2 trailing nodes:

COND3(false, 0, x0) → c4 515.48/161.79
COND3(false, x0, 0) → c4
515.48/161.79
515.48/161.79

(72) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c4, c5, c6, c, c3, c4

515.48/161.79
515.48/161.79

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

Use narrowing to replace COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) by

COND3(false, s(x0), 0) → c4(COND1(and(true, false), s(x0), 0)) 515.48/161.79
COND3(false, s(x0), s(z0)) → c4(COND1(and(true, true), s(x0), s(z0)))
515.48/161.79
515.48/161.79

(74) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(false, s(z0), x1) → c4(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.79
515.48/161.79

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

Removed 2 trailing nodes:

COND3(false, 0, x0) → c4 515.48/161.79
COND3(false, x0, 0) → c4
515.48/161.79
515.48/161.79

(76) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.79
515.48/161.79

(77) 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.

COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0)))
We considered the (Usable) Rules:

and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
p(s(z0)) → z0 515.48/161.79
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.79

POL(0) = 0    515.48/161.79
POL(COND1(x1, x2, x3)) = [2]x2    515.48/161.79
POL(COND2(x1, x2, x3)) = x1·x2    515.48/161.79
POL(COND3(x1, x2, x3)) = [2]x1·x2    515.48/161.79
POL(COND4(x1, x2, x3)) = [2]x2    515.48/161.79
POL(GR(x1, x2)) = 0    515.48/161.79
POL(and(x1, x2)) = 0    515.48/161.79
POL(c(x1)) = x1    515.48/161.79
POL(c(x1, x2)) = x1 + x2    515.48/161.79
POL(c1(x1)) = x1    515.48/161.79
POL(c2(x1)) = x1    515.48/161.79
POL(c3(x1)) = x1    515.48/161.79
POL(c4) = 0    515.48/161.79
POL(c4(x1)) = x1    515.48/161.79
POL(c5(x1)) = x1    515.48/161.79
POL(c6(x1)) = x1    515.48/161.79
POL(c9(x1)) = x1    515.48/161.79
POL(false) = [2]    515.48/161.79
POL(gr(x1, x2)) = [2]    515.48/161.79
POL(p(x1)) = 0    515.48/161.79
POL(s(x1)) = [2] + x1    515.48/161.79
POL(true) = 0   
515.48/161.79
515.48/161.79

(78) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.79
515.48/161.79

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

Use narrowing to replace COND4(true, x0, 0) → c5(COND4(gr(0, 0), x0, 0)) by

COND4(true, x0, 0) → c5(COND4(false, x0, 0))
515.48/161.79
515.48/161.79

(80) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.79
515.48/161.79

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

Removed 2 trailing nodes:

COND3(false, 0, x0) → c4 515.48/161.79
COND3(false, x0, 0) → c4
515.48/161.79
515.48/161.79

(82) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.79
515.48/161.79

(83) 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.

COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
We considered the (Usable) Rules:

and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
p(s(z0)) → z0 515.48/161.79
p(0) → 0
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.79
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.79
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.79
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.79
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.79
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.79
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.79
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.79
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.79
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.79
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.79
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.79
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.79
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.79
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.79
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.79
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.79
COND3(false, x0, 0) → c4 515.48/161.79
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.79
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.79
COND3(false, 0, x0) → c4 515.48/161.79
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.48/161.79

POL(0) = 0    515.48/161.79
POL(COND1(x1, x2, x3)) = x22    515.48/161.79
POL(COND2(x1, x2, x3)) = x22    515.48/161.79
POL(COND3(x1, x2, x3)) = [2]x1·x2    515.48/161.79
POL(COND4(x1, x2, x3)) = x22    515.48/161.79
POL(GR(x1, x2)) = 0    515.48/161.79
POL(and(x1, x2)) = 0    515.48/161.79
POL(c(x1)) = x1    515.48/161.79
POL(c(x1, x2)) = x1 + x2    515.48/161.79
POL(c1(x1)) = x1    515.48/161.79
POL(c2(x1)) = x1    515.48/161.79
POL(c3(x1)) = x1    515.48/161.79
POL(c4) = 0    515.48/161.79
POL(c4(x1)) = x1    515.48/161.79
POL(c5(x1)) = x1    515.48/161.79
POL(c6(x1)) = x1    515.48/161.79
POL(c9(x1)) = x1    515.48/161.79
POL(false) = [2]    515.48/161.79
POL(gr(x1, x2)) = x12    515.48/161.79
POL(p(x1)) = 0    515.48/161.79
POL(s(x1)) = [1]    515.48/161.79
POL(true) = 0   
515.48/161.79
515.48/161.79

(84) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.79
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.79
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.79
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.79
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.79
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.79
gr(0, z0) → false 515.48/161.79
gr(s(z0), 0) → true 515.48/161.79
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.79
and(true, true) → true 515.48/161.79
and(false, z0) → false 515.48/161.79
and(z0, false) → false 515.48/161.79
p(0) → 0 515.48/161.79
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.79
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.79
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.80
COND3(false, x0, 0) → c4 515.48/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.80
COND3(false, 0, x0) → c4 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.80
515.48/161.80

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

Use narrowing to replace COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) by

COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
515.48/161.80
515.48/161.80

(86) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
gr(0, z0) → false 515.48/161.80
gr(s(z0), 0) → true 515.48/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.80
and(true, true) → true 515.48/161.80
and(false, z0) → false 515.48/161.80
and(z0, false) → false 515.48/161.80
p(0) → 0 515.48/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.80
COND3(false, x0, 0) → c4 515.48/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.80
COND3(false, 0, x0) → c4 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(true, x0, s(z0)) → c5(COND4(gr(s(z0), 0), x0, z0)) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.80
515.48/161.80

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

Removed 2 trailing nodes:

COND3(false, 0, x0) → c4 515.48/161.80
COND3(false, x0, 0) → c4
515.48/161.80
515.48/161.80

(88) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
gr(0, z0) → false 515.48/161.80
gr(s(z0), 0) → true 515.48/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.80
and(true, true) → true 515.48/161.80
and(false, z0) → false 515.48/161.80
and(z0, false) → false 515.48/161.80
p(0) → 0 515.48/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.80
COND3(false, x0, 0) → c4 515.48/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.80
COND3(false, 0, x0) → c4 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.80
515.48/161.80

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

Use narrowing to replace COND4(true, x0, 0) → c5(COND4(false, x0, p(0))) by

COND4(true, x0, 0) → c5(COND4(false, x0, 0))
515.48/161.80
515.48/161.80

(90) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
gr(0, z0) → false 515.48/161.80
gr(s(z0), 0) → true 515.48/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.80
and(true, true) → true 515.48/161.80
and(false, z0) → false 515.48/161.80
and(z0, false) → false 515.48/161.80
p(0) → 0 515.48/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.80
COND3(false, x0, 0) → c4 515.48/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.80
COND3(false, 0, x0) → c4 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.80
515.48/161.80

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

Removed 2 trailing nodes:

COND3(false, 0, x0) → c4 515.48/161.80
COND3(false, x0, 0) → c4
515.48/161.80
515.48/161.80

(92) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
gr(0, z0) → false 515.48/161.80
gr(s(z0), 0) → true 515.48/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.80
and(true, true) → true 515.48/161.80
and(false, z0) → false 515.48/161.80
and(z0, false) → false 515.48/161.80
p(0) → 0 515.48/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.48/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.48/161.80
COND3(false, x0, 0) → c4 515.48/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.48/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.48/161.80
COND3(false, 0, x0) → c4 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.48/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.48/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.48/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.48/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.48/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.48/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.48/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.48/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.48/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.48/161.80
515.48/161.80

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

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

COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.48/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.48/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
515.48/161.80
515.48/161.80

(94) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.48/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.48/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.48/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.48/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.48/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.48/161.80
gr(0, z0) → false 515.48/161.80
gr(s(z0), 0) → true 515.48/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.48/161.80
and(true, true) → true 515.48/161.80
and(false, z0) → false 515.48/161.80
and(z0, false) → false 515.48/161.80
p(0) → 0 515.48/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.48/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c5, c6, c, c3, c4, c4

515.81/161.80
515.81/161.80

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

Use narrowing to replace COND4(true, x0, s(z0)) → c5(COND4(true, x0, p(s(z0)))) by

COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
515.81/161.80
515.81/161.80

(96) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5

515.81/161.80
515.81/161.80

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

Removed 2 trailing nodes:

COND3(false, 0, x0) → c4 515.81/161.80
COND3(false, x0, 0) → c4
515.81/161.80
515.81/161.80

(98) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5

515.81/161.80
515.81/161.80

(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.

COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
We considered the (Usable) Rules:

and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1)
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.81/161.80

POL(0) = 0    515.81/161.80
POL(COND1(x1, x2, x3)) = [4]x3    515.81/161.80
POL(COND2(x1, x2, x3)) = [4]x3    515.81/161.80
POL(COND3(x1, x2, x3)) = [4]x3    515.81/161.80
POL(COND4(x1, x2, x3)) = [4]x3    515.81/161.80
POL(GR(x1, x2)) = 0    515.81/161.80
POL(and(x1, x2)) = 0    515.81/161.80
POL(c(x1)) = x1    515.81/161.80
POL(c(x1, x2)) = x1 + x2    515.81/161.80
POL(c1(x1)) = x1    515.81/161.80
POL(c2(x1)) = x1    515.81/161.80
POL(c3(x1)) = x1    515.81/161.80
POL(c4) = 0    515.81/161.80
POL(c4(x1)) = x1    515.81/161.80
POL(c5(x1)) = x1    515.81/161.80
POL(c6(x1)) = x1    515.81/161.80
POL(c9(x1)) = x1    515.81/161.80
POL(false) = 0    515.81/161.80
POL(gr(x1, x2)) = 0    515.81/161.80
POL(s(x1)) = [2] + x1    515.81/161.80
POL(true) = 0   
515.81/161.80
515.81/161.80

(100) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5

515.81/161.80
515.81/161.80

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

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

COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1)))
515.81/161.80
515.81/161.80

(102) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5

515.81/161.80
515.81/161.80

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

Use narrowing to replace COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) by

COND4(false, x0, 0) → c6(COND1(false, x0, 0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0))
515.81/161.80
515.81/161.80

(104) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(false, x0, 0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5

515.81/161.80
515.81/161.80

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

Removed 1 trailing tuple parts
515.81/161.80
515.81/161.80

(106) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, x0, 0) → c6(COND1(and(gr(x0, 0), false), x0, 0)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Removed 3 trailing nodes:

COND3(false, 0, x0) → c4 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND4(false, x0, 0) → c6
515.81/161.80
515.81/161.80

(108) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Use narrowing to replace COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) by

COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1)))
515.81/161.80
515.81/161.80

(110) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(false, x0, s(z0)) → c6(COND1(and(gr(x0, 0), true), x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Removed 3 trailing nodes:

COND3(false, 0, x0) → c4 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND4(false, x0, 0) → c6
515.81/161.80
515.81/161.80

(112) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

(113) 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.

COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
We considered the (Usable) Rules:

and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1)
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1)))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.81/161.80

POL(0) = 0    515.81/161.80
POL(COND1(x1, x2, x3)) = [2]x3 + x2·x3    515.81/161.80
POL(COND2(x1, x2, x3)) = x2·x3    515.81/161.80
POL(COND3(x1, x2, x3)) = [2]x3 + [2]x1·x2    515.81/161.80
POL(COND4(x1, x2, x3)) = [2]x1·x3    515.81/161.80
POL(GR(x1, x2)) = 0    515.81/161.80
POL(and(x1, x2)) = 0    515.81/161.80
POL(c(x1)) = x1    515.81/161.80
POL(c(x1, x2)) = x1 + x2    515.81/161.80
POL(c1(x1)) = x1    515.81/161.80
POL(c2(x1)) = x1    515.81/161.80
POL(c3(x1)) = x1    515.81/161.80
POL(c4) = 0    515.81/161.80
POL(c4(x1)) = x1    515.81/161.80
POL(c5(x1)) = x1    515.81/161.80
POL(c6) = 0    515.81/161.80
POL(c6(x1)) = x1    515.81/161.80
POL(c9(x1)) = x1    515.81/161.80
POL(false) = [2]    515.81/161.80
POL(gr(x1, x2)) = 0    515.81/161.80
POL(s(x1)) = [2]    515.81/161.80
POL(true) = 0   
515.81/161.80
515.81/161.80

(114) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1))))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

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

COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0))
515.81/161.80
515.81/161.80

(116) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1)))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Use narrowing to replace COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) by

COND4(false, 0, x0) → c6(COND1(false, 0, x0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, 0, s(z0)) → c6(COND1(and(false, true), 0, s(z0)))
515.81/161.80
515.81/161.80

(118) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND4(false, 0, x0) → c6(COND1(false, 0, x0))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Removed 1 trailing tuple parts
515.81/161.80
515.81/161.80

(120) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND4(false, 0, x0) → c6
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND4(false, 0, x1) → c6(COND1(and(false, gr(x1, 0)), 0, x1)) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Removed 4 trailing nodes:

COND4(false, 0, x0) → c6 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND4(false, x0, 0) → c6
515.81/161.80
515.81/161.80

(122) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.80
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
gr(0, z0) → false 515.81/161.80
gr(s(z0), 0) → true 515.81/161.80
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.80
and(true, true) → true 515.81/161.80
and(false, z0) → false 515.81/161.80
and(z0, false) → false 515.81/161.80
p(0) → 0 515.81/161.80
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.80
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND3(false, x0, 0) → c4 515.81/161.80
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND3(false, 0, x0) → c4 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.80
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.80
COND4(false, x0, 0) → c6 515.81/161.80
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.80
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.80
COND4(false, 0, x0) → c6
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.80
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.80
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.80
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.80
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.80
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.80
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.80
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.80
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.80
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.80
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.80
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.80
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.80
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND4, COND3

Compound Symbols:

c9, c, c1, c2, c6, c, c3, c4, c4, c5, c6

515.81/161.80
515.81/161.80

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

Use narrowing to replace COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) by

COND4(false, s(x0), 0) → c6(COND1(and(true, false), s(x0), 0)) 515.81/161.80
COND4(false, s(x0), s(z0)) → c6(COND1(and(true, true), s(x0), s(z0)))
515.81/161.80
515.81/161.80

(124) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.80
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.80
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.80
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.80
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.80
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.81
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
gr(0, z0) → false 515.81/161.81
gr(s(z0), 0) → true 515.81/161.81
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.81
and(true, true) → true 515.81/161.81
and(false, z0) → false 515.81/161.81
and(z0, false) → false 515.81/161.81
p(0) → 0 515.81/161.81
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.81
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND3(false, x0, 0) → c4 515.81/161.81
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND3(false, 0, x0) → c4 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.81
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND4(false, x0, 0) → c6 515.81/161.81
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND4(false, 0, x0) → c6
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c(COND2(true, s(s(z0)), s(0)), GR(s(s(z0)), s(0))) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.81
COND1(true, s(0), s(z0)) → c(COND2(false, s(0), s(z0)), GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c(COND2(gr(z0, z1), s(s(z0)), s(s(z1))), GR(s(s(z0)), s(s(z1)))) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0)))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c, c3, c4, c4, c5, c6, c6

515.81/161.81
515.81/161.81

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

Split RHS of tuples not part of any SCC
515.81/161.81
515.81/161.81

(126) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.81
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.81
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.81
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.81
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.81
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
gr(0, z0) → false 515.81/161.81
gr(s(z0), 0) → true 515.81/161.81
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.81
and(true, true) → true 515.81/161.81
and(false, z0) → false 515.81/161.81
and(z0, false) → false 515.81/161.81
p(0) → 0 515.81/161.81
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.81
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND3(false, x0, 0) → c4 515.81/161.81
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND3(false, 0, x0) → c4 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.81
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND4(false, x0, 0) → c6 515.81/161.81
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND4(false, 0, x0) → c6 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1))))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(false, s(z0), x1) → c6(COND1(and(true, gr(x1, 0)), s(z0), x1)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1))))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c4, c5, c6, c6, c7

515.81/161.81
515.81/161.81

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

Removed 4 trailing nodes:

COND4(false, 0, x0) → c6 515.81/161.81
COND3(false, 0, x0) → c4 515.81/161.81
COND3(false, x0, 0) → c4 515.81/161.81
COND4(false, x0, 0) → c6
515.81/161.81
515.81/161.81

(128) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.81
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.81
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.81
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.81
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.81
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
gr(0, z0) → false 515.81/161.81
gr(s(z0), 0) → true 515.81/161.81
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.81
and(true, true) → true 515.81/161.81
and(false, z0) → false 515.81/161.81
and(z0, false) → false 515.81/161.81
p(0) → 0 515.81/161.81
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.81
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND3(false, x0, 0) → c4 515.81/161.81
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND3(false, 0, x0) → c4 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.81
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND4(false, x0, 0) → c6 515.81/161.81
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND4(false, 0, x0) → c6 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1))))
S tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1))
K tuples:

COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1))))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c4, c5, c6, c6, c7

515.81/161.81
515.81/161.81

(129) 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.

GR(s(z0), s(z1)) → c9(GR(z0, z1))
We considered the (Usable) Rules:

gr(0, z0) → false 515.81/161.81
gr(s(z0), 0) → true 515.81/161.81
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.81
and(true, true) → true 515.81/161.81
and(false, z0) → false 515.81/161.81
and(z0, false) → false
And the Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.81
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND3(false, x0, 0) → c4 515.81/161.81
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND3(false, 0, x0) → c4 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.81
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND4(false, x0, 0) → c6 515.81/161.81
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND4(false, 0, x0) → c6 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1))))
The order we found is given by the following interpretation:
Polynomial interpretation : 515.81/161.81

POL(0) = 0    515.81/161.81
POL(COND1(x1, x2, x3)) = x3    515.81/161.81
POL(COND2(x1, x2, x3)) = x3    515.81/161.81
POL(COND3(x1, x2, x3)) = x3    515.81/161.81
POL(COND4(x1, x2, x3)) = x3    515.81/161.81
POL(GR(x1, x2)) = x2    515.81/161.81
POL(and(x1, x2)) = 0    515.81/161.81
POL(c(x1)) = x1    515.81/161.81
POL(c1(x1)) = x1    515.81/161.81
POL(c2(x1)) = x1    515.81/161.81
POL(c3(x1)) = x1    515.81/161.81
POL(c4) = 0    515.81/161.81
POL(c4(x1)) = x1    515.81/161.81
POL(c5(x1)) = x1    515.81/161.81
POL(c6) = 0    515.81/161.81
POL(c6(x1)) = x1    515.81/161.81
POL(c7(x1)) = x1    515.81/161.81
POL(c9(x1)) = x1    515.81/161.81
POL(false) = 0    515.81/161.81
POL(gr(x1, x2)) = [2] + [3]x1    515.81/161.81
POL(s(x1)) = [2] + x1    515.81/161.81
POL(true) = 0   
515.81/161.81
515.81/161.81

(130) Obligation:

Complexity Dependency Tuples Problem
Rules:

cond1(true, z0, z1) → cond2(gr(z0, z1), z0, z1) 515.81/161.81
cond2(true, z0, z1) → cond3(gr(z0, 0), z0, z1) 515.81/161.81
cond2(false, z0, z1) → cond4(gr(z1, 0), z0, z1) 515.81/161.81
cond3(true, z0, z1) → cond3(gr(z0, 0), p(z0), z1) 515.81/161.81
cond3(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
cond4(true, z0, z1) → cond4(gr(z1, 0), z0, p(z1)) 515.81/161.81
cond4(false, z0, z1) → cond1(and(gr(z0, 0), gr(z1, 0)), z0, z1) 515.81/161.81
gr(0, z0) → false 515.81/161.81
gr(s(z0), 0) → true 515.81/161.81
gr(s(z0), s(z1)) → gr(z0, z1) 515.81/161.81
and(true, true) → true 515.81/161.81
and(false, z0) → false 515.81/161.81
and(z0, false) → false 515.81/161.81
p(0) → 0 515.81/161.81
p(s(z0)) → z0
Tuples:

GR(s(z0), s(z1)) → c9(GR(z0, z1)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(false, 0, 0) → c4(COND1(and(false, false), 0, 0)) 515.81/161.81
COND3(false, s(z0), 0) → c4(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND3(false, x0, 0) → c4 515.81/161.81
COND3(false, 0, s(x1)) → c4(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND3(false, s(z0), s(x1)) → c4(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND3(false, 0, x0) → c4 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(false, 0, 0) → c6(COND1(and(false, false), 0, 0)) 515.81/161.81
COND4(false, s(z0), 0) → c6(COND1(and(true, false), s(z0), 0)) 515.81/161.81
COND4(false, x0, 0) → c6 515.81/161.81
COND4(false, 0, s(x1)) → c6(COND1(and(false, true), 0, s(x1))) 515.81/161.81
COND4(false, s(z0), s(x1)) → c6(COND1(and(true, true), s(z0), s(x1))) 515.81/161.81
COND4(false, 0, x0) → c6 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1))))
S tuples:none
K tuples:

COND1(true, s(x0), s(x1)) → c(GR(s(x0), s(x1))) 515.81/161.81
COND3(true, s(z0), x1) → c3(COND3(true, z0, x1)) 515.81/161.81
COND3(true, 0, x0) → c3(COND3(false, 0, x0)) 515.81/161.81
COND1(true, 0, z0) → c(COND2(false, 0, z0)) 515.81/161.81
COND2(false, x0, 0) → c2(COND4(false, x0, 0)) 515.81/161.81
COND1(true, s(z0), 0) → c(COND2(true, s(z0), 0)) 515.81/161.81
COND2(true, s(z0), x1) → c1(COND3(true, s(z0), x1)) 515.81/161.81
COND4(true, x0, s(z0)) → c5(COND4(true, x0, z0)) 515.81/161.81
COND4(true, x0, 0) → c5(COND4(false, x0, 0)) 515.81/161.81
COND2(false, x0, s(z0)) → c2(COND4(true, x0, s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(COND2(false, s(0), s(z0))) 515.81/161.81
COND1(true, s(0), s(z0)) → c7(GR(s(0), s(z0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(COND2(true, s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(0)) → c7(GR(s(s(z0)), s(0))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(COND2(gr(z0, z1), s(s(z0)), s(s(z1)))) 515.81/161.81
COND1(true, s(s(z0)), s(s(z1))) → c7(GR(s(s(z0)), s(s(z1)))) 515.81/161.81
GR(s(z0), s(z1)) → c9(GR(z0, z1))
Defined Rule Symbols:

cond1, cond2, cond3, cond4, gr, and, p

Defined Pair Symbols:

GR, COND1, COND2, COND3, COND4

Compound Symbols:

c9, c, c1, c2, c3, c4, c4, c5, c6, c6, c7

515.81/161.81
515.81/161.81

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

The set S is empty
515.81/161.81
515.81/161.81

(132) BOUNDS(O(1), O(1))

515.81/161.81
515.81/161.81
515.81/161.87 EOF