MAYBE

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

Proof:
 DP Processor:
  DPs:
   active#(f(X,X)) -> f#(a(),b())
   active#(f(X,X)) -> mark#(f(a(),b()))
   active#(b()) -> mark#(a())
   mark#(f(X1,X2)) -> mark#(X1)
   mark#(f(X1,X2)) -> f#(mark(X1),X2)
   mark#(f(X1,X2)) -> active#(f(mark(X1),X2))
   mark#(a()) -> active#(a())
   mark#(b()) -> active#(b())
   f#(mark(X1),X2) -> f#(X1,X2)
   f#(X1,mark(X2)) -> f#(X1,X2)
   f#(active(X1),X2) -> f#(X1,X2)
   f#(X1,active(X2)) -> f#(X1,X2)
  TRS:
   active(f(X,X)) -> mark(f(a(),b()))
   active(b()) -> mark(a())
   mark(f(X1,X2)) -> active(f(mark(X1),X2))
   mark(a()) -> active(a())
   mark(b()) -> active(b())
   f(mark(X1),X2) -> f(X1,X2)
   f(X1,mark(X2)) -> f(X1,X2)
   f(active(X1),X2) -> f(X1,X2)
   f(X1,active(X2)) -> f(X1,X2)
  EDG Processor:
   DPs:
    active#(f(X,X)) -> f#(a(),b())
    active#(f(X,X)) -> mark#(f(a(),b()))
    active#(b()) -> mark#(a())
    mark#(f(X1,X2)) -> mark#(X1)
    mark#(f(X1,X2)) -> f#(mark(X1),X2)
    mark#(f(X1,X2)) -> active#(f(mark(X1),X2))
    mark#(a()) -> active#(a())
    mark#(b()) -> active#(b())
    f#(mark(X1),X2) -> f#(X1,X2)
    f#(X1,mark(X2)) -> f#(X1,X2)
    f#(active(X1),X2) -> f#(X1,X2)
    f#(X1,active(X2)) -> f#(X1,X2)
   TRS:
    active(f(X,X)) -> mark(f(a(),b()))
    active(b()) -> mark(a())
    mark(f(X1,X2)) -> active(f(mark(X1),X2))
    mark(a()) -> active(a())
    mark(b()) -> active(b())
    f(mark(X1),X2) -> f(X1,X2)
    f(X1,mark(X2)) -> f(X1,X2)
    f(active(X1),X2) -> f(X1,X2)
    f(X1,active(X2)) -> f(X1,X2)
   graph:
    mark#(b()) -> active#(b()) -> active#(b()) -> mark#(a())
    mark#(f(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> mark#(X1)
    mark#(f(X1,X2)) -> mark#(X1) -> mark#(f(X1,X2)) -> f#(mark(X1),X2)
    mark#(f(X1,X2)) -> mark#(X1) ->
    mark#(f(X1,X2)) -> active#(f(mark(X1),X2))
    mark#(f(X1,X2)) -> mark#(X1) -> mark#(a()) -> active#(a())
    mark#(f(X1,X2)) -> mark#(X1) -> mark#(b()) -> active#(b())
    mark#(f(X1,X2)) -> f#(mark(X1),X2) ->
    f#(mark(X1),X2) -> f#(X1,X2)
    mark#(f(X1,X2)) -> f#(mark(X1),X2) ->
    f#(active(X1),X2) -> f#(X1,X2)
    mark#(f(X1,X2)) -> active#(f(mark(X1),X2)) ->
    active#(f(X,X)) -> f#(a(),b())
    mark#(f(X1,X2)) -> active#(f(mark(X1),X2)) ->
    active#(f(X,X)) -> mark#(f(a(),b()))
    f#(mark(X1),X2) -> f#(X1,X2) -> f#(mark(X1),X2) -> f#(X1,X2)
    f#(mark(X1),X2) -> f#(X1,X2) -> f#(X1,mark(X2)) -> f#(X1,X2)
    f#(mark(X1),X2) -> f#(X1,X2) -> f#(active(X1),X2) -> f#(X1,X2)
    f#(mark(X1),X2) -> f#(X1,X2) -> f#(X1,active(X2)) -> f#(X1,X2)
    f#(active(X1),X2) -> f#(X1,X2) -> f#(mark(X1),X2) -> f#(X1,X2)
    f#(active(X1),X2) -> f#(X1,X2) -> f#(X1,mark(X2)) -> f#(X1,X2)
    f#(active(X1),X2) -> f#(X1,X2) -> f#(active(X1),X2) -> f#(X1,X2)
    f#(active(X1),X2) -> f#(X1,X2) -> f#(X1,active(X2)) -> f#(X1,X2)
    f#(X1,mark(X2)) -> f#(X1,X2) -> f#(mark(X1),X2) -> f#(X1,X2)
    f#(X1,mark(X2)) -> f#(X1,X2) -> f#(X1,mark(X2)) -> f#(X1,X2)
    f#(X1,mark(X2)) -> f#(X1,X2) -> f#(active(X1),X2) -> f#(X1,X2)
    f#(X1,mark(X2)) -> f#(X1,X2) -> f#(X1,active(X2)) -> f#(X1,X2)
    f#(X1,active(X2)) -> f#(X1,X2) -> f#(mark(X1),X2) -> f#(X1,X2)
    f#(X1,active(X2)) -> f#(X1,X2) -> f#(X1,mark(X2)) -> f#(X1,X2)
    f#(X1,active(X2)) -> f#(X1,X2) -> f#(active(X1),X2) -> f#(X1,X2)
    f#(X1,active(X2)) -> f#(X1,X2) -> f#(X1,active(X2)) -> f#(X1,X2)
    active#(b()) -> mark#(a()) -> mark#(a()) -> active#(a())
    active#(f(X,X)) -> mark#(f(a(),b())) ->
    mark#(f(X1,X2)) -> mark#(X1)
    active#(f(X,X)) -> mark#(f(a(),b())) ->
    mark#(f(X1,X2)) -> f#(mark(X1),X2)
    active#(f(X,X)) -> mark#(f(a(),b())) -> mark#(f(X1,X2)) -> active#(f(mark(X1),X2))
   SCC Processor:
    #sccs: 2
    #rules: 7
    #arcs: 30/144
    DPs:
     mark#(f(X1,X2)) -> mark#(X1)
     mark#(f(X1,X2)) -> active#(f(mark(X1),X2))
     active#(f(X,X)) -> mark#(f(a(),b()))
    TRS:
     active(f(X,X)) -> mark(f(a(),b()))
     active(b()) -> mark(a())
     mark(f(X1,X2)) -> active(f(mark(X1),X2))
     mark(a()) -> active(a())
     mark(b()) -> active(b())
     f(mark(X1),X2) -> f(X1,X2)
     f(X1,mark(X2)) -> f(X1,X2)
     f(active(X1),X2) -> f(X1,X2)
     f(X1,active(X2)) -> f(X1,X2)
    Matrix Interpretation Processor:
     dimension: 1
     interpretation:
      [mark#](x0) = x0,
      
      [active#](x0) = 1,
      
      [mark](x0) = x0,
      
      [b] = 0,
      
      [a] = 0,
      
      [active](x0) = x0,
      
      [f](x0, x1) = x0 + 1
     orientation:
      mark#(f(X1,X2)) = X1 + 1 >= X1 = mark#(X1)
      
      mark#(f(X1,X2)) = X1 + 1 >= 1 = active#(f(mark(X1),X2))
      
      active#(f(X,X)) = 1 >= 1 = mark#(f(a(),b()))
      
      active(f(X,X)) = X + 1 >= 1 = mark(f(a(),b()))
      
      active(b()) = 0 >= 0 = mark(a())
      
      mark(f(X1,X2)) = X1 + 1 >= X1 + 1 = active(f(mark(X1),X2))
      
      mark(a()) = 0 >= 0 = active(a())
      
      mark(b()) = 0 >= 0 = active(b())
      
      f(mark(X1),X2) = X1 + 1 >= X1 + 1 = f(X1,X2)
      
      f(X1,mark(X2)) = X1 + 1 >= X1 + 1 = f(X1,X2)
      
      f(active(X1),X2) = X1 + 1 >= X1 + 1 = f(X1,X2)
      
      f(X1,active(X2)) = X1 + 1 >= X1 + 1 = f(X1,X2)
     problem:
      DPs:
       mark#(f(X1,X2)) -> active#(f(mark(X1),X2))
       active#(f(X,X)) -> mark#(f(a(),b()))
      TRS:
       active(f(X,X)) -> mark(f(a(),b()))
       active(b()) -> mark(a())
       mark(f(X1,X2)) -> active(f(mark(X1),X2))
       mark(a()) -> active(a())
       mark(b()) -> active(b())
       f(mark(X1),X2) -> f(X1,X2)
       f(X1,mark(X2)) -> f(X1,X2)
       f(active(X1),X2) -> f(X1,X2)
       f(X1,active(X2)) -> f(X1,X2)
     Open
    
    DPs:
     f#(active(X1),X2) -> f#(X1,X2)
     f#(X1,active(X2)) -> f#(X1,X2)
     f#(X1,mark(X2)) -> f#(X1,X2)
     f#(mark(X1),X2) -> f#(X1,X2)
    TRS:
     active(f(X,X)) -> mark(f(a(),b()))
     active(b()) -> mark(a())
     mark(f(X1,X2)) -> active(f(mark(X1),X2))
     mark(a()) -> active(a())
     mark(b()) -> active(b())
     f(mark(X1),X2) -> f(X1,X2)
     f(X1,mark(X2)) -> f(X1,X2)
     f(active(X1),X2) -> f(X1,X2)
     f(X1,active(X2)) -> f(X1,X2)
    Matrix Interpretation Processor:
     dimension: 1
     interpretation:
      [f#](x0, x1) = x1,
      
      [mark](x0) = x0 + 1,
      
      [b] = 0,
      
      [a] = 0,
      
      [active](x0) = x0 + 1,
      
      [f](x0, x1) = x1
     orientation:
      f#(active(X1),X2) = X2 >= X2 = f#(X1,X2)
      
      f#(X1,active(X2)) = X2 + 1 >= X2 = f#(X1,X2)
      
      f#(X1,mark(X2)) = X2 + 1 >= X2 = f#(X1,X2)
      
      f#(mark(X1),X2) = X2 >= X2 = f#(X1,X2)
      
      active(f(X,X)) = X + 1 >= 1 = mark(f(a(),b()))
      
      active(b()) = 1 >= 1 = mark(a())
      
      mark(f(X1,X2)) = X2 + 1 >= X2 + 1 = active(f(mark(X1),X2))
      
      mark(a()) = 1 >= 1 = active(a())
      
      mark(b()) = 1 >= 1 = active(b())
      
      f(mark(X1),X2) = X2 >= X2 = f(X1,X2)
      
      f(X1,mark(X2)) = X2 + 1 >= X2 = f(X1,X2)
      
      f(active(X1),X2) = X2 >= X2 = f(X1,X2)
      
      f(X1,active(X2)) = X2 + 1 >= X2 = f(X1,X2)
     problem:
      DPs:
       f#(active(X1),X2) -> f#(X1,X2)
       f#(mark(X1),X2) -> f#(X1,X2)
      TRS:
       active(f(X,X)) -> mark(f(a(),b()))
       active(b()) -> mark(a())
       mark(f(X1,X2)) -> active(f(mark(X1),X2))
       mark(a()) -> active(a())
       mark(b()) -> active(b())
       f(mark(X1),X2) -> f(X1,X2)
       f(X1,mark(X2)) -> f(X1,X2)
       f(active(X1),X2) -> f(X1,X2)
       f(X1,active(X2)) -> f(X1,X2)
     Matrix Interpretation Processor:
      dimension: 1
      interpretation:
       [f#](x0, x1) = x0 + 1,
       
       [mark](x0) = x0 + 1,
       
       [b] = 0,
       
       [a] = 0,
       
       [active](x0) = x0 + 1,
       
       [f](x0, x1) = 1
      orientation:
       f#(active(X1),X2) = X1 + 2 >= X1 + 1 = f#(X1,X2)
       
       f#(mark(X1),X2) = X1 + 2 >= X1 + 1 = f#(X1,X2)
       
       active(f(X,X)) = 2 >= 2 = mark(f(a(),b()))
       
       active(b()) = 1 >= 1 = mark(a())
       
       mark(f(X1,X2)) = 2 >= 2 = active(f(mark(X1),X2))
       
       mark(a()) = 1 >= 1 = active(a())
       
       mark(b()) = 1 >= 1 = active(b())
       
       f(mark(X1),X2) = 1 >= 1 = f(X1,X2)
       
       f(X1,mark(X2)) = 1 >= 1 = f(X1,X2)
       
       f(active(X1),X2) = 1 >= 1 = f(X1,X2)
       
       f(X1,active(X2)) = 1 >= 1 = f(X1,X2)
      problem:
       DPs:
        
       TRS:
        active(f(X,X)) -> mark(f(a(),b()))
        active(b()) -> mark(a())
        mark(f(X1,X2)) -> active(f(mark(X1),X2))
        mark(a()) -> active(a())
        mark(b()) -> active(b())
        f(mark(X1),X2) -> f(X1,X2)
        f(X1,mark(X2)) -> f(X1,X2)
        f(active(X1),X2) -> f(X1,X2)
        f(X1,active(X2)) -> f(X1,X2)
      Qed