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