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: { a_1() -> 14* a_0() -> 10* f#_1(15, 17) -> 4* f#_0(13, 12) -> 4* f#_0(12, 10) -> 4* f#_0(11, 12) -> 4* f_1(14, 16) -> 17* f_1(14, 14) -> 16* f_1(12, 14) -> 15* f_0(13, 13) -> 8* f_0(13, 12) -> 13 | 8 f_0(13, 11) -> 8* f_0(13, 10) -> 13* f_0(13, 8) -> 8* f_0(12, 13) -> 8* f_0(12, 12) -> 8* f_0(12, 11) -> 8* f_0(12, 10) -> 13* f_0(12, 8) -> 8* f_0(11, 13) -> 8* f_0(11, 12) -> 13 | 8 f_0(11, 11) -> 8* f_0(11, 10) -> 13* f_0(11, 8) -> 8* f_0(10, 13) -> 8* f_0(10, 12) -> 8* f_0(10, 11) -> 12* f_0(10, 10) -> 11* f_0(10, 8) -> 8* f_0(8, 13) -> 8* f_0(8, 12) -> 8* f_0(8, 11) -> 8* f_0(8, 10) -> 13* f_0(8, 8) -> 8*} 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