YES TRS: {f(x, f(a(), a())) -> f(f(f(f(a(), a()), a()), a()), x)} DP: Strict: {f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x), f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), a()), f#(x, f(a(), a())) -> f#(f(a(), a()), a())} Weak: {f(x, f(a(), a())) -> f(f(f(f(a(), a()), a()), a()), x)} EDG: {(f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x), f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x)) (f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x), f#(x, f(a(), a())) -> f#(f(f(a(), a()), a()), a())) (f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x), f#(x, f(a(), a())) -> f#(f(a(), a()), a()))} SCCS: Scc: {f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x)} SCC: Strict: {f#(x, f(a(), a())) -> f#(f(f(f(a(), a()), a()), a()), x)} Weak: {f(x, f(a(), a())) -> f(f(f(f(a(), a()), a()), a()), x)} BOUND: Bound: match(-raise)-bounded by 1 Automaton: { a_1() -> 2* a_0() -> 1* f#_1(5, 5) -> 1* f#_1(5, 1) -> 1* f#_0(1, 1) -> 1* f_1(5, 5) -> 1* f_1(5, 1) -> 1* f_1(4, 2) -> 5* f_1(3, 2) -> 4* f_1(2, 2) -> 3* f_0(1, 1) -> 1*} Strict: {} Qed