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