YES Time: 0.010757 TRS: { pred s x -> x, minus(x, s y) -> pred minus(x, y), minus(x, 0()) -> x, quot(s x, s y) -> s quot(minus(x, y), s y), quot(0(), s y) -> 0()} DP: DP: { minus#(x, s y) -> pred# minus(x, y), minus#(x, s y) -> minus#(x, y), quot#(s x, s y) -> minus#(x, y), quot#(s x, s y) -> quot#(minus(x, y), s y)} TRS: { pred s x -> x, minus(x, s y) -> pred minus(x, y), minus(x, 0()) -> x, quot(s x, s y) -> s quot(minus(x, y), s y), quot(0(), s y) -> 0()} UR: { pred s x -> x, minus(x, s y) -> pred minus(x, y), minus(x, 0()) -> x, a(z, w) -> z, a(z, w) -> w} EDG: {(minus#(x, s y) -> minus#(x, y), minus#(x, s y) -> minus#(x, y)) (minus#(x, s y) -> minus#(x, y), minus#(x, s y) -> pred# minus(x, y)) (quot#(s x, s y) -> minus#(x, y), minus#(x, s y) -> pred# minus(x, y)) (quot#(s x, s y) -> minus#(x, y), minus#(x, s y) -> minus#(x, y)) (quot#(s x, s y) -> quot#(minus(x, y), s y), quot#(s x, s y) -> minus#(x, y)) (quot#(s x, s y) -> quot#(minus(x, y), s y), quot#(s x, s y) -> quot#(minus(x, y), s y))} STATUS: arrows: 0.625000 SCCS (2): Scc: {quot#(s x, s y) -> quot#(minus(x, y), s y)} Scc: {minus#(x, s y) -> minus#(x, y)} SCC (1): Strict: {quot#(s x, s y) -> quot#(minus(x, y), s y)} Weak: { pred s x -> x, minus(x, s y) -> pred minus(x, y), minus(x, 0()) -> x, quot(s x, s y) -> s quot(minus(x, y), s y), quot(0(), s y) -> 0()} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [minus](x0, x1) = x0, [quot](x0, x1) = 0, [pred](x0) = x0, [s](x0) = x0 + 1, [0] = 0, [quot#](x0, x1) = x0 + 1 Strict: quot#(s x, s y) -> quot#(minus(x, y), s y) 2 + 1x + 0y >= 1 + 1x + 0y Weak: quot(0(), s y) -> 0() 0 + 0y >= 0 quot(s x, s y) -> s quot(minus(x, y), s y) 0 + 0x + 0y >= 1 + 0x + 0y minus(x, 0()) -> x 0 + 1x >= 1x minus(x, s y) -> pred minus(x, y) 0 + 1x + 0y >= 0 + 1x + 0y pred s x -> x 1 + 1x >= 1x Qed SCC (1): Strict: {minus#(x, s y) -> minus#(x, y)} Weak: { pred s x -> x, minus(x, s y) -> pred minus(x, y), minus(x, 0()) -> x, quot(s x, s y) -> s quot(minus(x, y), s y), quot(0(), s y) -> 0()} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [minus](x0, x1) = 0, [quot](x0, x1) = x0 + 1, [pred](x0) = x0 + 1, [s](x0) = x0 + 1, [0] = 0, [minus#](x0, x1) = x0 Strict: minus#(x, s y) -> minus#(x, y) 1 + 0x + 1y >= 0 + 0x + 1y Weak: quot(0(), s y) -> 0() 2 + 1y >= 0 quot(s x, s y) -> s quot(minus(x, y), s y) 2 + 0x + 1y >= 3 + 0x + 1y minus(x, 0()) -> x 0 + 0x >= 1x minus(x, s y) -> pred minus(x, y) 0 + 0x + 0y >= 1 + 0x + 0y pred s x -> x 2 + 1x >= 1x Qed