YES(?,O(n^3))
TRS:
 {
        f mark X -> f X,
      f active X -> f X,
        g mark X -> g X,
      g active X -> g X,
        mark f X -> active f mark X,
        mark g X -> active g mark X,
        mark c X -> active c X,
        mark a() -> active a(),
        c mark X -> c X,
      c active X -> c X,
  active f f a() -> mark c f g f a()
 }
 DUP: We consider a non-duplicating system.
  Trs:
   {
          f mark X -> f X,
        f active X -> f X,
          g mark X -> g X,
        g active X -> g X,
          mark f X -> active f mark X,
          mark g X -> active g mark X,
          mark c X -> active c X,
          mark a() -> active a(),
          c mark X -> c X,
        c active X -> c X,
    active f f a() -> mark c f g f a()
   }
  Matrix Interpretation:
   Interpretation class: triangular
            [X2]    [1 0 0][X2]   [2]
   [active]([X1]) = [0 1 0][X1] + [0]
            [X0]    [0 0 1][X0]   [0]
   
         [0]
   [a] = [2]
         [0]
   
       [X2]    [1 0 0][X2]   [0]
   [c]([X1]) = [0 0 0][X1] + [0]
       [X0]    [0 0 0][X0]   [0]
   
          [X2]    [1 0 2][X2]   [3]
   [mark]([X1]) = [0 1 0][X1] + [0]
          [X0]    [0 0 1][X0]   [0]
   
       [X2]    [1 0 2][X2]   [3]
   [g]([X1]) = [0 0 0][X1] + [0]
       [X0]    [0 0 1][X0]   [2]
   
       [X2]    [1 3 0][X2]   [0]
   [f]([X1]) = [0 0 0][X1] + [3]
       [X0]    [0 0 1][X0]   [2]
   
   
   Qed