YES

Problem:
 active(f(f(a()))) -> mark(f(g(f(a()))))
 mark(f(X)) -> active(f(mark(X)))
 mark(a()) -> active(a())
 mark(g(X)) -> active(g(X))
 f(mark(X)) -> f(X)
 f(active(X)) -> f(X)
 g(mark(X)) -> g(X)
 g(active(X)) -> g(X)

Proof:
 DP Processor:
  DPs:
   active#(f(f(a()))) -> g#(f(a()))
   active#(f(f(a()))) -> f#(g(f(a())))
   active#(f(f(a()))) -> mark#(f(g(f(a()))))
   mark#(f(X)) -> mark#(X)
   mark#(f(X)) -> f#(mark(X))
   mark#(f(X)) -> active#(f(mark(X)))
   mark#(a()) -> active#(a())
   mark#(g(X)) -> active#(g(X))
   f#(mark(X)) -> f#(X)
   f#(active(X)) -> f#(X)
   g#(mark(X)) -> g#(X)
   g#(active(X)) -> g#(X)
  TRS:
   active(f(f(a()))) -> mark(f(g(f(a()))))
   mark(f(X)) -> active(f(mark(X)))
   mark(a()) -> active(a())
   mark(g(X)) -> active(g(X))
   f(mark(X)) -> f(X)
   f(active(X)) -> f(X)
   g(mark(X)) -> g(X)
   g(active(X)) -> g(X)
  Matrix Interpretation Processor: dim=1
   
   usable rules:
    active(f(f(a()))) -> mark(f(g(f(a()))))
    mark(f(X)) -> active(f(mark(X)))
    mark(a()) -> active(a())
    mark(g(X)) -> active(g(X))
    f(mark(X)) -> f(X)
    f(active(X)) -> f(X)
    g(mark(X)) -> g(X)
    g(active(X)) -> g(X)
   interpretation:
    [mark#](x0) = 4x0 + 1,
    
    [f#](x0) = x0 + 1,
    
    [g#](x0) = 5x0,
    
    [active#](x0) = 2x0,
    
    [mark](x0) = 2x0 + 2,
    
    [g](x0) = 1,
    
    [active](x0) = x0 + 2,
    
    [f](x0) = 2x0 + 5,
    
    [a] = 0
   orientation:
    active#(f(f(a()))) = 30 >= 25 = g#(f(a()))
    
    active#(f(f(a()))) = 30 >= 2 = f#(g(f(a())))
    
    active#(f(f(a()))) = 30 >= 29 = mark#(f(g(f(a()))))
    
    mark#(f(X)) = 8X + 21 >= 4X + 1 = mark#(X)
    
    mark#(f(X)) = 8X + 21 >= 2X + 3 = f#(mark(X))
    
    mark#(f(X)) = 8X + 21 >= 8X + 18 = active#(f(mark(X)))
    
    mark#(a()) = 1 >= 0 = active#(a())
    
    mark#(g(X)) = 5 >= 2 = active#(g(X))
    
    f#(mark(X)) = 2X + 3 >= X + 1 = f#(X)
    
    f#(active(X)) = X + 3 >= X + 1 = f#(X)
    
    g#(mark(X)) = 10X + 10 >= 5X = g#(X)
    
    g#(active(X)) = 5X + 10 >= 5X = g#(X)
    
    active(f(f(a()))) = 17 >= 16 = mark(f(g(f(a()))))
    
    mark(f(X)) = 4X + 12 >= 4X + 11 = active(f(mark(X)))
    
    mark(a()) = 2 >= 2 = active(a())
    
    mark(g(X)) = 4 >= 3 = active(g(X))
    
    f(mark(X)) = 4X + 9 >= 2X + 5 = f(X)
    
    f(active(X)) = 2X + 9 >= 2X + 5 = f(X)
    
    g(mark(X)) = 1 >= 1 = g(X)
    
    g(active(X)) = 1 >= 1 = g(X)
   problem:
    DPs:
     
    TRS:
     active(f(f(a()))) -> mark(f(g(f(a()))))
     mark(f(X)) -> active(f(mark(X)))
     mark(a()) -> active(a())
     mark(g(X)) -> active(g(X))
     f(mark(X)) -> f(X)
     f(active(X)) -> f(X)
     g(mark(X)) -> g(X)
     g(active(X)) -> g(X)
   Qed