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