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:
 Complexity Transformation Processor:
  strict:
   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)
  weak:
   
  Matrix Interpretation Processor:
   dimension: 1
   max_matrix:
    1
    interpretation:
     [mark](x0) = x0 + 4,
     
     [b] = 4,
     
     [active](x0) = x0 + 5,
     
     [f](x0, x1, x2) = x0 + x1 + x2 + 8,
     
     [a] = 12
    orientation:
     active(f(a(),X,X)) = 2X + 25 >= X + 20 = mark(f(X,b(),b()))
     
     active(b()) = 9 >= 16 = mark(a())
     
     mark(f(X1,X2,X3)) = X1 + X2 + X3 + 12 >= X1 + X2 + X3 + 17 = active(f(X1,mark(X2),X3))
     
     mark(a()) = 16 >= 17 = active(a())
     
     mark(b()) = 8 >= 9 = active(b())
     
     f(mark(X1),X2,X3) = X1 + X2 + X3 + 12 >= X1 + X2 + X3 + 8 = f(X1,X2,X3)
     
     f(X1,mark(X2),X3) = X1 + X2 + X3 + 12 >= X1 + X2 + X3 + 8 = f(X1,X2,X3)
     
     f(X1,X2,mark(X3)) = X1 + X2 + X3 + 12 >= X1 + X2 + X3 + 8 = f(X1,X2,X3)
     
     f(active(X1),X2,X3) = X1 + X2 + X3 + 13 >= X1 + X2 + X3 + 8 = f(X1,X2,X3)
     
     f(X1,active(X2),X3) = X1 + X2 + X3 + 13 >= X1 + X2 + X3 + 8 = f(X1,X2,X3)
     
     f(X1,X2,active(X3)) = X1 + X2 + X3 + 13 >= X1 + X2 + X3 + 8 = f(X1,X2,X3)
    problem:
     strict:
      active(b()) -> mark(a())
      mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
      mark(a()) -> active(a())
      mark(b()) -> active(b())
     weak:
      active(f(a(),X,X)) -> mark(f(X,b(),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:
     dimension: 1
     max_matrix:
      1
      interpretation:
       [mark](x0) = x0,
       
       [b] = 5,
       
       [active](x0) = x0 + 8,
       
       [f](x0, x1, x2) = x0 + x1 + x2,
       
       [a] = 8
      orientation:
       active(b()) = 13 >= 8 = mark(a())
       
       mark(f(X1,X2,X3)) = X1 + X2 + X3 >= X1 + X2 + X3 + 8 = active(f(X1,mark(X2),X3))
       
       mark(a()) = 8 >= 16 = active(a())
       
       mark(b()) = 5 >= 13 = active(b())
       
       active(f(a(),X,X)) = 2X + 16 >= X + 10 = mark(f(X,b(),b()))
       
       f(mark(X1),X2,X3) = X1 + X2 + X3 >= X1 + X2 + X3 = f(X1,X2,X3)
       
       f(X1,mark(X2),X3) = X1 + X2 + X3 >= X1 + X2 + X3 = f(X1,X2,X3)
       
       f(X1,X2,mark(X3)) = X1 + X2 + X3 >= X1 + X2 + X3 = f(X1,X2,X3)
       
       f(active(X1),X2,X3) = X1 + X2 + X3 + 8 >= X1 + X2 + X3 = f(X1,X2,X3)
       
       f(X1,active(X2),X3) = X1 + X2 + X3 + 8 >= X1 + X2 + X3 = f(X1,X2,X3)
       
       f(X1,X2,active(X3)) = X1 + X2 + X3 + 8 >= X1 + X2 + X3 = f(X1,X2,X3)
      problem:
       strict:
        mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
        mark(a()) -> active(a())
        mark(b()) -> active(b())
       weak:
        active(b()) -> mark(a())
        active(f(a(),X,X)) -> mark(f(X,b(),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)
      Splitting Processor:
       strict:
        mark(b()) -> active(b())
       weak:
        active(b()) -> mark(a())
        active(f(a(),X,X)) -> mark(f(X,b(),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)
        mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
        mark(a()) -> active(a())
       Bounds Processor:
        bound: 0
        enrichment: match
        automaton:
         final states: {11,5,4,3}
         transitions:
          mark0(2) -> 3*
          mark0(1) -> 11*,4,3
          f0(1,1,1) -> 5*
          f0(2,2,1) -> 5*
          f0(1,1,2) -> 5*
          f0(2,2,2) -> 5*
          f0(1,2,1) -> 5*
          f0(2,1,1) -> 5*
          f0(1,2,2) -> 5*
          f0(2,1,2) -> 5*
          active0(2) -> 11*,3,4
          active0(1) -> 11*,3,4
          a0() -> 1*
          b0() -> 2*
        problem:
         strict:
          mark(a()) -> active(a())
         weak:
          mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
          mark(b()) -> active(b())
          active(b()) -> mark(a())
          active(f(a(),X,X)) -> mark(f(X,b(),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)
        Bounds Processor:
         bound: 1
         enrichment: match
         automaton:
          final states: {17,12,10,5,4,3}
          transitions:
           mark0(2) -> 3*
           mark0(11) -> 17*,3
           mark0(1) -> 17*,4,3
           f0(11,1,1) -> 5*
           f0(1,1,1) -> 5*
           f0(11,11,1) -> 5*
           f0(1,11,1) -> 5*
           f0(2,2,1) -> 5*
           f0(11,1,2) -> 5*
           f0(1,1,2) -> 5*
           f0(11,1,11) -> 5*
           f0(1,1,11) -> 5*
           f0(11,11,2) -> 5*
           f0(1,11,2) -> 5*
           f0(11,11,11) -> 5*
           f0(1,11,11) -> 5*
           f0(2,2,2) -> 5*
           f0(2,2,11) -> 5*
           f0(11,2,1) -> 5*
           f0(1,2,1) -> 5*
           f0(2,1,1) -> 5*
           f0(2,11,1) -> 5*
           f0(11,2,2) -> 5*
           f0(1,2,2) -> 5*
           f0(11,2,11) -> 5*
           f0(1,2,11) -> 5*
           f0(2,1,2) -> 5*
           f0(2,1,11) -> 5*
           f0(2,11,2) -> 5*
           f0(2,11,11) -> 5*
           active0(2) -> 17*,3,4
           active0(11) -> 17*,4
           active0(1) -> 17*,4
           a0() -> 1*
           b0() -> 2*
           active1(11) -> 10,17,12*,4
           active1(8) -> 10*,3,9
           a1() -> 11*,1,8
           4 -> 17*
           9 -> 3*
         problem:
          strict:
           
          weak:
           mark(a()) -> active(a())
           mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
           mark(b()) -> active(b())
           active(b()) -> mark(a())
           active(f(a(),X,X)) -> mark(f(X,b(),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
       
       strict:
        mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
        mark(a()) -> active(a())
       weak:
        mark(b()) -> active(b())
        active(b()) -> mark(a())
        active(f(a(),X,X)) -> mark(f(X,b(),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)
       Bounds Processor:
        bound: 1
        enrichment: match
        automaton:
         final states: {16,15,13,5,4,3}
         transitions:
          mark0(2) -> 16*,4,3
          mark0(14) -> 3*
          mark0(1) -> 3*
          f0(14,1,14) -> 5*
          f0(14,1,2) -> 5*
          f0(1,1,1) -> 5*
          f0(2,2,1) -> 5*
          f0(2,14,1) -> 5*
          f0(1,1,14) -> 5*
          f0(1,1,2) -> 5*
          f0(2,2,14) -> 5*
          f0(14,2,1) -> 5*
          f0(2,2,2) -> 5*
          f0(2,14,14) -> 5*
          f0(14,14,1) -> 5*
          f0(2,14,2) -> 5*
          f0(14,2,14) -> 5*
          f0(14,2,2) -> 5*
          f0(1,2,1) -> 5*
          f0(14,14,14) -> 5*
          f0(14,14,2) -> 5*
          f0(1,14,1) -> 5*
          f0(2,1,1) -> 5*
          f0(1,2,14) -> 5*
          f0(1,2,2) -> 5*
          f0(1,14,14) -> 5*
          f0(1,14,2) -> 5*
          f0(2,1,14) -> 5*
          f0(14,1,1) -> 5*
          f0(2,1,2) -> 5*
          active0(2) -> 16*,3,4
          active0(14) -> 4*
          active0(1) -> 4*
          a0() -> 2*
          b0() -> 1*
          active1(2) -> 16,15*,4,3
          active1(14) -> 13,15*,4
          active1(6) -> 13*,3,7
          a1() -> 2*
          b1() -> 14*,1,6
          mark1(2) -> 16,15*,3,4
          7 -> 3*
        problem:
         strict:
          
         weak:
          mark(b()) -> active(b())
          active(b()) -> mark(a())
          active(f(a(),X,X)) -> mark(f(X,b(),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)
          mark(f(X1,X2,X3)) -> active(f(X1,mark(X2),X3))
          mark(a()) -> active(a())
        Qed