YES

Problem:
 active(c()) -> mark(f(g(c())))
 active(f(g(X))) -> mark(g(X))
 proper(c()) -> ok(c())
 proper(f(X)) -> f(proper(X))
 proper(g(X)) -> g(proper(X))
 f(ok(X)) -> ok(f(X))
 g(ok(X)) -> ok(g(X))
 top(mark(X)) -> top(proper(X))
 top(ok(X)) -> top(active(X))

Proof:
 Matrix Interpretation Processor: dim=3
  
  interpretation:
               [1 1 1]  
   [top](x0) = [0 0 0]x0
               [0 1 0]  ,
   
              [1 0 0]     [0]
   [ok](x0) = [0 1 0]x0 + [0]
              [0 0 0]     [1],
   
                    
   [proper](x0) = x0
                    ,
   
                  
   [mark](x0) = x0
                  ,
   
             [1 0 0]  
   [f](x0) = [0 0 0]x0
             [0 0 1]  ,
   
             [1 0 0]     [0]
   [g](x0) = [0 0 0]x0 + [0]
             [0 0 0]     [1],
   
                  [1 1 0]     [0]
   [active](x0) = [0 0 0]x0 + [0]
                  [0 0 0]     [1],
   
         [0]
   [c] = [1]
         [1]
  orientation:
                 [1]    [0]                  
   active(c()) = [0] >= [0] = mark(f(g(c())))
                 [1]    [1]                  
   
                     [1 0 0]    [0]    [1 0 0]    [0]             
   active(f(g(X))) = [0 0 0]X + [0] >= [0 0 0]X + [0] = mark(g(X))
                     [0 0 0]    [1]    [0 0 0]    [1]             
   
                 [0]    [0]          
   proper(c()) = [1] >= [1] = ok(c())
                 [1]    [1]          
   
                  [1 0 0]     [1 0 0]                
   proper(f(X)) = [0 0 0]X >= [0 0 0]X = f(proper(X))
                  [0 0 1]     [0 0 1]                
   
                  [1 0 0]    [0]    [1 0 0]    [0]               
   proper(g(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = g(proper(X))
                  [0 0 0]    [1]    [0 0 0]    [1]               
   
              [1 0 0]    [0]    [1 0 0]    [0]           
   f(ok(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = ok(f(X))
              [0 0 0]    [1]    [0 0 0]    [1]           
   
              [1 0 0]    [0]    [1 0 0]    [0]           
   g(ok(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = ok(g(X))
              [0 0 0]    [1]    [0 0 0]    [1]           
   
                  [1 1 1]     [1 1 1]                  
   top(mark(X)) = [0 0 0]X >= [0 0 0]X = top(proper(X))
                  [0 1 0]     [0 1 0]                  
   
                [1 1 0]    [1]    [1 1 0]    [1]                 
   top(ok(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = top(active(X))
                [0 1 0]    [0]    [0 0 0]    [0]                 
  problem:
   active(f(g(X))) -> mark(g(X))
   proper(c()) -> ok(c())
   proper(f(X)) -> f(proper(X))
   proper(g(X)) -> g(proper(X))
   f(ok(X)) -> ok(f(X))
   g(ok(X)) -> ok(g(X))
   top(mark(X)) -> top(proper(X))
   top(ok(X)) -> top(active(X))
  Matrix Interpretation Processor: dim=3
   
   interpretation:
                [1 1 0]  
    [top](x0) = [0 0 0]x0
                [0 0 0]  ,
    
               [1 0 0]     [0]
    [ok](x0) = [0 0 0]x0 + [1]
               [0 0 1]     [0],
    
                     
    [proper](x0) = x0
                     ,
    
                 [1 0 0]  
    [mark](x0) = [0 1 0]x0
                 [0 0 0]  ,
    
              [1 0 1]  
    [f](x0) = [0 1 0]x0
              [0 0 0]  ,
    
              [1 0 0]     [0]
    [g](x0) = [0 0 0]x0 + [1]
              [0 0 0]     [1],
    
                   [1 0 0]     [0]
    [active](x0) = [0 0 0]x0 + [1]
                   [0 1 0]     [0],
    
          [1]
    [c] = [1]
          [0]
   orientation:
                      [1 0 0]    [1]    [1 0 0]    [0]             
    active(f(g(X))) = [0 0 0]X + [1] >= [0 0 0]X + [1] = mark(g(X))
                      [0 0 0]    [1]    [0 0 0]    [0]             
    
                  [1]    [1]          
    proper(c()) = [1] >= [1] = ok(c())
                  [0]    [0]          
    
                   [1 0 1]     [1 0 1]                
    proper(f(X)) = [0 1 0]X >= [0 1 0]X = f(proper(X))
                   [0 0 0]     [0 0 0]                
    
                   [1 0 0]    [0]    [1 0 0]    [0]               
    proper(g(X)) = [0 0 0]X + [1] >= [0 0 0]X + [1] = g(proper(X))
                   [0 0 0]    [1]    [0 0 0]    [1]               
    
               [1 0 1]    [0]    [1 0 1]    [0]           
    f(ok(X)) = [0 0 0]X + [1] >= [0 0 0]X + [1] = ok(f(X))
               [0 0 0]    [0]    [0 0 0]    [0]           
    
               [1 0 0]    [0]    [1 0 0]    [0]           
    g(ok(X)) = [0 0 0]X + [1] >= [0 0 0]X + [1] = ok(g(X))
               [0 0 0]    [1]    [0 0 0]    [1]           
    
                   [1 1 0]     [1 1 0]                  
    top(mark(X)) = [0 0 0]X >= [0 0 0]X = top(proper(X))
                   [0 0 0]     [0 0 0]                  
    
                 [1 0 0]    [1]    [1 0 0]    [1]                 
    top(ok(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = top(active(X))
                 [0 0 0]    [0]    [0 0 0]    [0]                 
   problem:
    proper(c()) -> ok(c())
    proper(f(X)) -> f(proper(X))
    proper(g(X)) -> g(proper(X))
    f(ok(X)) -> ok(f(X))
    g(ok(X)) -> ok(g(X))
    top(mark(X)) -> top(proper(X))
    top(ok(X)) -> top(active(X))
   Matrix Interpretation Processor: dim=1
    
    interpretation:
     [top](x0) = 2x0 + 5,
     
     [ok](x0) = x0,
     
     [proper](x0) = 4x0,
     
     [mark](x0) = 4x0 + 6,
     
     [f](x0) = 4x0 + 1,
     
     [g](x0) = 6x0 + 1,
     
     [active](x0) = x0,
     
     [c] = 4
    orientation:
     proper(c()) = 16 >= 4 = ok(c())
     
     proper(f(X)) = 16X + 4 >= 16X + 1 = f(proper(X))
     
     proper(g(X)) = 24X + 4 >= 24X + 1 = g(proper(X))
     
     f(ok(X)) = 4X + 1 >= 4X + 1 = ok(f(X))
     
     g(ok(X)) = 6X + 1 >= 6X + 1 = ok(g(X))
     
     top(mark(X)) = 8X + 17 >= 8X + 5 = top(proper(X))
     
     top(ok(X)) = 2X + 5 >= 2X + 5 = top(active(X))
    problem:
     f(ok(X)) -> ok(f(X))
     g(ok(X)) -> ok(g(X))
     top(ok(X)) -> top(active(X))
    Matrix Interpretation Processor: dim=1
     
     interpretation:
      [top](x0) = x0 + 5,
      
      [ok](x0) = x0 + 4,
      
      [f](x0) = x0 + 6,
      
      [g](x0) = x0,
      
      [active](x0) = x0 + 3
     orientation:
      f(ok(X)) = X + 10 >= X + 10 = ok(f(X))
      
      g(ok(X)) = X + 4 >= X + 4 = ok(g(X))
      
      top(ok(X)) = X + 9 >= X + 8 = top(active(X))
     problem:
      f(ok(X)) -> ok(f(X))
      g(ok(X)) -> ok(g(X))
     Matrix Interpretation Processor: dim=3
      
      interpretation:
                       [0]
       [ok](x0) = x0 + [1]
                       [1],
       
                 [1 0 1]  
       [f](x0) = [0 1 0]x0
                 [0 1 0]  ,
       
                 [1 1 0]  
       [g](x0) = [0 0 1]x0
                 [1 0 1]  
      orientation:
                  [1 0 1]    [1]    [1 0 1]    [0]           
       f(ok(X)) = [0 1 0]X + [1] >= [0 1 0]X + [1] = ok(f(X))
                  [0 1 0]    [1]    [0 1 0]    [1]           
       
                  [1 1 0]    [1]    [1 1 0]    [0]           
       g(ok(X)) = [0 0 1]X + [1] >= [0 0 1]X + [1] = ok(g(X))
                  [1 0 1]    [1]    [1 0 1]    [1]           
      problem:
       
      Qed