YES TRS: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), double(0()) -> 0(), double(s(x)) -> s(s(double(x))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), plus(s(x), y) -> s(plus(minus(x, y), double(y))), plus(s(x), y) -> plus(x, s(y))} DP: Strict: {minus#(s(x), s(y)) -> minus#(x, y), double#(s(x)) -> double#(x), plus#(s(x), y) -> minus#(x, y), plus#(s(x), y) -> double#(y), plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> plus#(minus(x, y), double(y))} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), double(0()) -> 0(), double(s(x)) -> s(s(double(x))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), plus(s(x), y) -> s(plus(minus(x, y), double(y))), plus(s(x), y) -> plus(x, s(y))} EDG: {(plus#(s(x), y) -> minus#(x, y), minus#(s(x), s(y)) -> minus#(x, y)) (plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> plus#(minus(x, y), double(y))) (plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> plus#(x, s(y))) (plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> plus#(x, y)) (plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> double#(y)) (plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> minus#(x, y)) (plus#(s(x), y) -> double#(y), double#(s(x)) -> double#(x)) (double#(s(x)) -> double#(x), double#(s(x)) -> double#(x)) (plus#(s(x), y) -> plus#(minus(x, y), double(y)), plus#(s(x), y) -> minus#(x, y)) (plus#(s(x), y) -> plus#(minus(x, y), double(y)), plus#(s(x), y) -> double#(y)) (plus#(s(x), y) -> plus#(minus(x, y), double(y)), plus#(s(x), y) -> plus#(x, y)) (plus#(s(x), y) -> plus#(minus(x, y), double(y)), plus#(s(x), y) -> plus#(x, s(y))) (plus#(s(x), y) -> plus#(minus(x, y), double(y)), plus#(s(x), y) -> plus#(minus(x, y), double(y))) (plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> minus#(x, y)) (plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> double#(y)) (plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, y)) (plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, s(y))) (plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(minus(x, y), double(y))) (minus#(s(x), s(y)) -> minus#(x, y), minus#(s(x), s(y)) -> minus#(x, y))} SCCS: Scc: {plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> plus#(minus(x, y), double(y))} Scc: {double#(s(x)) -> double#(x)} Scc: {minus#(s(x), s(y)) -> minus#(x, y)} SCC: Strict: {plus#(s(x), y) -> plus#(x, y), plus#(s(x), y) -> plus#(x, s(y)), plus#(s(x), y) -> plus#(minus(x, y), double(y))} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), double(0()) -> 0(), double(s(x)) -> s(s(double(x))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), plus(s(x), y) -> s(plus(minus(x, y), double(y))), plus(s(x), y) -> plus(x, s(y))} POLY: Argument Filtering: pi(plus#) = 0, pi(plus) = [], pi(double) = [], 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), double(0()) -> 0(), double(s(x)) -> s(s(double(x))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), plus(s(x), y) -> s(plus(minus(x, y), double(y))), plus(s(x), y) -> plus(x, s(y))} Qed SCC: Strict: {double#(s(x)) -> double#(x)} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), double(0()) -> 0(), double(s(x)) -> s(s(double(x))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), plus(s(x), y) -> s(plus(minus(x, y), double(y))), plus(s(x), y) -> plus(x, s(y))} SPSC: Simple Projection: pi(double#) = 0 Strict: {} Qed SCC: Strict: {minus#(s(x), s(y)) -> minus#(x, y)} Weak: { minus(x, 0()) -> x, minus(s(x), s(y)) -> minus(x, y), double(0()) -> 0(), double(s(x)) -> s(s(double(x))), plus(0(), y) -> y, plus(s(x), y) -> s(plus(x, y)), plus(s(x), y) -> s(plus(minus(x, y), double(y))), plus(s(x), y) -> plus(x, s(y))} SPSC: Simple Projection: pi(minus#) = 0 Strict: {} Qed