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