YES

Problem:
 active(f(a(),X,X)) -> mark(f(X,b(),b()))
 active(b()) -> mark(a())
 mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
 mark(a()) -> active(a())
 mark(b()) -> active(b())
 f(mark(X1),X2,X3) -> f(X1,X2,X3)
 f(X1,mark(X2),X3) -> f(X1,X2,X3)
 f(X1,X2,mark(X3)) -> f(X1,X2,X3)
 f(active(X1),X2,X3) -> f(X1,X2,X3)
 f(X1,active(X2),X3) -> f(X1,X2,X3)
 f(X1,X2,active(X3)) -> f(X1,X2,X3)

Proof:
 DP Processor:
  DPs:
   active#(f(a(),X,X)) -> f#(X,b(),b())
   active#(f(a(),X,X)) -> mark#(f(X,b(),b()))
   active#(b()) -> mark#(a())
   mark#(f(X1,X2,X3)) -> mark#(X2)
   mark#(f(X1,X2,X3)) -> f#(X1,mark(X2),X3)
   mark#(f(X1,X2,X3)) -> active#(f(X1,mark(X2),X3))
   mark#(a()) -> active#(a())
   mark#(b()) -> active#(b())
   f#(mark(X1),X2,X3) -> f#(X1,X2,X3)
   f#(X1,mark(X2),X3) -> f#(X1,X2,X3)
   f#(X1,X2,mark(X3)) -> f#(X1,X2,X3)
   f#(active(X1),X2,X3) -> f#(X1,X2,X3)
   f#(X1,active(X2),X3) -> f#(X1,X2,X3)
   f#(X1,X2,active(X3)) -> f#(X1,X2,X3)
  TRS:
   active(f(a(),X,X)) -> mark(f(X,b(),b()))
   active(b()) -> mark(a())
   mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
   mark(a()) -> active(a())
   mark(b()) -> active(b())
   f(mark(X1),X2,X3) -> f(X1,X2,X3)
   f(X1,mark(X2),X3) -> f(X1,X2,X3)
   f(X1,X2,mark(X3)) -> f(X1,X2,X3)
   f(active(X1),X2,X3) -> f(X1,X2,X3)
   f(X1,active(X2),X3) -> f(X1,X2,X3)
   f(X1,X2,active(X3)) -> f(X1,X2,X3)
  Matrix Interpretation Processor: dim=3
   
   usable rules:
    active(f(a(),X,X)) -> mark(f(X,b(),b()))
    active(b()) -> mark(a())
    mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
    mark(a()) -> active(a())
    mark(b()) -> active(b())
    f(mark(X1),X2,X3) -> f(X1,X2,X3)
    f(X1,mark(X2),X3) -> f(X1,X2,X3)
    f(X1,X2,mark(X3)) -> f(X1,X2,X3)
    f(active(X1),X2,X3) -> f(X1,X2,X3)
    f(X1,active(X2),X3) -> f(X1,X2,X3)
    f(X1,X2,active(X3)) -> f(X1,X2,X3)
   interpretation:
    [mark#](x0) = [0 2 0]x0,
    
    [f#](x0, x1, x2) = [2 0 0]x0 + [0 1 0]x1 + [1 0 0]x2,
    
    [active#](x0) = [0 0 2]x0 + [1],
    
                 [1 0 1]     [1]
    [mark](x0) = [0 2 0]x0 + [1]
                 [0 0 0]     [0],
    
          [0]
    [b] = [2]
          [1],
    
                   [1 0 1]     [1]
    [active](x0) = [1 1 0]x0 + [1]
                   [0 0 0]     [0],
    
                      [2 0 0]     [0 0 0]     [3 0 0]     [0]
    [f](x0, x1, x2) = [3 0 0]x0 + [0 1 0]x1 + [3 0 0]x2 + [1]
                      [3 0 0]     [0 0 0]     [3 0 0]     [0],
    
          [1]
    [a] = [1]
          [0]
   orientation:
    active#(f(a(),X,X)) = [6 0 0]X + [7] >= [2 0 0]X + [2] = f#(X,b(),b())
    
    active#(f(a(),X,X)) = [6 0 0]X + [7] >= [6 0 0]X + [6] = mark#(f(X,b(),b()))
    
    active#(b()) = 3 >= 2 = mark#(a())
    
    mark#(f(X1,X2,X3)) = [6 0 0]X1 + [0 2 0]X2 + [6 0 0]X3 + [2] >= [0 2 0]X2 = mark#(X2)
    
    mark#(f(X1,X2,X3)) = [6 0 0]X1 + [0 2 0]X2 + [6 0 0]X3 + [2] >= [2 0 0]X1 + [0 2 0]X2 + [1 0 0]X3 + [1] = f#(X1,mark(X2),X3)
    
    mark#(f(X1,X2,X3)) = [6 0 0]X1 + [0 2 0]X2 + [6 0 0]X3 + [2] >= [6 0 0]X1 + [6 0 0]X3 + [1] = active#(f(X1,mark(X2),X3))
    
    mark#(a()) = 2 >= 1 = active#(a())
    
    mark#(b()) = 4 >= 3 = active#(b())
    
    f#(mark(X1),X2,X3) = [2 0 2]X1 + [0 1 0]X2 + [1 0 0]X3 + [2] >= [2 0 0]X1 + [0 1 0]X2 + [1 0 0]X3 = f#(X1,X2,X3)
    
    f#(X1,mark(X2),X3) = [2 0 0]X1 + [0 2 0]X2 + [1 0 0]X3 + [1] >= [2 0 0]X1 + [0 1 0]X2 + [1 0 0]X3 = f#(X1,X2,X3)
    
    f#(X1,X2,mark(X3)) = [2 0 0]X1 + [0 1 0]X2 + [1 0 1]X3 + [1] >= [2 0 0]X1 + [0 1 0]X2 + [1 0 0]X3 = f#(X1,X2,X3)
    
    f#(active(X1),X2,X3) = [2 0 2]X1 + [0 1 0]X2 + [1 0 0]X3 + [2] >= [2 0 0]X1 + [0 1 0]X2 + [1 0 0]X3 = f#(X1,X2,X3)
    
    f#(X1,active(X2),X3) = [2 0 0]X1 + [1 1 0]X2 + [1 0 0]X3 + [1] >= [2 0 0]X1 + [0 1 0]X2 + [1 0 0]X3 = f#(X1,X2,X3)
    
    f#(X1,X2,active(X3)) = [2 0 0]X1 + [0 1 0]X2 + [1 0 1]X3 + [1] >= [2 0 0]X1 + [0 1 0]X2 + [1 0 0]X3 = f#(X1,X2,X3)
    
                         [6 0 0]    [6]    [5 0 0]    [1]                     
    active(f(a(),X,X)) = [6 1 0]X + [7] >= [6 0 0]X + [7] = mark(f(X,b(),b()))
                         [0 0 0]    [0]    [0 0 0]    [0]                     
    
                  [2]    [2]            
    active(b()) = [3] >= [3] = mark(a())
                  [0]    [0]            
    
                        [5 0 0]     [0 0 0]     [6 0 0]     [1]    [5 0 0]     [0 0 0]     [6 0 0]     [1]                            
    mark(f(X1,X2,X3)) = [6 0 0]X1 + [0 2 0]X2 + [6 0 0]X3 + [3] >= [5 0 0]X1 + [0 2 0]X2 + [6 0 0]X3 + [3] = active(f(X1,mark(X2),X3))
                        [0 0 0]     [0 0 0]     [0 0 0]     [0]    [0 0 0]     [0 0 0]     [0 0 0]     [0]                            
    
                [2]    [2]              
    mark(a()) = [3] >= [3] = active(a())
                [0]    [0]              
    
                [2]    [2]              
    mark(b()) = [5] >= [3] = active(b())
                [0]    [0]              
    
                        [2 0 2]     [0 0 0]     [3 0 0]     [2]    [2 0 0]     [0 0 0]     [3 0 0]     [0]              
    f(mark(X1),X2,X3) = [3 0 3]X1 + [0 1 0]X2 + [3 0 0]X3 + [4] >= [3 0 0]X1 + [0 1 0]X2 + [3 0 0]X3 + [1] = f(X1,X2,X3)
                        [3 0 3]     [0 0 0]     [3 0 0]     [3]    [3 0 0]     [0 0 0]     [3 0 0]     [0]              
    
                        [2 0 0]     [0 0 0]     [3 0 0]     [0]    [2 0 0]     [0 0 0]     [3 0 0]     [0]              
    f(X1,mark(X2),X3) = [3 0 0]X1 + [0 2 0]X2 + [3 0 0]X3 + [2] >= [3 0 0]X1 + [0 1 0]X2 + [3 0 0]X3 + [1] = f(X1,X2,X3)
                        [3 0 0]     [0 0 0]     [3 0 0]     [0]    [3 0 0]     [0 0 0]     [3 0 0]     [0]              
    
                        [2 0 0]     [0 0 0]     [3 0 3]     [3]    [2 0 0]     [0 0 0]     [3 0 0]     [0]              
    f(X1,X2,mark(X3)) = [3 0 0]X1 + [0 1 0]X2 + [3 0 3]X3 + [4] >= [3 0 0]X1 + [0 1 0]X2 + [3 0 0]X3 + [1] = f(X1,X2,X3)
                        [3 0 0]     [0 0 0]     [3 0 3]     [3]    [3 0 0]     [0 0 0]     [3 0 0]     [0]              
    
                          [2 0 2]     [0 0 0]     [3 0 0]     [2]    [2 0 0]     [0 0 0]     [3 0 0]     [0]              
    f(active(X1),X2,X3) = [3 0 3]X1 + [0 1 0]X2 + [3 0 0]X3 + [4] >= [3 0 0]X1 + [0 1 0]X2 + [3 0 0]X3 + [1] = f(X1,X2,X3)
                          [3 0 3]     [0 0 0]     [3 0 0]     [3]    [3 0 0]     [0 0 0]     [3 0 0]     [0]              
    
                          [2 0 0]     [0 0 0]     [3 0 0]     [0]    [2 0 0]     [0 0 0]     [3 0 0]     [0]              
    f(X1,active(X2),X3) = [3 0 0]X1 + [1 1 0]X2 + [3 0 0]X3 + [2] >= [3 0 0]X1 + [0 1 0]X2 + [3 0 0]X3 + [1] = f(X1,X2,X3)
                          [3 0 0]     [0 0 0]     [3 0 0]     [0]    [3 0 0]     [0 0 0]     [3 0 0]     [0]              
    
                          [2 0 0]     [0 0 0]     [3 0 3]     [3]    [2 0 0]     [0 0 0]     [3 0 0]     [0]              
    f(X1,X2,active(X3)) = [3 0 0]X1 + [0 1 0]X2 + [3 0 3]X3 + [4] >= [3 0 0]X1 + [0 1 0]X2 + [3 0 0]X3 + [1] = f(X1,X2,X3)
                          [3 0 0]     [0 0 0]     [3 0 3]     [3]    [3 0 0]     [0 0 0]     [3 0 0]     [0]              
   problem:
    DPs:
     
    TRS:
     active(f(a(),X,X)) -> mark(f(X,b(),b()))
     active(b()) -> mark(a())
     mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
     mark(a()) -> active(a())
     mark(b()) -> active(b())
     f(mark(X1),X2,X3) -> f(X1,X2,X3)
     f(X1,mark(X2),X3) -> f(X1,X2,X3)
     f(X1,X2,mark(X3)) -> f(X1,X2,X3)
     f(active(X1),X2,X3) -> f(X1,X2,X3)
     f(X1,active(X2),X3) -> f(X1,X2,X3)
     f(X1,X2,active(X3)) -> f(X1,X2,X3)
   Qed