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