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