YES TRS: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} DP: Strict: { minus#(s(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)), plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(s(x), y) -> plus#(x, y)} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} EDG: {(quot#(s(x), s(y)) -> minus#(x, y), minus#(s(x), s(y)) -> minus#(x, y)) (plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(s(x), y) -> plus#(x, y)) (plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0())))) (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))) (plus#(s(x), y) -> plus#(x, y), plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0())))) (plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, y)) (minus#(s(x), s(y)) -> minus#(x, y), minus#(s(x), s(y)) -> minus#(x, y))} SCCS: Scc: {plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(s(x), y) -> plus#(x, y)} Scc: {quot#(s(x), s(y)) -> quot#(minus(x, y), s(y))} Scc: {minus#(s(x), s(y)) -> minus#(x, y)} SCC: Strict: {plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(s(x), y) -> plus#(x, y)} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} POLY: Argument Filtering: pi(plus#) = [0,1], pi(plus) = [], pi(quot) = [], pi(s) = [0], pi(0) = [], pi(minus) = 0 Usable Rules: {} Interpretation: [plus#](x0, x1) = x0 + x1, [s](x0) = x0 + 1 Strict: {plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0())))} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} EDG: {(plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))))} SCCS: Scc: {plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0())))} SCC: Strict: {plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0())))} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} UR: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y)} BOUND: Bound: match(-raise)-bounded by 1 Automaton: {plus#_1(4, 7) -> 1* plus#_0(1, 1) -> 1* s_1(5) -> 6* s_1(2) -> 3* s_1(1) -> 2* s_0(1) -> 1* 0_1() -> 5* 0_0() -> 1* minus_1(1, 6) -> 7* minus_1(1, 5) -> 7* minus_1(1, 3) -> 4* minus_1(1, 2) -> 4* minus_1(1, 1) -> 4 | 1 minus_0(1, 1) -> 1* 1 -> 7 | 4} Strict: {} Qed SCC: Strict: {quot#(s(x), s(y)) -> quot#(minus(x, y), s(y))} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} POLY: Argument Filtering: pi(plus) = [], pi(quot#) = [0,1], pi(quot) = [], pi(s) = [0], pi(0) = [], pi(minus) = 0 Usable Rules: {} Interpretation: [quot#](x0, x1) = x0 + x1, [s](x0) = x0 + 1 Strict: {} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} Qed SCC: Strict: {minus#(s(x), s(y)) -> minus#(x, y)} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), quot(0(), s(y)) -> 0(), quot(s(x), s(y)) -> s(quot(minus(x, y), s(y))), plus(minus(x, s(0())), minus(y, s(s(z)))) -> plus(minus(y, s(s(z))), minus(x, s(0()))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y))} SPSC: Simple Projection: pi(minus#) = 0 Strict: {} Qed