MAYBE Time: 0.025829 TRS: { minus(x, 0()) -> x, minus(s x, s y) -> minus(x, y), le(0(), y) -> true(), le(s x, 0()) -> false(), le(s x, s y) -> le(x, y), quot(0(), s y) -> 0(), quot(s x, s y) -> s quot(minus(s x, s y), s y)} DP: DP: {minus#(s x, s y) -> minus#(x, y), le#(s x, s y) -> le#(x, y), quot#(s x, s y) -> minus#(s x, s y), quot#(s x, s y) -> quot#(minus(s x, s y), s y)} TRS: { minus(x, 0()) -> x, minus(s x, s y) -> minus(x, y), le(0(), y) -> true(), le(s x, 0()) -> false(), le(s x, s y) -> le(x, y), quot(0(), s y) -> 0(), quot(s x, s y) -> s quot(minus(s x, s y), s y)} UR: { minus(x, 0()) -> x, minus(s x, s y) -> minus(x, y)} EDG: {(quot#(s x, s y) -> quot#(minus(s x, s y), s y), quot#(s x, s y) -> quot#(minus(s x, s y), s y)) (quot#(s x, s y) -> quot#(minus(s x, s y), s y), quot#(s x, s y) -> minus#(s x, s y)) (le#(s x, s y) -> le#(x, y), le#(s x, s y) -> le#(x, y)) (minus#(s x, s y) -> minus#(x, y), minus#(s x, s y) -> minus#(x, y)) (quot#(s x, s y) -> minus#(s x, s y), minus#(s x, s y) -> minus#(x, y))} STATUS: arrows: 0.687500 SCCS (3): Scc: {le#(s x, s y) -> le#(x, y)} Scc: {quot#(s x, s y) -> quot#(minus(s x, s y), s y)} Scc: {minus#(s x, s y) -> minus#(x, y)} SCC (1): Strict: {le#(s x, s y) -> le#(x, y)} Weak: { minus(x, 0()) -> x, minus(s x, s y) -> minus(x, y), le(0(), y) -> true(), le(s x, 0()) -> false(), le(s x, s y) -> le(x, y), quot(0(), s y) -> 0(), quot(s x, s y) -> s quot(minus(s x, s y), s y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [minus](x0, x1) = x0 + 1, [le](x0, x1) = x0 + 1, [quot](x0, x1) = x0, [s](x0) = x0 + 1, [0] = 1, [true] = 0, [false] = 0, [le#](x0, x1) = x0 Strict: le#(s x, s y) -> le#(x, y) 1 + 0x + 1y >= 0 + 0x + 1y Weak: quot(s x, s y) -> s quot(minus(s x, s y), s y) 1 + 0x + 1y >= 2 + 0x + 1y quot(0(), s y) -> 0() 1 + 1y >= 1 le(s x, s y) -> le(x, y) 2 + 1x + 0y >= 1 + 1x + 0y le(s x, 0()) -> false() 2 + 1x >= 0 le(0(), y) -> true() 2 + 0y >= 0 minus(s x, s y) -> minus(x, y) 2 + 0x + 1y >= 1 + 0x + 1y minus(x, 0()) -> x 2 + 0x >= 1x Qed SCC (1): Strict: {quot#(s x, s y) -> quot#(minus(s x, s y), s y)} Weak: { minus(x, 0()) -> x, minus(s x, s y) -> minus(x, y), le(0(), y) -> true(), le(s x, 0()) -> false(), le(s x, s y) -> le(x, y), quot(0(), s y) -> 0(), quot(s x, s y) -> s quot(minus(s x, s y), s y)} Fail SCC (1): Strict: {minus#(s x, s y) -> minus#(x, y)} Weak: { minus(x, 0()) -> x, minus(s x, s y) -> minus(x, y), le(0(), y) -> true(), le(s x, 0()) -> false(), le(s x, s y) -> le(x, y), quot(0(), s y) -> 0(), quot(s x, s y) -> s quot(minus(s x, s y), s y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [minus](x0, x1) = x0 + 1, [le](x0, x1) = x0 + 1, [quot](x0, x1) = x0, [s](x0) = x0 + 1, [0] = 1, [true] = 0, [false] = 0, [minus#](x0, x1) = x0 Strict: minus#(s x, s y) -> minus#(x, y) 1 + 0x + 1y >= 0 + 0x + 1y Weak: quot(s x, s y) -> s quot(minus(s x, s y), s y) 1 + 0x + 1y >= 2 + 0x + 1y quot(0(), s y) -> 0() 1 + 1y >= 1 le(s x, s y) -> le(x, y) 2 + 1x + 0y >= 1 + 1x + 0y le(s x, 0()) -> false() 2 + 1x >= 0 le(0(), y) -> true() 2 + 0y >= 0 minus(s x, s y) -> minus(x, y) 2 + 0x + 1y >= 1 + 0x + 1y minus(x, 0()) -> x 2 + 0x >= 1x Qed