MAYBE

Problem:
 a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
 a__c() -> a()
 a__c() -> b()
 mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
 mark(c()) -> a__c()
 mark(a()) -> a()
 mark(b()) -> b()
 a__f(X1,X2,X3) -> f(X1,X2,X3)
 a__c() -> c()

Proof:
 DP Processor:
  DPs:
   a__f#(a(),b(),X) -> mark#(X)
   a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
   mark#(f(X1,X2,X3)) -> mark#(X3)
   mark#(f(X1,X2,X3)) -> mark#(X1)
   mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3))
   mark#(c()) -> a__c#()
  TRS:
   a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
   a__c() -> a()
   a__c() -> b()
   mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
   mark(c()) -> a__c()
   mark(a()) -> a()
   mark(b()) -> b()
   a__f(X1,X2,X3) -> f(X1,X2,X3)
   a__c() -> c()
  TDG Processor:
   DPs:
    a__f#(a(),b(),X) -> mark#(X)
    a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
    mark#(f(X1,X2,X3)) -> mark#(X3)
    mark#(f(X1,X2,X3)) -> mark#(X1)
    mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3))
    mark#(c()) -> a__c#()
   TRS:
    a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
    a__c() -> a()
    a__c() -> b()
    mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
    mark(c()) -> a__c()
    mark(a()) -> a()
    mark(b()) -> b()
    a__f(X1,X2,X3) -> f(X1,X2,X3)
    a__c() -> c()
   graph:
    mark#(f(X1,X2,X3)) -> mark#(X3) -> mark#(c()) -> a__c#()
    mark#(f(X1,X2,X3)) -> mark#(X3) ->
    mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3))
    mark#(f(X1,X2,X3)) -> mark#(X3) ->
    mark#(f(X1,X2,X3)) -> mark#(X1)
    mark#(f(X1,X2,X3)) -> mark#(X3) ->
    mark#(f(X1,X2,X3)) -> mark#(X3)
    mark#(f(X1,X2,X3)) -> mark#(X1) -> mark#(c()) -> a__c#()
    mark#(f(X1,X2,X3)) -> mark#(X1) ->
    mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3))
    mark#(f(X1,X2,X3)) -> mark#(X1) ->
    mark#(f(X1,X2,X3)) -> mark#(X1)
    mark#(f(X1,X2,X3)) -> mark#(X1) ->
    mark#(f(X1,X2,X3)) -> mark#(X3)
    mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3)) ->
    a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
    mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3)) ->
    a__f#(a(),b(),X) -> mark#(X)
    a__f#(a(),b(),X) -> mark#(X) -> mark#(c()) -> a__c#()
    a__f#(a(),b(),X) -> mark#(X) ->
    mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3))
    a__f#(a(),b(),X) -> mark#(X) -> mark#(f(X1,X2,X3)) -> mark#(X1)
    a__f#(a(),b(),X) -> mark#(X) ->
    mark#(f(X1,X2,X3)) -> mark#(X3)
    a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X)) ->
    a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
    a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X)) -> a__f#(a(),b(),X) -> mark#(X)
   SCC Processor:
    #sccs: 1
    #rules: 5
    #arcs: 16/36
    DPs:
     mark#(f(X1,X2,X3)) -> mark#(X3)
     mark#(f(X1,X2,X3)) -> mark#(X1)
     mark#(f(X1,X2,X3)) -> a__f#(mark(X1),X2,mark(X3))
     a__f#(a(),b(),X) -> mark#(X)
     a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
    TRS:
     a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
     a__c() -> a()
     a__c() -> b()
     mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
     mark(c()) -> a__c()
     mark(a()) -> a()
     mark(b()) -> b()
     a__f(X1,X2,X3) -> f(X1,X2,X3)
     a__c() -> c()
    Arctic Interpretation Processor:
     dimension: 1
     interpretation:
      [mark#](x0) = 2x0,
      
      [a__f#](x0, x1, x2) = x1 + 2x2,
      
      [c] = 0,
      
      [f](x0, x1, x2) = x0 + 1x1 + 2x2,
      
      [a__c] = 0,
      
      [mark](x0) = x0,
      
      [a__f](x0, x1, x2) = x0 + 1x1 + 2x2,
      
      [b] = 0,
      
      [a] = 0
     orientation:
      mark#(f(X1,X2,X3)) = 2X1 + 3X2 + 4X3 >= 2X3 = mark#(X3)
      
      mark#(f(X1,X2,X3)) = 2X1 + 3X2 + 4X3 >= 2X1 = mark#(X1)
      
      mark#(f(X1,X2,X3)) = 2X1 + 3X2 + 4X3 >= X2 + 2X3 = a__f#(mark(X1),X2,mark(X3))
      
      a__f#(a(),b(),X) = 2X + 0 >= 2X = mark#(X)
      
      a__f#(a(),b(),X) = 2X + 0 >= 2X = a__f#(mark(X),X,mark(X))
      
      a__f(a(),b(),X) = 2X + 1 >= 2X = a__f(mark(X),X,mark(X))
      
      a__c() = 0 >= 0 = a()
      
      a__c() = 0 >= 0 = b()
      
      mark(f(X1,X2,X3)) = X1 + 1X2 + 2X3 >= X1 + 1X2 + 2X3 = a__f(mark(X1),X2,mark(X3))
      
      mark(c()) = 0 >= 0 = a__c()
      
      mark(a()) = 0 >= 0 = a()
      
      mark(b()) = 0 >= 0 = b()
      
      a__f(X1,X2,X3) = X1 + 1X2 + 2X3 >= X1 + 1X2 + 2X3 = f(X1,X2,X3)
      
      a__c() = 0 >= 0 = c()
     problem:
      DPs:
       mark#(f(X1,X2,X3)) -> mark#(X1)
       a__f#(a(),b(),X) -> mark#(X)
       a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
      TRS:
       a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
       a__c() -> a()
       a__c() -> b()
       mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
       mark(c()) -> a__c()
       mark(a()) -> a()
       mark(b()) -> b()
       a__f(X1,X2,X3) -> f(X1,X2,X3)
       a__c() -> c()
     SCC Processor:
      #sccs: 2
      #rules: 2
      #arcs: 13/9
      DPs:
       a__f#(a(),b(),X) -> a__f#(mark(X),X,mark(X))
      TRS:
       a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
       a__c() -> a()
       a__c() -> b()
       mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
       mark(c()) -> a__c()
       mark(a()) -> a()
       mark(b()) -> b()
       a__f(X1,X2,X3) -> f(X1,X2,X3)
       a__c() -> c()
      Open
      
      DPs:
       mark#(f(X1,X2,X3)) -> mark#(X1)
      TRS:
       a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
       a__c() -> a()
       a__c() -> b()
       mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
       mark(c()) -> a__c()
       mark(a()) -> a()
       mark(b()) -> b()
       a__f(X1,X2,X3) -> f(X1,X2,X3)
       a__c() -> c()
      Subterm Criterion Processor:
       simple projection:
        pi(mark#) = 0
       problem:
        DPs:
         
        TRS:
         a__f(a(),b(),X) -> a__f(mark(X),X,mark(X))
         a__c() -> a()
         a__c() -> b()
         mark(f(X1,X2,X3)) -> a__f(mark(X1),X2,mark(X3))
         mark(c()) -> a__c()
         mark(a()) -> a()
         mark(b()) -> b()
         a__f(X1,X2,X3) -> f(X1,X2,X3)
         a__c() -> c()
       Qed