WORST_CASE(?,O(n^1))
* Step 1: NaturalMI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a__c() -> b()
            a__c() -> c()
            a__f(X1,X2,X3) -> f(X1,X2,X3)
            a__f(b(),X,c()) -> a__f(X,a__c(),X)
            mark(b()) -> b()
            mark(c()) -> a__c()
            mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3)
        - Signature:
            {a__c/0,a__f/3,mark/1} / {b/0,c/0,f/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__c,a__f,mark} and constructors {b,c,f}
    + Applied Processor:
        NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules}
    + Details:
        We apply a matrix interpretation of kind constructor based matrix interpretation:
        The following argument positions are considered usable:
          uargs(a__f) = {2}
        
        Following symbols are considered usable:
          {a__c,a__f,mark}
        TcT has computed the following interpretation:
          p(a__c) = [5]                  
          p(a__f) = [1] x2 + [1] x3 + [4]
             p(b) = [0]                  
             p(c) = [5]                  
             p(f) = [1] x2 + [1] x3 + [4]
          p(mark) = [1] x1 + [6]         
        
        Following rules are strictly oriented:
           a__c() = [5]   
                  > [0]   
                  = b()   
        
        mark(b()) = [6]   
                  > [0]   
                  = b()   
        
        mark(c()) = [11]  
                  > [5]   
                  = a__c()
        
        
        Following rules are (at-least) weakly oriented:
                   a__c() =  [5]                   
                          >= [5]                   
                          =  c()                   
        
           a__f(X1,X2,X3) =  [1] X2 + [1] X3 + [4] 
                          >= [1] X2 + [1] X3 + [4] 
                          =  f(X1,X2,X3)           
        
          a__f(b(),X,c()) =  [1] X + [9]           
                          >= [1] X + [9]           
                          =  a__f(X,a__c(),X)      
        
        mark(f(X1,X2,X3)) =  [1] X2 + [1] X3 + [10]
                          >= [1] X2 + [1] X3 + [10]
                          =  a__f(X1,mark(X2),X3)  
        
* Step 2: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a__c() -> c()
            a__f(X1,X2,X3) -> f(X1,X2,X3)
            a__f(b(),X,c()) -> a__f(X,a__c(),X)
            mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3)
        - Weak TRS:
            a__c() -> b()
            mark(b()) -> b()
            mark(c()) -> a__c()
        - Signature:
            {a__c/0,a__f/3,mark/1} / {b/0,c/0,f/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__c,a__f,mark} and constructors {b,c,f}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(a__f) = {2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a__c) = [0]                  
            p(a__f) = [1] x1 + [1] x2 + [1]
               p(b) = [0]                  
               p(c) = [1]                  
               p(f) = [1] x1 + [1] x2 + [2]
            p(mark) = [8] x1 + [9]         
          
          Following rules are strictly oriented:
          mark(f(X1,X2,X3)) = [8] X1 + [8] X2 + [25]
                            > [1] X1 + [8] X2 + [10]
                            = a__f(X1,mark(X2),X3)  
          
          
          Following rules are (at-least) weakly oriented:
                   a__c() =  [0]                  
                          >= [0]                  
                          =  b()                  
          
                   a__c() =  [0]                  
                          >= [1]                  
                          =  c()                  
          
           a__f(X1,X2,X3) =  [1] X1 + [1] X2 + [1]
                          >= [1] X1 + [1] X2 + [2]
                          =  f(X1,X2,X3)          
          
          a__f(b(),X,c()) =  [1] X + [1]          
                          >= [1] X + [1]          
                          =  a__f(X,a__c(),X)     
          
                mark(b()) =  [9]                  
                          >= [0]                  
                          =  b()                  
          
                mark(c()) =  [17]                 
                          >= [0]                  
                          =  a__c()               
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a__c() -> c()
            a__f(X1,X2,X3) -> f(X1,X2,X3)
            a__f(b(),X,c()) -> a__f(X,a__c(),X)
        - Weak TRS:
            a__c() -> b()
            mark(b()) -> b()
            mark(c()) -> a__c()
            mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3)
        - Signature:
            {a__c/0,a__f/3,mark/1} / {b/0,c/0,f/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__c,a__f,mark} and constructors {b,c,f}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(a__f) = {2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a__c) = [0]                  
            p(a__f) = [1] x1 + [1] x2 + [8]
               p(b) = [0]                  
               p(c) = [0]                  
               p(f) = [1] x1 + [1] x2 + [2]
            p(mark) = [4] x1 + [4]         
          
          Following rules are strictly oriented:
          a__f(X1,X2,X3) = [1] X1 + [1] X2 + [8]
                         > [1] X1 + [1] X2 + [2]
                         = f(X1,X2,X3)          
          
          
          Following rules are (at-least) weakly oriented:
                     a__c() =  [0]                   
                            >= [0]                   
                            =  b()                   
          
                     a__c() =  [0]                   
                            >= [0]                   
                            =  c()                   
          
            a__f(b(),X,c()) =  [1] X + [8]           
                            >= [1] X + [8]           
                            =  a__f(X,a__c(),X)      
          
                  mark(b()) =  [4]                   
                            >= [0]                   
                            =  b()                   
          
                  mark(c()) =  [4]                   
                            >= [0]                   
                            =  a__c()                
          
          mark(f(X1,X2,X3)) =  [4] X1 + [4] X2 + [12]
                            >= [1] X1 + [4] X2 + [12]
                            =  a__f(X1,mark(X2),X3)  
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a__c() -> c()
            a__f(b(),X,c()) -> a__f(X,a__c(),X)
        - Weak TRS:
            a__c() -> b()
            a__f(X1,X2,X3) -> f(X1,X2,X3)
            mark(b()) -> b()
            mark(c()) -> a__c()
            mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3)
        - Signature:
            {a__c/0,a__f/3,mark/1} / {b/0,c/0,f/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__c,a__f,mark} and constructors {b,c,f}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(a__f) = {2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a__c) = [0]                  
            p(a__f) = [1] x2 + [1] x3 + [0]
               p(b) = [0]                  
               p(c) = [5]                  
               p(f) = [1] x2 + [1] x3 + [0]
            p(mark) = [2] x1 + [4]         
          
          Following rules are strictly oriented:
          a__f(b(),X,c()) = [1] X + [5]     
                          > [1] X + [0]     
                          = a__f(X,a__c(),X)
          
          
          Following rules are (at-least) weakly oriented:
                     a__c() =  [0]                  
                            >= [0]                  
                            =  b()                  
          
                     a__c() =  [0]                  
                            >= [5]                  
                            =  c()                  
          
             a__f(X1,X2,X3) =  [1] X2 + [1] X3 + [0]
                            >= [1] X2 + [1] X3 + [0]
                            =  f(X1,X2,X3)          
          
                  mark(b()) =  [4]                  
                            >= [0]                  
                            =  b()                  
          
                  mark(c()) =  [14]                 
                            >= [0]                  
                            =  a__c()               
          
          mark(f(X1,X2,X3)) =  [2] X2 + [2] X3 + [4]
                            >= [2] X2 + [1] X3 + [4]
                            =  a__f(X1,mark(X2),X3) 
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 5: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            a__c() -> c()
        - Weak TRS:
            a__c() -> b()
            a__f(X1,X2,X3) -> f(X1,X2,X3)
            a__f(b(),X,c()) -> a__f(X,a__c(),X)
            mark(b()) -> b()
            mark(c()) -> a__c()
            mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3)
        - Signature:
            {a__c/0,a__f/3,mark/1} / {b/0,c/0,f/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__c,a__f,mark} and constructors {b,c,f}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(a__f) = {2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a__c) = [1]                  
            p(a__f) = [1] x1 + [1] x2 + [0]
               p(b) = [1]                  
               p(c) = [0]                  
               p(f) = [1] x1 + [1] x2 + [0]
            p(mark) = [1] x1 + [11]        
          
          Following rules are strictly oriented:
          a__c() = [1]
                 > [0]
                 = c()
          
          
          Following rules are (at-least) weakly oriented:
                     a__c() =  [1]                   
                            >= [1]                   
                            =  b()                   
          
             a__f(X1,X2,X3) =  [1] X1 + [1] X2 + [0] 
                            >= [1] X1 + [1] X2 + [0] 
                            =  f(X1,X2,X3)           
          
            a__f(b(),X,c()) =  [1] X + [1]           
                            >= [1] X + [1]           
                            =  a__f(X,a__c(),X)      
          
                  mark(b()) =  [12]                  
                            >= [1]                   
                            =  b()                   
          
                  mark(c()) =  [11]                  
                            >= [1]                   
                            =  a__c()                
          
          mark(f(X1,X2,X3)) =  [1] X1 + [1] X2 + [11]
                            >= [1] X1 + [1] X2 + [11]
                            =  a__f(X1,mark(X2),X3)  
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 6: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            a__c() -> b()
            a__c() -> c()
            a__f(X1,X2,X3) -> f(X1,X2,X3)
            a__f(b(),X,c()) -> a__f(X,a__c(),X)
            mark(b()) -> b()
            mark(c()) -> a__c()
            mark(f(X1,X2,X3)) -> a__f(X1,mark(X2),X3)
        - Signature:
            {a__c/0,a__f/3,mark/1} / {b/0,c/0,f/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__c,a__f,mark} and constructors {b,c,f}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))