YES TRS: {g(c(x, s(y))) -> g(c(s(x), y)), f(x) -> x, f(c(s(x), y)) -> f(c(x, s(y))), f(f(x)) -> f(d(f(x)))} DP: Strict: {g#(c(x, s(y))) -> g#(c(s(x), y)), f#(c(s(x), y)) -> f#(c(x, s(y))), f#(f(x)) -> f#(d(f(x)))} Weak: {g(c(x, s(y))) -> g(c(s(x), y)), f(x) -> x, f(c(s(x), y)) -> f(c(x, s(y))), f(f(x)) -> f(d(f(x)))} EDG: {(g#(c(x, s(y))) -> g#(c(s(x), y)), g#(c(x, s(y))) -> g#(c(s(x), y))) (f#(c(s(x), y)) -> f#(c(x, s(y))), f#(c(s(x), y)) -> f#(c(x, s(y))))} SCCS: Scc: {f#(c(s(x), y)) -> f#(c(x, s(y)))} Scc: {g#(c(x, s(y))) -> g#(c(s(x), y))} SCC: Strict: {f#(c(s(x), y)) -> f#(c(x, s(y)))} Weak: {g(c(x, s(y))) -> g(c(s(x), y)), f(x) -> x, f(c(s(x), y)) -> f(c(x, s(y))), f(f(x)) -> f(d(f(x)))} POLY: Argument Filtering: pi(d) = [], pi(f#) = 0, pi(f) = [], pi(s) = [0], pi(c) = [0], pi(g) = [] Usable Rules: {} Interpretation: [c](x0) = x0 + 1, [s](x0) = x0 + 1 Strict: {} Weak: {g(c(x, s(y))) -> g(c(s(x), y)), f(x) -> x, f(c(s(x), y)) -> f(c(x, s(y))), f(f(x)) -> f(d(f(x)))} Qed SCC: Strict: {g#(c(x, s(y))) -> g#(c(s(x), y))} Weak: {g(c(x, s(y))) -> g(c(s(x), y)), f(x) -> x, f(c(s(x), y)) -> f(c(x, s(y))), f(f(x)) -> f(d(f(x)))} POLY: Argument Filtering: pi(d) = [], pi(f) = [], pi(s) = [0], pi(c) = 1, pi(g#) = 0, pi(g) = [] Usable Rules: {} Interpretation: [s](x0) = x0 + 1 Strict: {} Weak: {g(c(x, s(y))) -> g(c(s(x), y)), f(x) -> x, f(c(s(x), y)) -> f(c(x, s(y))), f(f(x)) -> f(d(f(x)))} Qed