YES TRS: {f(x, f(a(), a())) -> f(f(f(a(), a()), a()), f(a(), x))} DP: Strict: {f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x)), f#(x, f(a(), a())) -> f#(f(a(), a()), a()), f#(x, f(a(), a())) -> f#(a(), x)} Weak: {f(x, f(a(), a())) -> f(f(f(a(), a()), a()), f(a(), x))} EDG: {(f#(x, f(a(), a())) -> f#(a(), x), f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x))) (f#(x, f(a(), a())) -> f#(a(), x), f#(x, f(a(), a())) -> f#(f(a(), a()), a())) (f#(x, f(a(), a())) -> f#(a(), x), f#(x, f(a(), a())) -> f#(a(), x)) (f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x)), f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x))) (f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x)), f#(x, f(a(), a())) -> f#(f(a(), a()), a())) (f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x)), f#(x, f(a(), a())) -> f#(a(), x))} SCCS: Scc: {f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x)), f#(x, f(a(), a())) -> f#(a(), x)} SCC: Strict: {f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), f(a(), x)), f#(x, f(a(), a())) -> f#(a(), x)} Weak: {f(x, f(a(), a())) -> f(f(f(a(), a()), a()), f(a(), x))} UR: {f(x, f(a(), a())) -> f(f(f(a(), a()), a()), f(a(), x))} BOUND: Bound: match(-raise)-DP-bounded by 1 Automaton: { a_1() -> 14* a_0() -> 10* f#_1(16, 17) -> 4* f#_0(13, 12) -> 4* f#_0(13, 11) -> 4* f#_0(10, 13) -> 4* f_1(15, 14) -> 16* f_1(14, 14) -> 15* f_1(14, 13) -> 17* f_0(13, 13) -> 8* f_0(13, 12) -> 11 | 8 f_0(13, 11) -> 11 | 8 f_0(13, 10) -> 8* 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) -> 8* f_0(11, 11) -> 8* f_0(11, 10) -> 8* f_0(11, 8) -> 8* f_0(10, 13) -> 11* f_0(10, 12) -> 11* f_0(10, 11) -> 11* f_0(10, 10) -> 12* f_0(10, 8) -> 11* f_0(8, 13) -> 8* f_0(8, 12) -> 8* f_0(8, 11) -> 8* f_0(8, 10) -> 8* f_0(8, 8) -> 8*} Strict: {f#(x, f(a(), a())) -> f#(a(), x)} EDG: {(f#(x, f(a(), a())) -> f#(a(), x), f#(x, f(a(), a())) -> f#(a(), x))} SCCS: Scc: {f#(x, f(a(), a())) -> f#(a(), x)} SCC: Strict: {f#(x, f(a(), a())) -> f#(a(), x)} Weak: {f(x, f(a(), a())) -> f(f(f(a(), a()), a()), f(a(), x))} 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(x, f(a(), a())) -> f(f(f(a(), a()), a()), f(a(), x))} Qed