YES

Problem:
 active(g(X)) -> mark(h(X))
 active(c()) -> mark(d())
 active(h(d())) -> mark(g(c()))
 mark(g(X)) -> active(g(X))
 mark(h(X)) -> active(h(X))
 mark(c()) -> active(c())
 mark(d()) -> active(d())
 g(mark(X)) -> g(X)
 g(active(X)) -> g(X)
 h(mark(X)) -> h(X)
 h(active(X)) -> h(X)

Proof:
 Matrix Interpretation Processor: dim=3
  
  interpretation:
         [0]
   [d] = [0]
         [1],
   
         [0]
   [c] = [1]
         [0],
   
                [1 1 1]  
   [mark](x0) = [0 0 0]x0
                [0 1 1]  ,
   
             [1 0 0]  
   [h](x0) = [0 0 0]x0
             [0 0 1]  ,
   
                  [1 1 1]  
   [active](x0) = [0 0 0]x0
                  [0 1 1]  ,
   
             [1 0 0]     [1]
   [g](x0) = [0 0 0]x0 + [0]
             [0 0 1]     [0]
  orientation:
                  [1 0 1]    [1]    [1 0 1]              
   active(g(X)) = [0 0 0]X + [0] >= [0 0 0]X = mark(h(X))
                  [0 0 1]    [0]    [0 0 1]              
   
                 [1]    [1]            
   active(c()) = [0] >= [0] = mark(d())
                 [1]    [1]            
   
                    [1]    [1]               
   active(h(d())) = [0] >= [0] = mark(g(c()))
                    [1]    [0]               
   
                [1 0 1]    [1]    [1 0 1]    [1]               
   mark(g(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(g(X))
                [0 0 1]    [0]    [0 0 1]    [0]               
   
                [1 0 1]     [1 0 1]                
   mark(h(X)) = [0 0 0]X >= [0 0 0]X = active(h(X))
                [0 0 1]     [0 0 1]                
   
               [1]    [1]              
   mark(c()) = [0] >= [0] = active(c())
               [1]    [1]              
   
               [1]    [1]              
   mark(d()) = [0] >= [0] = active(d())
               [1]    [1]              
   
                [1 1 1]    [1]    [1 0 0]    [1]       
   g(mark(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = g(X)
                [0 1 1]    [0]    [0 0 1]    [0]       
   
                  [1 1 1]    [1]    [1 0 0]    [1]       
   g(active(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = g(X)
                  [0 1 1]    [0]    [0 0 1]    [0]       
   
                [1 1 1]     [1 0 0]        
   h(mark(X)) = [0 0 0]X >= [0 0 0]X = h(X)
                [0 1 1]     [0 0 1]        
   
                  [1 1 1]     [1 0 0]        
   h(active(X)) = [0 0 0]X >= [0 0 0]X = h(X)
                  [0 1 1]     [0 0 1]        
  problem:
   active(c()) -> mark(d())
   active(h(d())) -> mark(g(c()))
   mark(g(X)) -> active(g(X))
   mark(h(X)) -> active(h(X))
   mark(c()) -> active(c())
   mark(d()) -> active(d())
   g(mark(X)) -> g(X)
   g(active(X)) -> g(X)
   h(mark(X)) -> h(X)
   h(active(X)) -> h(X)
  Matrix Interpretation Processor: dim=1
   
   interpretation:
    [d] = 0,
    
    [c] = 0,
    
    [mark](x0) = 4x0 + 4,
    
    [h](x0) = 2x0 + 3,
    
    [active](x0) = 4x0 + 4,
    
    [g](x0) = x0 + 3
   orientation:
    active(c()) = 4 >= 4 = mark(d())
    
    active(h(d())) = 16 >= 16 = mark(g(c()))
    
    mark(g(X)) = 4X + 16 >= 4X + 16 = active(g(X))
    
    mark(h(X)) = 8X + 16 >= 8X + 16 = active(h(X))
    
    mark(c()) = 4 >= 4 = active(c())
    
    mark(d()) = 4 >= 4 = active(d())
    
    g(mark(X)) = 4X + 7 >= X + 3 = g(X)
    
    g(active(X)) = 4X + 7 >= X + 3 = g(X)
    
    h(mark(X)) = 8X + 11 >= 2X + 3 = h(X)
    
    h(active(X)) = 8X + 11 >= 2X + 3 = h(X)
   problem:
    active(c()) -> mark(d())
    active(h(d())) -> mark(g(c()))
    mark(g(X)) -> active(g(X))
    mark(h(X)) -> active(h(X))
    mark(c()) -> active(c())
    mark(d()) -> active(d())
   Matrix Interpretation Processor: dim=3
    
    interpretation:
           [0]
     [d] = [1]
           [0],
     
           [0]
     [c] = [0]
           [1],
     
                  [1 0 1]     [0]
     [mark](x0) = [1 0 0]x0 + [1]
                  [0 0 0]     [1],
     
               [1 1 0]  
     [h](x0) = [0 0 0]x0
               [0 0 0]  ,
     
                    [1 0 1]     [0]
     [active](x0) = [1 0 1]x0 + [0]
                    [0 0 0]     [1],
     
               [1 0 0]     [0]
     [g](x0) = [0 0 0]x0 + [1]
               [0 0 0]     [0]
    orientation:
                   [1]    [0]            
     active(c()) = [1] >= [1] = mark(d())
                   [1]    [1]            
     
                      [1]    [0]               
     active(h(d())) = [1] >= [1] = mark(g(c()))
                      [1]    [1]               
     
                  [1 0 0]    [0]    [1 0 0]    [0]               
     mark(g(X)) = [1 0 0]X + [1] >= [1 0 0]X + [0] = active(g(X))
                  [0 0 0]    [1]    [0 0 0]    [1]               
     
                  [1 1 0]    [0]    [1 1 0]    [0]               
     mark(h(X)) = [1 1 0]X + [1] >= [1 1 0]X + [0] = active(h(X))
                  [0 0 0]    [1]    [0 0 0]    [1]               
     
                 [1]    [1]              
     mark(c()) = [1] >= [1] = active(c())
                 [1]    [1]              
     
                 [0]    [0]              
     mark(d()) = [1] >= [0] = active(d())
                 [1]    [1]              
    problem:
     mark(g(X)) -> active(g(X))
     mark(h(X)) -> active(h(X))
     mark(c()) -> active(c())
     mark(d()) -> active(d())
    Matrix Interpretation Processor: dim=3
     
     interpretation:
            [0]
      [d] = [0]
            [0],
      
            [0]
      [c] = [0]
            [0],
      
                   [1 0 0]     [1]
      [mark](x0) = [0 0 0]x0 + [0]
                   [0 0 0]     [0],
      
                [1 0 0]  
      [h](x0) = [0 0 0]x0
                [0 0 0]  ,
      
                     [1 0 0]  
      [active](x0) = [0 0 0]x0
                     [0 0 0]  ,
      
                [1 0 0]  
      [g](x0) = [0 0 0]x0
                [0 0 0]  
     orientation:
                   [1 0 0]    [1]    [1 0 0]                
      mark(g(X)) = [0 0 0]X + [0] >= [0 0 0]X = active(g(X))
                   [0 0 0]    [0]    [0 0 0]                
      
                   [1 0 0]    [1]    [1 0 0]                
      mark(h(X)) = [0 0 0]X + [0] >= [0 0 0]X = active(h(X))
                   [0 0 0]    [0]    [0 0 0]                
      
                  [1]    [0]              
      mark(c()) = [0] >= [0] = active(c())
                  [0]    [0]              
      
                  [1]    [0]              
      mark(d()) = [0] >= [0] = active(d())
                  [0]    [0]              
     problem:
      
     Qed