MAYBE 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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} 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), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} EDG: {(quot#(s(x), s(y)) -> minus#(x, y), minus#(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))) (quot#(s(x), s(y)) -> quot#(minus(x, y), s(y)), quot#(s(x), s(y)) -> minus#(x, y)) (plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0()))), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0())))) (plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0()))), plus#(s(x), y) -> plus#(x, y)) (plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0()))), 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()))), 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()))), 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#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, y)) (plus#(s(x), y) -> plus#(x, y), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0())))) (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), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0())))} 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), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} POLY: Argument Filtering: pi(plus#) = [0,1], pi(plus) = [0,1], pi(quot) = [], pi(s) = [0], pi(0) = [], pi(minus) = 0 Usable Rules: {} Interpretation: [plus#](x0, x1) = x0 + x1, [plus](x0, x1) = x0 + x1, [s](x0) = x0 + 1, [0] = 1 Strict: {plus#(minus(x, s(0())), minus(y, s(s(z)))) -> plus#(minus(y, s(s(z))), minus(x, s(0()))), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} EDG: {(plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0()))), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0())))) (plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(x, s(0()))), 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()))), 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()))), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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()))), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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()))), plus#(plus(x, s(0())), plus(y, s(s(z)))) -> plus#(plus(y, s(s(z))), plus(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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} Fail 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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} POLY: Argument Filtering: pi(plus) = [], pi(quot#) = 0, pi(quot) = [], pi(s) = [0], pi(0) = [], pi(minus) = 0 Usable Rules: {} Interpretation: [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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} 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)), plus(plus(x, s(0())), plus(y, s(s(z)))) -> plus(plus(y, s(s(z))), plus(x, s(0())))} SPSC: Simple Projection: pi(minus#) = 0 Strict: {} Qed