MAYBE 771.19/297.05 MAYBE 771.19/297.05 771.19/297.05 We are left with following problem, upon which TcT provides the 771.19/297.05 certificate MAYBE. 771.19/297.05 771.19/297.05 Strict Trs: 771.19/297.05 { div(x, y) -> div2(x, y, 0()) 771.19/297.05 , div2(x, y, i) -> 771.19/297.05 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.05 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.05 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.05 , le(0(), y) -> true() 771.19/297.05 , le(s(x), 0()) -> false() 771.19/297.05 , le(s(x), s(y)) -> le(x, y) 771.19/297.05 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.05 , inc(0()) -> 0() 771.19/297.05 , inc(s(i)) -> s(inc(i)) 771.19/297.05 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.05 , if2(false(), x, y, i, j) -> i 771.19/297.05 , minus(x, 0()) -> x 771.19/297.05 , minus(0(), y) -> 0() 771.19/297.05 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.05 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) 771.19/297.05 , ifPlus(true(), x, y, z) -> y 771.19/297.05 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) 771.19/297.05 , a() -> c() 771.19/297.05 , a() -> d() } 771.19/297.05 Obligation: 771.19/297.05 innermost runtime complexity 771.19/297.05 Answer: 771.19/297.05 MAYBE 771.19/297.05 771.19/297.05 None of the processors succeeded. 771.19/297.05 771.19/297.05 Details of failed attempt(s): 771.19/297.05 ----------------------------- 771.19/297.05 1) 'empty' failed due to the following reason: 771.19/297.05 771.19/297.05 Empty strict component of the problem is NOT empty. 771.19/297.05 771.19/297.05 2) 'Best' failed due to the following reason: 771.19/297.05 771.19/297.05 None of the processors succeeded. 771.19/297.05 771.19/297.05 Details of failed attempt(s): 771.19/297.05 ----------------------------- 771.19/297.05 1) 'With Problem ... (timeout of 297 seconds)' failed due to the 771.19/297.05 following reason: 771.19/297.05 771.19/297.05 Computation stopped due to timeout after 297.0 seconds. 771.19/297.05 771.19/297.05 2) 'Best' failed due to the following reason: 771.19/297.05 771.19/297.05 None of the processors succeeded. 771.19/297.05 771.19/297.05 Details of failed attempt(s): 771.19/297.05 ----------------------------- 771.19/297.05 1) 'With Problem ... (timeout of 148 seconds) (timeout of 297 771.19/297.05 seconds)' failed due to the following reason: 771.19/297.05 771.19/297.05 The weightgap principle applies (using the following nonconstant 771.19/297.05 growth matrix-interpretation) 771.19/297.05 771.19/297.05 The following argument positions are usable: 771.19/297.05 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.05 Uargs(ifPlus) = {1} 771.19/297.05 771.19/297.05 TcT has computed the following matrix interpretation satisfying 771.19/297.05 not(EDA) and not(IDA(1)). 771.19/297.05 771.19/297.05 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.05 771.19/297.05 [div2](x1, x2, x3) = [1] x1 + [1] x3 + [7] 771.19/297.05 771.19/297.05 [0] = [6] 771.19/297.05 771.19/297.05 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x5 + [1] x6 + [1] 771.19/297.05 771.19/297.05 [le](x1, x2) = [0] 771.19/297.05 771.19/297.05 [plus](x1, x2) = [1] x2 + [1] 771.19/297.05 771.19/297.05 [inc](x1) = [1] x1 + [7] 771.19/297.05 771.19/297.05 [true] = [7] 771.19/297.05 771.19/297.05 [divZeroError] = [7] 771.19/297.05 771.19/297.05 [false] = [7] 771.19/297.05 771.19/297.05 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x4 + [1] x5 + [7] 771.19/297.05 771.19/297.05 [minus](x1, x2) = [1] x1 + [7] 771.19/297.05 771.19/297.05 [s](x1) = [1] x1 + [7] 771.19/297.05 771.19/297.05 [plusIter](x1, x2, x3) = [1] x2 + [1] x3 + [1] 771.19/297.05 771.19/297.05 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x3 + [1] x4 + [7] 771.19/297.05 771.19/297.05 [a] = [7] 771.19/297.05 771.19/297.05 [c] = [3] 771.19/297.05 771.19/297.05 [d] = [6] 771.19/297.05 771.19/297.05 The order satisfies the following ordering constraints: 771.19/297.05 771.19/297.05 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.05 ? [1] x + [13] 771.19/297.05 = [div2(x, y, 0())] 771.19/297.05 771.19/297.05 [div2(x, y, i)] = [1] x + [1] i + [7] 771.19/297.05 ? [1] x + [1] i + [15] 771.19/297.05 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.05 771.19/297.05 [if1(true(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [8] 771.19/297.05 > [7] 771.19/297.05 = [divZeroError()] 771.19/297.05 771.19/297.05 [if1(false(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [8] 771.19/297.05 > [1] x + [1] i + [1] b + [1] j + [7] 771.19/297.05 = [if2(b, x, y, i, j)] 771.19/297.05 771.19/297.05 [le(0(), y)] = [0] 771.19/297.05 ? [7] 771.19/297.05 = [true()] 771.19/297.05 771.19/297.05 [le(s(x), 0())] = [0] 771.19/297.05 ? [7] 771.19/297.05 = [false()] 771.19/297.05 771.19/297.05 [le(s(x), s(y))] = [0] 771.19/297.05 >= [0] 771.19/297.05 = [le(x, y)] 771.19/297.05 771.19/297.05 [plus(x, y)] = [1] y + [1] 771.19/297.05 ? [1] y + [7] 771.19/297.05 = [plusIter(x, y, 0())] 771.19/297.05 771.19/297.05 [inc(0())] = [13] 771.19/297.05 > [6] 771.19/297.05 = [0()] 771.19/297.05 771.19/297.05 [inc(s(i))] = [1] i + [14] 771.19/297.05 >= [1] i + [14] 771.19/297.05 = [s(inc(i))] 771.19/297.05 771.19/297.05 [if2(true(), x, y, i, j)] = [1] x + [1] i + [1] j + [14] 771.19/297.05 >= [1] x + [1] j + [14] 771.19/297.05 = [div2(minus(x, y), y, j)] 771.19/297.05 771.19/297.05 [if2(false(), x, y, i, j)] = [1] x + [1] i + [1] j + [14] 771.19/297.05 > [1] i + [0] 771.19/297.05 = [i] 771.19/297.05 771.19/297.05 [minus(x, 0())] = [1] x + [7] 771.19/297.05 > [1] x + [0] 771.19/297.05 = [x] 771.19/297.05 771.19/297.05 [minus(0(), y)] = [13] 771.19/297.05 > [6] 771.19/297.05 = [0()] 771.19/297.05 771.19/297.05 [minus(s(x), s(y))] = [1] x + [14] 771.19/297.05 > [1] x + [7] 771.19/297.05 = [minus(x, y)] 771.19/297.05 771.19/297.05 [plusIter(x, y, z)] = [1] y + [1] z + [1] 771.19/297.05 ? [1] y + [1] z + [7] 771.19/297.05 = [ifPlus(le(x, z), x, y, z)] 771.19/297.05 771.19/297.05 [ifPlus(true(), x, y, z)] = [1] y + [1] z + [14] 771.19/297.05 > [1] y + [0] 771.19/297.05 = [y] 771.19/297.05 771.19/297.05 [ifPlus(false(), x, y, z)] = [1] y + [1] z + [14] 771.19/297.05 ? [1] y + [1] z + [15] 771.19/297.05 = [plusIter(x, s(y), s(z))] 771.19/297.05 771.19/297.05 [a()] = [7] 771.19/297.05 > [3] 771.19/297.05 = [c()] 771.19/297.05 771.19/297.05 [a()] = [7] 771.19/297.05 > [6] 771.19/297.05 = [d()] 771.19/297.05 771.19/297.05 771.19/297.05 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.05 771.19/297.05 We are left with following problem, upon which TcT provides the 771.19/297.05 certificate MAYBE. 771.19/297.05 771.19/297.05 Strict Trs: 771.19/297.05 { div(x, y) -> div2(x, y, 0()) 771.19/297.05 , div2(x, y, i) -> 771.19/297.05 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.05 , le(0(), y) -> true() 771.19/297.05 , le(s(x), 0()) -> false() 771.19/297.05 , le(s(x), s(y)) -> le(x, y) 771.19/297.05 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.05 , inc(s(i)) -> s(inc(i)) 771.19/297.05 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.05 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) 771.19/297.05 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) } 771.19/297.05 Weak Trs: 771.19/297.05 { if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.05 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.05 , inc(0()) -> 0() 771.19/297.05 , if2(false(), x, y, i, j) -> i 771.19/297.05 , minus(x, 0()) -> x 771.19/297.05 , minus(0(), y) -> 0() 771.19/297.05 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.05 , ifPlus(true(), x, y, z) -> y 771.19/297.05 , a() -> c() 771.19/297.05 , a() -> d() } 771.19/297.05 Obligation: 771.19/297.05 innermost runtime complexity 771.19/297.05 Answer: 771.19/297.05 MAYBE 771.19/297.05 771.19/297.05 The weightgap principle applies (using the following nonconstant 771.19/297.05 growth matrix-interpretation) 771.19/297.05 771.19/297.05 The following argument positions are usable: 771.19/297.05 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.05 Uargs(ifPlus) = {1} 771.19/297.05 771.19/297.05 TcT has computed the following matrix interpretation satisfying 771.19/297.05 not(EDA) and not(IDA(1)). 771.19/297.05 771.19/297.05 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.05 771.19/297.05 [div2](x1, x2, x3) = [1] x1 + [0] 771.19/297.05 771.19/297.05 [0] = [0] 771.19/297.05 771.19/297.05 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x5 + [1] x6 + [0] 771.19/297.05 771.19/297.05 [le](x1, x2) = [0] 771.19/297.05 771.19/297.05 [plus](x1, x2) = [1] x2 + [0] 771.19/297.05 771.19/297.05 [inc](x1) = [0] 771.19/297.05 771.19/297.05 [true] = [1] 771.19/297.05 771.19/297.05 [divZeroError] = [1] 771.19/297.05 771.19/297.05 [false] = [0] 771.19/297.05 771.19/297.05 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x4 + [1] x5 + [0] 771.19/297.05 771.19/297.05 [minus](x1, x2) = [1] x1 + [7] 771.19/297.05 771.19/297.05 [s](x1) = [1] x1 + [0] 771.19/297.05 771.19/297.05 [plusIter](x1, x2, x3) = [1] x2 + [0] 771.19/297.05 771.19/297.05 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x3 + [0] 771.19/297.05 771.19/297.05 [a] = [7] 771.19/297.05 771.19/297.05 [c] = [7] 771.19/297.05 771.19/297.05 [d] = [7] 771.19/297.05 771.19/297.05 The order satisfies the following ordering constraints: 771.19/297.05 771.19/297.05 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.05 > [1] x + [0] 771.19/297.05 = [div2(x, y, 0())] 771.19/297.05 771.19/297.05 [div2(x, y, i)] = [1] x + [0] 771.19/297.05 >= [1] x + [0] 771.19/297.05 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.05 771.19/297.05 [if1(true(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [1] 771.19/297.05 >= [1] 771.19/297.05 = [divZeroError()] 771.19/297.05 771.19/297.05 [if1(false(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [0] 771.19/297.05 >= [1] x + [1] i + [1] b + [1] j + [0] 771.19/297.05 = [if2(b, x, y, i, j)] 771.19/297.05 771.19/297.05 [le(0(), y)] = [0] 771.19/297.05 ? [1] 771.19/297.05 = [true()] 771.19/297.05 771.19/297.05 [le(s(x), 0())] = [0] 771.19/297.05 >= [0] 771.19/297.05 = [false()] 771.19/297.05 771.19/297.05 [le(s(x), s(y))] = [0] 771.19/297.05 >= [0] 771.19/297.05 = [le(x, y)] 771.19/297.05 771.19/297.05 [plus(x, y)] = [1] y + [0] 771.19/297.05 >= [1] y + [0] 771.19/297.05 = [plusIter(x, y, 0())] 771.19/297.05 771.19/297.05 [inc(0())] = [0] 771.19/297.05 >= [0] 771.19/297.05 = [0()] 771.19/297.05 771.19/297.05 [inc(s(i))] = [0] 771.19/297.05 >= [0] 771.19/297.05 = [s(inc(i))] 771.19/297.05 771.19/297.05 [if2(true(), x, y, i, j)] = [1] x + [1] i + [1] j + [1] 771.19/297.05 ? [1] x + [7] 771.19/297.05 = [div2(minus(x, y), y, j)] 771.19/297.05 771.19/297.05 [if2(false(), x, y, i, j)] = [1] x + [1] i + [1] j + [0] 771.19/297.05 >= [1] i + [0] 771.19/297.05 = [i] 771.19/297.05 771.19/297.05 [minus(x, 0())] = [1] x + [7] 771.19/297.05 > [1] x + [0] 771.19/297.05 = [x] 771.19/297.05 771.19/297.05 [minus(0(), y)] = [7] 771.19/297.05 > [0] 771.19/297.05 = [0()] 771.19/297.05 771.19/297.05 [minus(s(x), s(y))] = [1] x + [7] 771.19/297.05 >= [1] x + [7] 771.19/297.05 = [minus(x, y)] 771.19/297.05 771.19/297.05 [plusIter(x, y, z)] = [1] y + [0] 771.19/297.05 >= [1] y + [0] 771.19/297.05 = [ifPlus(le(x, z), x, y, z)] 771.19/297.05 771.19/297.05 [ifPlus(true(), x, y, z)] = [1] y + [1] 771.19/297.05 > [1] y + [0] 771.19/297.05 = [y] 771.19/297.05 771.19/297.05 [ifPlus(false(), x, y, z)] = [1] y + [0] 771.19/297.05 >= [1] y + [0] 771.19/297.05 = [plusIter(x, s(y), s(z))] 771.19/297.05 771.19/297.05 [a()] = [7] 771.19/297.05 >= [7] 771.19/297.05 = [c()] 771.19/297.05 771.19/297.05 [a()] = [7] 771.19/297.05 >= [7] 771.19/297.05 = [d()] 771.19/297.05 771.19/297.05 771.19/297.05 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.05 771.19/297.05 We are left with following problem, upon which TcT provides the 771.19/297.05 certificate MAYBE. 771.19/297.05 771.19/297.05 Strict Trs: 771.19/297.05 { div2(x, y, i) -> 771.19/297.05 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.05 , le(0(), y) -> true() 771.19/297.05 , le(s(x), 0()) -> false() 771.19/297.05 , le(s(x), s(y)) -> le(x, y) 771.19/297.05 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.05 , inc(s(i)) -> s(inc(i)) 771.19/297.05 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.05 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) 771.19/297.05 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) } 771.19/297.05 Weak Trs: 771.19/297.05 { div(x, y) -> div2(x, y, 0()) 771.19/297.05 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.05 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.05 , inc(0()) -> 0() 771.19/297.05 , if2(false(), x, y, i, j) -> i 771.19/297.05 , minus(x, 0()) -> x 771.19/297.05 , minus(0(), y) -> 0() 771.19/297.05 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.05 , ifPlus(true(), x, y, z) -> y 771.19/297.05 , a() -> c() 771.19/297.05 , a() -> d() } 771.19/297.05 Obligation: 771.19/297.05 innermost runtime complexity 771.19/297.05 Answer: 771.19/297.05 MAYBE 771.19/297.05 771.19/297.05 The weightgap principle applies (using the following nonconstant 771.19/297.05 growth matrix-interpretation) 771.19/297.05 771.19/297.05 The following argument positions are usable: 771.19/297.05 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.05 Uargs(ifPlus) = {1} 771.19/297.05 771.19/297.05 TcT has computed the following matrix interpretation satisfying 771.19/297.05 not(EDA) and not(IDA(1)). 771.19/297.05 771.19/297.05 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.05 771.19/297.05 [div2](x1, x2, x3) = [1] x1 + [1] x3 + [0] 771.19/297.05 771.19/297.05 [0] = [0] 771.19/297.05 771.19/297.05 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x5 + [1] x6 + [0] 771.19/297.05 771.19/297.05 [le](x1, x2) = [0] 771.19/297.05 771.19/297.05 [plus](x1, x2) = [1] x1 + [1] x2 + [4] 771.19/297.05 771.19/297.05 [inc](x1) = [0] 771.19/297.05 771.19/297.06 [true] = [1] 771.19/297.06 771.19/297.06 [divZeroError] = [1] 771.19/297.06 771.19/297.06 [false] = [4] 771.19/297.06 771.19/297.06 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x4 + [1] x5 + [0] 771.19/297.06 771.19/297.06 [minus](x1, x2) = [1] x1 + [7] 771.19/297.06 771.19/297.06 [s](x1) = [1] x1 + [0] 771.19/297.06 771.19/297.06 [plusIter](x1, x2, x3) = [1] x2 + [0] 771.19/297.06 771.19/297.06 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x3 + [0] 771.19/297.06 771.19/297.06 [a] = [7] 771.19/297.06 771.19/297.06 [c] = [7] 771.19/297.06 771.19/297.06 [d] = [7] 771.19/297.06 771.19/297.06 The order satisfies the following ordering constraints: 771.19/297.06 771.19/297.06 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.06 > [1] x + [0] 771.19/297.06 = [div2(x, y, 0())] 771.19/297.06 771.19/297.06 [div2(x, y, i)] = [1] x + [1] i + [0] 771.19/297.06 ? [1] x + [1] i + [4] 771.19/297.06 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.06 771.19/297.06 [if1(true(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [1] 771.19/297.06 >= [1] 771.19/297.06 = [divZeroError()] 771.19/297.06 771.19/297.06 [if1(false(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [4] 771.19/297.06 > [1] x + [1] i + [1] b + [1] j + [0] 771.19/297.06 = [if2(b, x, y, i, j)] 771.19/297.06 771.19/297.06 [le(0(), y)] = [0] 771.19/297.06 ? [1] 771.19/297.06 = [true()] 771.19/297.06 771.19/297.06 [le(s(x), 0())] = [0] 771.19/297.06 ? [4] 771.19/297.06 = [false()] 771.19/297.06 771.19/297.06 [le(s(x), s(y))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [le(x, y)] 771.19/297.06 771.19/297.06 [plus(x, y)] = [1] x + [1] y + [4] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [plusIter(x, y, 0())] 771.19/297.06 771.19/297.06 [inc(0())] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [inc(s(i))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [s(inc(i))] 771.19/297.06 771.19/297.06 [if2(true(), x, y, i, j)] = [1] x + [1] i + [1] j + [1] 771.19/297.06 ? [1] x + [1] j + [7] 771.19/297.06 = [div2(minus(x, y), y, j)] 771.19/297.06 771.19/297.06 [if2(false(), x, y, i, j)] = [1] x + [1] i + [1] j + [4] 771.19/297.06 > [1] i + [0] 771.19/297.06 = [i] 771.19/297.06 771.19/297.06 [minus(x, 0())] = [1] x + [7] 771.19/297.06 > [1] x + [0] 771.19/297.06 = [x] 771.19/297.06 771.19/297.06 [minus(0(), y)] = [7] 771.19/297.06 > [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [minus(s(x), s(y))] = [1] x + [7] 771.19/297.06 >= [1] x + [7] 771.19/297.06 = [minus(x, y)] 771.19/297.06 771.19/297.06 [plusIter(x, y, z)] = [1] y + [0] 771.19/297.06 >= [1] y + [0] 771.19/297.06 = [ifPlus(le(x, z), x, y, z)] 771.19/297.06 771.19/297.06 [ifPlus(true(), x, y, z)] = [1] y + [1] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [y] 771.19/297.06 771.19/297.06 [ifPlus(false(), x, y, z)] = [1] y + [4] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [plusIter(x, s(y), s(z))] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [c()] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [d()] 771.19/297.06 771.19/297.06 771.19/297.06 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.06 771.19/297.06 We are left with following problem, upon which TcT provides the 771.19/297.06 certificate MAYBE. 771.19/297.06 771.19/297.06 Strict Trs: 771.19/297.06 { div2(x, y, i) -> 771.19/297.06 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.06 , le(0(), y) -> true() 771.19/297.06 , le(s(x), 0()) -> false() 771.19/297.06 , le(s(x), s(y)) -> le(x, y) 771.19/297.06 , inc(s(i)) -> s(inc(i)) 771.19/297.06 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.06 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) } 771.19/297.06 Weak Trs: 771.19/297.06 { div(x, y) -> div2(x, y, 0()) 771.19/297.06 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.06 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.06 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.06 , inc(0()) -> 0() 771.19/297.06 , if2(false(), x, y, i, j) -> i 771.19/297.06 , minus(x, 0()) -> x 771.19/297.06 , minus(0(), y) -> 0() 771.19/297.06 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.06 , ifPlus(true(), x, y, z) -> y 771.19/297.06 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) 771.19/297.06 , a() -> c() 771.19/297.06 , a() -> d() } 771.19/297.06 Obligation: 771.19/297.06 innermost runtime complexity 771.19/297.06 Answer: 771.19/297.06 MAYBE 771.19/297.06 771.19/297.06 The weightgap principle applies (using the following nonconstant 771.19/297.06 growth matrix-interpretation) 771.19/297.06 771.19/297.06 The following argument positions are usable: 771.19/297.06 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.06 Uargs(ifPlus) = {1} 771.19/297.06 771.19/297.06 TcT has computed the following matrix interpretation satisfying 771.19/297.06 not(EDA) and not(IDA(1)). 771.19/297.06 771.19/297.06 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.06 771.19/297.06 [div2](x1, x2, x3) = [1] x1 + [1] x3 + [6] 771.19/297.06 771.19/297.06 [0] = [0] 771.19/297.06 771.19/297.06 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x5 + [1] x6 + [0] 771.19/297.06 771.19/297.06 [le](x1, x2) = [0] 771.19/297.06 771.19/297.06 [plus](x1, x2) = [1] x1 + [1] x2 + [4] 771.19/297.06 771.19/297.06 [inc](x1) = [0] 771.19/297.06 771.19/297.06 [true] = [1] 771.19/297.06 771.19/297.06 [divZeroError] = [1] 771.19/297.06 771.19/297.06 [false] = [4] 771.19/297.06 771.19/297.06 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x4 + [1] x5 + [0] 771.19/297.06 771.19/297.06 [minus](x1, x2) = [1] x1 + [1] 771.19/297.06 771.19/297.06 [s](x1) = [1] x1 + [0] 771.19/297.06 771.19/297.06 [plusIter](x1, x2, x3) = [1] x2 + [0] 771.19/297.06 771.19/297.06 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x3 + [0] 771.19/297.06 771.19/297.06 [a] = [7] 771.19/297.06 771.19/297.06 [c] = [7] 771.19/297.06 771.19/297.06 [d] = [7] 771.19/297.06 771.19/297.06 The order satisfies the following ordering constraints: 771.19/297.06 771.19/297.06 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.06 > [1] x + [6] 771.19/297.06 = [div2(x, y, 0())] 771.19/297.06 771.19/297.06 [div2(x, y, i)] = [1] x + [1] i + [6] 771.19/297.06 > [1] x + [1] i + [4] 771.19/297.06 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.06 771.19/297.06 [if1(true(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [1] 771.19/297.06 >= [1] 771.19/297.06 = [divZeroError()] 771.19/297.06 771.19/297.06 [if1(false(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [4] 771.19/297.06 > [1] x + [1] i + [1] b + [1] j + [0] 771.19/297.06 = [if2(b, x, y, i, j)] 771.19/297.06 771.19/297.06 [le(0(), y)] = [0] 771.19/297.06 ? [1] 771.19/297.06 = [true()] 771.19/297.06 771.19/297.06 [le(s(x), 0())] = [0] 771.19/297.06 ? [4] 771.19/297.06 = [false()] 771.19/297.06 771.19/297.06 [le(s(x), s(y))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [le(x, y)] 771.19/297.06 771.19/297.06 [plus(x, y)] = [1] x + [1] y + [4] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [plusIter(x, y, 0())] 771.19/297.06 771.19/297.06 [inc(0())] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [inc(s(i))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [s(inc(i))] 771.19/297.06 771.19/297.06 [if2(true(), x, y, i, j)] = [1] x + [1] i + [1] j + [1] 771.19/297.06 ? [1] x + [1] j + [7] 771.19/297.06 = [div2(minus(x, y), y, j)] 771.19/297.06 771.19/297.06 [if2(false(), x, y, i, j)] = [1] x + [1] i + [1] j + [4] 771.19/297.06 > [1] i + [0] 771.19/297.06 = [i] 771.19/297.06 771.19/297.06 [minus(x, 0())] = [1] x + [1] 771.19/297.06 > [1] x + [0] 771.19/297.06 = [x] 771.19/297.06 771.19/297.06 [minus(0(), y)] = [1] 771.19/297.06 > [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [minus(s(x), s(y))] = [1] x + [1] 771.19/297.06 >= [1] x + [1] 771.19/297.06 = [minus(x, y)] 771.19/297.06 771.19/297.06 [plusIter(x, y, z)] = [1] y + [0] 771.19/297.06 >= [1] y + [0] 771.19/297.06 = [ifPlus(le(x, z), x, y, z)] 771.19/297.06 771.19/297.06 [ifPlus(true(), x, y, z)] = [1] y + [1] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [y] 771.19/297.06 771.19/297.06 [ifPlus(false(), x, y, z)] = [1] y + [4] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [plusIter(x, s(y), s(z))] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [c()] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [d()] 771.19/297.06 771.19/297.06 771.19/297.06 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.06 771.19/297.06 We are left with following problem, upon which TcT provides the 771.19/297.06 certificate MAYBE. 771.19/297.06 771.19/297.06 Strict Trs: 771.19/297.06 { le(0(), y) -> true() 771.19/297.06 , le(s(x), 0()) -> false() 771.19/297.06 , le(s(x), s(y)) -> le(x, y) 771.19/297.06 , inc(s(i)) -> s(inc(i)) 771.19/297.06 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.06 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) } 771.19/297.06 Weak Trs: 771.19/297.06 { div(x, y) -> div2(x, y, 0()) 771.19/297.06 , div2(x, y, i) -> 771.19/297.06 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.06 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.06 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.06 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.06 , inc(0()) -> 0() 771.19/297.06 , if2(false(), x, y, i, j) -> i 771.19/297.06 , minus(x, 0()) -> x 771.19/297.06 , minus(0(), y) -> 0() 771.19/297.06 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.06 , ifPlus(true(), x, y, z) -> y 771.19/297.06 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) 771.19/297.06 , a() -> c() 771.19/297.06 , a() -> d() } 771.19/297.06 Obligation: 771.19/297.06 innermost runtime complexity 771.19/297.06 Answer: 771.19/297.06 MAYBE 771.19/297.06 771.19/297.06 The weightgap principle applies (using the following nonconstant 771.19/297.06 growth matrix-interpretation) 771.19/297.06 771.19/297.06 The following argument positions are usable: 771.19/297.06 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.06 Uargs(ifPlus) = {1} 771.19/297.06 771.19/297.06 TcT has computed the following matrix interpretation satisfying 771.19/297.06 not(EDA) and not(IDA(1)). 771.19/297.06 771.19/297.06 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.06 771.19/297.06 [div2](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [4] 771.19/297.06 771.19/297.06 [0] = [0] 771.19/297.06 771.19/297.06 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x4 + [1] x5 + [1] x6 + [0] 771.19/297.06 771.19/297.06 [le](x1, x2) = [0] 771.19/297.06 771.19/297.06 [plus](x1, x2) = [1] x1 + [1] x2 + [4] 771.19/297.06 771.19/297.06 [inc](x1) = [0] 771.19/297.06 771.19/297.06 [true] = [5] 771.19/297.06 771.19/297.06 [divZeroError] = [5] 771.19/297.06 771.19/297.06 [false] = [1] 771.19/297.06 771.19/297.06 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x3 + [1] x4 + [1] x5 + [0] 771.19/297.06 771.19/297.06 [minus](x1, x2) = [1] x1 + [7] 771.19/297.06 771.19/297.06 [s](x1) = [1] x1 + [0] 771.19/297.06 771.19/297.06 [plusIter](x1, x2, x3) = [1] x1 + [1] x2 + [1] 771.19/297.06 771.19/297.06 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x2 + [1] x3 + [0] 771.19/297.06 771.19/297.06 [a] = [7] 771.19/297.06 771.19/297.06 [c] = [7] 771.19/297.06 771.19/297.06 [d] = [7] 771.19/297.06 771.19/297.06 The order satisfies the following ordering constraints: 771.19/297.06 771.19/297.06 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.06 > [1] x + [1] y + [4] 771.19/297.06 = [div2(x, y, 0())] 771.19/297.06 771.19/297.06 [div2(x, y, i)] = [1] x + [1] y + [1] i + [4] 771.19/297.06 >= [1] x + [1] y + [1] i + [4] 771.19/297.06 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.06 771.19/297.06 [if1(true(), b, x, y, i, j)] = [1] x + [1] y + [1] i + [1] b + [1] j + [5] 771.19/297.06 >= [5] 771.19/297.06 = [divZeroError()] 771.19/297.06 771.19/297.06 [if1(false(), b, x, y, i, j)] = [1] x + [1] y + [1] i + [1] b + [1] j + [1] 771.19/297.06 > [1] x + [1] y + [1] i + [1] b + [1] j + [0] 771.19/297.06 = [if2(b, x, y, i, j)] 771.19/297.06 771.19/297.06 [le(0(), y)] = [0] 771.19/297.06 ? [5] 771.19/297.06 = [true()] 771.19/297.06 771.19/297.06 [le(s(x), 0())] = [0] 771.19/297.06 ? [1] 771.19/297.06 = [false()] 771.19/297.06 771.19/297.06 [le(s(x), s(y))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [le(x, y)] 771.19/297.06 771.19/297.06 [plus(x, y)] = [1] x + [1] y + [4] 771.19/297.06 > [1] x + [1] y + [1] 771.19/297.06 = [plusIter(x, y, 0())] 771.19/297.06 771.19/297.06 [inc(0())] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [inc(s(i))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [s(inc(i))] 771.19/297.06 771.19/297.06 [if2(true(), x, y, i, j)] = [1] x + [1] y + [1] i + [1] j + [5] 771.19/297.06 ? [1] x + [1] y + [1] j + [11] 771.19/297.06 = [div2(minus(x, y), y, j)] 771.19/297.06 771.19/297.06 [if2(false(), x, y, i, j)] = [1] x + [1] y + [1] i + [1] j + [1] 771.19/297.06 > [1] i + [0] 771.19/297.06 = [i] 771.19/297.06 771.19/297.06 [minus(x, 0())] = [1] x + [7] 771.19/297.06 > [1] x + [0] 771.19/297.06 = [x] 771.19/297.06 771.19/297.06 [minus(0(), y)] = [7] 771.19/297.06 > [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [minus(s(x), s(y))] = [1] x + [7] 771.19/297.06 >= [1] x + [7] 771.19/297.06 = [minus(x, y)] 771.19/297.06 771.19/297.06 [plusIter(x, y, z)] = [1] x + [1] y + [1] 771.19/297.06 > [1] x + [1] y + [0] 771.19/297.06 = [ifPlus(le(x, z), x, y, z)] 771.19/297.06 771.19/297.06 [ifPlus(true(), x, y, z)] = [1] x + [1] y + [5] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [y] 771.19/297.06 771.19/297.06 [ifPlus(false(), x, y, z)] = [1] x + [1] y + [1] 771.19/297.06 >= [1] x + [1] y + [1] 771.19/297.06 = [plusIter(x, s(y), s(z))] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [c()] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [d()] 771.19/297.06 771.19/297.06 771.19/297.06 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.06 771.19/297.06 We are left with following problem, upon which TcT provides the 771.19/297.06 certificate MAYBE. 771.19/297.06 771.19/297.06 Strict Trs: 771.19/297.06 { le(0(), y) -> true() 771.19/297.06 , le(s(x), 0()) -> false() 771.19/297.06 , le(s(x), s(y)) -> le(x, y) 771.19/297.06 , inc(s(i)) -> s(inc(i)) 771.19/297.06 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) } 771.19/297.06 Weak Trs: 771.19/297.06 { div(x, y) -> div2(x, y, 0()) 771.19/297.06 , div2(x, y, i) -> 771.19/297.06 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.06 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.06 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.06 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.06 , inc(0()) -> 0() 771.19/297.06 , if2(false(), x, y, i, j) -> i 771.19/297.06 , minus(x, 0()) -> x 771.19/297.06 , minus(0(), y) -> 0() 771.19/297.06 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.06 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) 771.19/297.06 , ifPlus(true(), x, y, z) -> y 771.19/297.06 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) 771.19/297.06 , a() -> c() 771.19/297.06 , a() -> d() } 771.19/297.06 Obligation: 771.19/297.06 innermost runtime complexity 771.19/297.06 Answer: 771.19/297.06 MAYBE 771.19/297.06 771.19/297.06 The weightgap principle applies (using the following nonconstant 771.19/297.06 growth matrix-interpretation) 771.19/297.06 771.19/297.06 The following argument positions are usable: 771.19/297.06 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.06 Uargs(ifPlus) = {1} 771.19/297.06 771.19/297.06 TcT has computed the following matrix interpretation satisfying 771.19/297.06 not(EDA) and not(IDA(1)). 771.19/297.06 771.19/297.06 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.06 771.19/297.06 [div2](x1, x2, x3) = [1] x1 + [1] x3 + [6] 771.19/297.06 771.19/297.06 [0] = [0] 771.19/297.06 771.19/297.06 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x5 + [1] x6 + [1] 771.19/297.06 771.19/297.06 [le](x1, x2) = [0] 771.19/297.06 771.19/297.06 [plus](x1, x2) = [1] x1 + [1] x2 + [4] 771.19/297.06 771.19/297.06 [inc](x1) = [0] 771.19/297.06 771.19/297.06 [true] = [7] 771.19/297.06 771.19/297.06 [divZeroError] = [0] 771.19/297.06 771.19/297.06 [false] = [4] 771.19/297.06 771.19/297.06 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x4 + [1] x5 + [5] 771.19/297.06 771.19/297.06 [minus](x1, x2) = [1] x1 + [3] 771.19/297.06 771.19/297.06 [s](x1) = [1] x1 + [0] 771.19/297.06 771.19/297.06 [plusIter](x1, x2, x3) = [1] x1 + [1] x2 + [0] 771.19/297.06 771.19/297.06 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x2 + [1] x3 + [0] 771.19/297.06 771.19/297.06 [a] = [7] 771.19/297.06 771.19/297.06 [c] = [7] 771.19/297.06 771.19/297.06 [d] = [7] 771.19/297.06 771.19/297.06 The order satisfies the following ordering constraints: 771.19/297.06 771.19/297.06 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.06 > [1] x + [6] 771.19/297.06 = [div2(x, y, 0())] 771.19/297.06 771.19/297.06 [div2(x, y, i)] = [1] x + [1] i + [6] 771.19/297.06 > [1] x + [1] i + [5] 771.19/297.06 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.06 771.19/297.06 [if1(true(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [8] 771.19/297.06 > [0] 771.19/297.06 = [divZeroError()] 771.19/297.06 771.19/297.06 [if1(false(), b, x, y, i, j)] = [1] x + [1] i + [1] b + [1] j + [5] 771.19/297.06 >= [1] x + [1] i + [1] b + [1] j + [5] 771.19/297.06 = [if2(b, x, y, i, j)] 771.19/297.06 771.19/297.06 [le(0(), y)] = [0] 771.19/297.06 ? [7] 771.19/297.06 = [true()] 771.19/297.06 771.19/297.06 [le(s(x), 0())] = [0] 771.19/297.06 ? [4] 771.19/297.06 = [false()] 771.19/297.06 771.19/297.06 [le(s(x), s(y))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [le(x, y)] 771.19/297.06 771.19/297.06 [plus(x, y)] = [1] x + [1] y + [4] 771.19/297.06 > [1] x + [1] y + [0] 771.19/297.06 = [plusIter(x, y, 0())] 771.19/297.06 771.19/297.06 [inc(0())] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [inc(s(i))] = [0] 771.19/297.06 >= [0] 771.19/297.06 = [s(inc(i))] 771.19/297.06 771.19/297.06 [if2(true(), x, y, i, j)] = [1] x + [1] i + [1] j + [12] 771.19/297.06 > [1] x + [1] j + [9] 771.19/297.06 = [div2(minus(x, y), y, j)] 771.19/297.06 771.19/297.06 [if2(false(), x, y, i, j)] = [1] x + [1] i + [1] j + [9] 771.19/297.06 > [1] i + [0] 771.19/297.06 = [i] 771.19/297.06 771.19/297.06 [minus(x, 0())] = [1] x + [3] 771.19/297.06 > [1] x + [0] 771.19/297.06 = [x] 771.19/297.06 771.19/297.06 [minus(0(), y)] = [3] 771.19/297.06 > [0] 771.19/297.06 = [0()] 771.19/297.06 771.19/297.06 [minus(s(x), s(y))] = [1] x + [3] 771.19/297.06 >= [1] x + [3] 771.19/297.06 = [minus(x, y)] 771.19/297.06 771.19/297.06 [plusIter(x, y, z)] = [1] x + [1] y + [0] 771.19/297.06 >= [1] x + [1] y + [0] 771.19/297.06 = [ifPlus(le(x, z), x, y, z)] 771.19/297.06 771.19/297.06 [ifPlus(true(), x, y, z)] = [1] x + [1] y + [7] 771.19/297.06 > [1] y + [0] 771.19/297.06 = [y] 771.19/297.06 771.19/297.06 [ifPlus(false(), x, y, z)] = [1] x + [1] y + [4] 771.19/297.06 > [1] x + [1] y + [0] 771.19/297.06 = [plusIter(x, s(y), s(z))] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [c()] 771.19/297.06 771.19/297.06 [a()] = [7] 771.19/297.06 >= [7] 771.19/297.06 = [d()] 771.19/297.06 771.19/297.06 771.19/297.06 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.06 771.19/297.06 We are left with following problem, upon which TcT provides the 771.19/297.06 certificate MAYBE. 771.19/297.06 771.19/297.06 Strict Trs: 771.19/297.06 { le(0(), y) -> true() 771.19/297.06 , le(s(x), 0()) -> false() 771.19/297.06 , le(s(x), s(y)) -> le(x, y) 771.19/297.06 , inc(s(i)) -> s(inc(i)) } 771.19/297.06 Weak Trs: 771.19/297.06 { div(x, y) -> div2(x, y, 0()) 771.19/297.06 , div2(x, y, i) -> 771.19/297.06 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.06 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.06 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.06 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.06 , inc(0()) -> 0() 771.19/297.06 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.06 , if2(false(), x, y, i, j) -> i 771.19/297.06 , minus(x, 0()) -> x 771.19/297.06 , minus(0(), y) -> 0() 771.19/297.06 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.06 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) 771.19/297.06 , ifPlus(true(), x, y, z) -> y 771.19/297.06 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) 771.19/297.06 , a() -> c() 771.19/297.06 , a() -> d() } 771.19/297.06 Obligation: 771.19/297.06 innermost runtime complexity 771.19/297.06 Answer: 771.19/297.06 MAYBE 771.19/297.06 771.19/297.06 The weightgap principle applies (using the following nonconstant 771.19/297.06 growth matrix-interpretation) 771.19/297.06 771.19/297.06 The following argument positions are usable: 771.19/297.06 Uargs(div2) = {1}, Uargs(if1) = {1, 2, 5, 6}, Uargs(s) = {1}, 771.19/297.06 Uargs(ifPlus) = {1} 771.19/297.06 771.19/297.06 TcT has computed the following matrix interpretation satisfying 771.19/297.06 not(EDA) and not(IDA(1)). 771.19/297.06 771.19/297.06 [div](x1, x2) = [1] x1 + [1] x2 + [7] 771.19/297.06 771.19/297.06 [div2](x1, x2, x3) = [1] x1 + [1] x2 + [1] x3 + [5] 771.19/297.06 771.19/297.06 [0] = [0] 771.19/297.07 771.19/297.07 [if1](x1, x2, x3, x4, x5, x6) = [1] x1 + [1] x2 + [1] x3 + [1] x4 + [1] x5 + [1] x6 + [0] 771.19/297.07 771.19/297.07 [le](x1, x2) = [1] 771.19/297.07 771.19/297.07 [plus](x1, x2) = [1] x2 + [3] 771.19/297.07 771.19/297.07 [inc](x1) = [0] 771.19/297.07 771.19/297.07 [true] = [0] 771.19/297.07 771.19/297.07 [divZeroError] = [0] 771.19/297.07 771.19/297.07 [false] = [5] 771.19/297.07 771.19/297.07 [if2](x1, x2, x3, x4, x5) = [1] x1 + [1] x2 + [1] x3 + [1] x4 + [1] x5 + [5] 771.19/297.07 771.19/297.07 [minus](x1, x2) = [1] x1 + [0] 771.19/297.07 771.19/297.07 [s](x1) = [1] x1 + [0] 771.19/297.07 771.19/297.07 [plusIter](x1, x2, x3) = [1] x2 + [1] 771.19/297.07 771.19/297.07 [ifPlus](x1, x2, x3, x4) = [1] x1 + [1] x3 + [0] 771.19/297.07 771.19/297.07 [a] = [7] 771.19/297.07 771.19/297.07 [c] = [7] 771.19/297.07 771.19/297.07 [d] = [7] 771.19/297.07 771.19/297.07 The order satisfies the following ordering constraints: 771.19/297.07 771.19/297.07 [div(x, y)] = [1] x + [1] y + [7] 771.19/297.07 > [1] x + [1] y + [5] 771.19/297.07 = [div2(x, y, 0())] 771.19/297.07 771.19/297.07 [div2(x, y, i)] = [1] x + [1] y + [1] i + [5] 771.19/297.07 >= [1] x + [1] y + [5] 771.19/297.07 = [if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i))] 771.19/297.07 771.19/297.07 [if1(true(), b, x, y, i, j)] = [1] x + [1] y + [1] i + [1] b + [1] j + [0] 771.19/297.07 >= [0] 771.19/297.07 = [divZeroError()] 771.19/297.07 771.19/297.07 [if1(false(), b, x, y, i, j)] = [1] x + [1] y + [1] i + [1] b + [1] j + [5] 771.19/297.07 >= [1] x + [1] y + [1] i + [1] b + [1] j + [5] 771.19/297.07 = [if2(b, x, y, i, j)] 771.19/297.07 771.19/297.07 [le(0(), y)] = [1] 771.19/297.07 > [0] 771.19/297.07 = [true()] 771.19/297.07 771.19/297.07 [le(s(x), 0())] = [1] 771.19/297.07 ? [5] 771.19/297.07 = [false()] 771.19/297.07 771.19/297.07 [le(s(x), s(y))] = [1] 771.19/297.07 >= [1] 771.19/297.07 = [le(x, y)] 771.19/297.07 771.19/297.07 [plus(x, y)] = [1] y + [3] 771.19/297.07 > [1] y + [1] 771.19/297.07 = [plusIter(x, y, 0())] 771.19/297.07 771.19/297.07 [inc(0())] = [0] 771.19/297.07 >= [0] 771.19/297.07 = [0()] 771.19/297.07 771.19/297.07 [inc(s(i))] = [0] 771.19/297.07 >= [0] 771.19/297.07 = [s(inc(i))] 771.19/297.07 771.19/297.07 [if2(true(), x, y, i, j)] = [1] x + [1] y + [1] i + [1] j + [5] 771.19/297.07 >= [1] x + [1] y + [1] j + [5] 771.19/297.07 = [div2(minus(x, y), y, j)] 771.19/297.07 771.19/297.07 [if2(false(), x, y, i, j)] = [1] x + [1] y + [1] i + [1] j + [10] 771.19/297.07 > [1] i + [0] 771.19/297.07 = [i] 771.19/297.07 771.19/297.07 [minus(x, 0())] = [1] x + [0] 771.19/297.07 >= [1] x + [0] 771.19/297.07 = [x] 771.19/297.07 771.19/297.07 [minus(0(), y)] = [0] 771.19/297.07 >= [0] 771.19/297.07 = [0()] 771.19/297.07 771.19/297.07 [minus(s(x), s(y))] = [1] x + [0] 771.19/297.07 >= [1] x + [0] 771.19/297.07 = [minus(x, y)] 771.19/297.07 771.19/297.07 [plusIter(x, y, z)] = [1] y + [1] 771.19/297.07 >= [1] y + [1] 771.19/297.07 = [ifPlus(le(x, z), x, y, z)] 771.19/297.07 771.19/297.07 [ifPlus(true(), x, y, z)] = [1] y + [0] 771.19/297.07 >= [1] y + [0] 771.19/297.07 = [y] 771.19/297.07 771.19/297.07 [ifPlus(false(), x, y, z)] = [1] y + [5] 771.19/297.07 > [1] y + [1] 771.19/297.07 = [plusIter(x, s(y), s(z))] 771.19/297.07 771.19/297.07 [a()] = [7] 771.19/297.07 >= [7] 771.19/297.07 = [c()] 771.19/297.07 771.19/297.07 [a()] = [7] 771.19/297.07 >= [7] 771.19/297.07 = [d()] 771.19/297.07 771.19/297.07 771.19/297.07 Further, it can be verified that all rules not oriented are covered by the weightgap condition. 771.19/297.07 771.19/297.07 We are left with following problem, upon which TcT provides the 771.19/297.07 certificate MAYBE. 771.19/297.07 771.19/297.07 Strict Trs: 771.19/297.07 { le(s(x), 0()) -> false() 771.19/297.07 , le(s(x), s(y)) -> le(x, y) 771.19/297.07 , inc(s(i)) -> s(inc(i)) } 771.19/297.07 Weak Trs: 771.19/297.07 { div(x, y) -> div2(x, y, 0()) 771.19/297.07 , div2(x, y, i) -> 771.19/297.07 if1(le(y, 0()), le(y, x), x, y, plus(i, 0()), inc(i)) 771.19/297.07 , if1(true(), b, x, y, i, j) -> divZeroError() 771.19/297.07 , if1(false(), b, x, y, i, j) -> if2(b, x, y, i, j) 771.19/297.07 , le(0(), y) -> true() 771.19/297.07 , plus(x, y) -> plusIter(x, y, 0()) 771.19/297.07 , inc(0()) -> 0() 771.19/297.07 , if2(true(), x, y, i, j) -> div2(minus(x, y), y, j) 771.19/297.07 , if2(false(), x, y, i, j) -> i 771.19/297.07 , minus(x, 0()) -> x 771.19/297.07 , minus(0(), y) -> 0() 771.19/297.07 , minus(s(x), s(y)) -> minus(x, y) 771.19/297.07 , plusIter(x, y, z) -> ifPlus(le(x, z), x, y, z) 771.19/297.07 , ifPlus(true(), x, y, z) -> y 771.19/297.07 , ifPlus(false(), x, y, z) -> plusIter(x, s(y), s(z)) 771.19/297.07 , a() -> c() 771.19/297.07 , a() -> d() } 771.19/297.07 Obligation: 771.19/297.07 innermost runtime complexity 771.19/297.07 Answer: 771.19/297.07 MAYBE 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'empty' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 2) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'empty' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 2) 'Fastest' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'empty' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 2) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 771.19/297.07 2) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'empty' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 2) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'empty' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 2) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'empty' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 2) 'With Problem ...' failed due to the following reason: 771.19/297.07 771.19/297.07 Empty strict component of the problem is NOT empty. 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 2) 'Best' failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'bsearch-popstar (timeout of 297 seconds)' failed due to the 771.19/297.07 following reason: 771.19/297.07 771.19/297.07 The input cannot be shown compatible 771.19/297.07 771.19/297.07 2) 'Polynomial Path Order (PS) (timeout of 297 seconds)' failed due 771.19/297.07 to the following reason: 771.19/297.07 771.19/297.07 The input cannot be shown compatible 771.19/297.07 771.19/297.07 771.19/297.07 3) 'Fastest (timeout of 24 seconds) (timeout of 297 seconds)' 771.19/297.07 failed due to the following reason: 771.19/297.07 771.19/297.07 None of the processors succeeded. 771.19/297.07 771.19/297.07 Details of failed attempt(s): 771.19/297.07 ----------------------------- 771.19/297.07 1) 'Bounds with minimal-enrichment and initial automaton 'match'' 771.19/297.07 failed due to the following reason: 771.19/297.07 771.19/297.07 match-boundness of the problem could not be verified. 771.19/297.07 771.19/297.07 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' 771.19/297.07 failed due to the following reason: 771.19/297.07 771.19/297.07 match-boundness of the problem could not be verified. 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 771.19/297.07 Arrrr.. 771.65/297.42 EOF