YES TRS: {f(f(a(), a()), x) -> f(f(x, a()), f(a(), f(a(), a())))} DP: Strict: {f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a()))), f#(f(a(), a()), x) -> f#(a(), f(a(), a()))} Weak: {f(f(a(), a()), x) -> f(f(x, a()), f(a(), f(a(), a())))} EDG: {(f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(a(), f(a(), a()))) (f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a())))) (f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(x, a())) (f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a()))), f#(f(a(), a()), x) -> f#(x, a())) (f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a()))), f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a())))) (f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a()))), f#(f(a(), a()), x) -> f#(a(), f(a(), a())))} SCCS: Scc: {f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a())))} SCC: Strict: {f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(f(x, a()), f(a(), f(a(), a())))} Weak: {f(f(a(), a()), x) -> f(f(x, a()), f(a(), f(a(), a())))} BOUND: Bound: match(-raise)-DP-bounded by 1 Automaton: { b_0() -> 2* a_1() -> 7* a_0() -> 3* f#_1(8, 10) -> 1* f#_0(6, 3) -> 1* f#_0(5, 6) -> 1* f#_0(4, 6) -> 1* f_1(7, 9) -> 10* f_1(7, 7) -> 9* f_1(6, 7) -> 8* f_0(6, 3) -> 5* f_0(5, 6) -> 4* f_0(3, 5) -> 6* f_0(3, 3) -> 5* f_0(2, 3) -> 4*} Strict: {f#(f(a(), a()), x) -> f#(x, a())} EDG: {(f#(f(a(), a()), x) -> f#(x, a()), f#(f(a(), a()), x) -> f#(x, a()))} SCCS: Scc: {f#(f(a(), a()), x) -> f#(x, a())} SCC: Strict: {f#(f(a(), a()), x) -> f#(x, a())} Weak: {f(f(a(), a()), x) -> f(f(x, a()), f(a(), f(a(), a())))} POLY: Argument Filtering: pi(a) = [], pi(f#) = [0,1], pi(f) = [] Usable Rules: {} Interpretation: [f#](x0, x1) = x0 + x1, [f] = 1, [a] = 0 Strict: {} Weak: {f(f(a(), a()), x) -> f(f(x, a()), f(a(), f(a(), a())))} Qed