YES
O(n^3)
TRS:
 {
               s(a()) -> a(),
              s(s(x)) -> x,
           s(f(x, y)) -> f(s(y), s(x)),
           s(g(x, y)) -> g(s(x), s(y)),
            f(x, a()) -> x,
            f(a(), y) -> y,
  f(g(x, y), g(u, v)) -> g(f(x, u), f(y, v)),
          g(a(), a()) -> a()
 }
 DUP: We consider a non-duplicating system.
  Trs:
   {
                 s(a()) -> a(),
                s(s(x)) -> x,
             s(f(x, y)) -> f(s(y), s(x)),
             s(g(x, y)) -> g(s(x), s(y)),
              f(x, a()) -> x,
              f(a(), y) -> y,
    f(g(x, y), g(u, v)) -> g(f(x, u), f(y, v)),
            g(a(), a()) -> a()
   }
  Matrix Interpretation:
   Interpretation class: triangular
       [X5]  [X2]    [1 0 0][X5]   [1 0 0][X2]   [0]
   [g]([X4], [X1]) = [0 1 0][X4] + [0 1 1][X1] + [0]
       [X3]  [X0]    [0 0 1][X3]   [0 0 1][X0]   [1]
   
       [X5]  [X2]    [1 0 1][X5]   [1 0 0][X2]   [0]
   [f]([X4], [X1]) = [0 1 1][X4] + [0 1 1][X1] + [0]
       [X3]  [X0]    [0 0 1][X3]   [0 0 1][X0]   [1]
   
       [X2]    [1 1 1][X2]   [0]
   [s]([X1]) = [0 1 1][X1] + [1]
       [X0]    [0 0 1][X0]   [0]
   
         [1]
   [a] = [1]
         [0]
   
   
   Qed