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