WORST_CASE(?,O(n^2))
* Step 1: NaturalMI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            a__f(X1,X2) -> f(X1,X2)
            a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
            mark(f(X1,X2)) -> a__f(mark(X1),X2)
            mark(g(X)) -> g(mark(X))
        - Signature:
            {a__f/2,mark/1} / {f/2,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {f,g}
    + 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) = {1},
          uargs(g) = {1}
        
        Following symbols are considered usable:
          {a__f,mark}
        TcT has computed the following interpretation:
          p(a__f) = [1] x1 + [8]
             p(f) = [1] x1 + [8]
             p(g) = [1] x1 + [4]
          p(mark) = [1] x1 + [0]
        
        Following rules are strictly oriented:
        a__f(g(X),Y) = [1] X + [12]           
                     > [1] X + [8]            
                     = a__f(mark(X),f(g(X),Y))
        
        
        Following rules are (at-least) weakly oriented:
           a__f(X1,X2) =  [1] X1 + [8]     
                       >= [1] X1 + [8]     
                       =  f(X1,X2)         
        
        mark(f(X1,X2)) =  [1] X1 + [8]     
                       >= [1] X1 + [8]     
                       =  a__f(mark(X1),X2)
        
            mark(g(X)) =  [1] X + [4]      
                       >= [1] X + [4]      
                       =  g(mark(X))       
        
* Step 2: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            a__f(X1,X2) -> f(X1,X2)
            mark(f(X1,X2)) -> a__f(mark(X1),X2)
            mark(g(X)) -> g(mark(X))
        - Weak TRS:
            a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
        - Signature:
            {a__f/2,mark/1} / {f/2,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {f,g}
    + 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) = {1},
            uargs(g) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a__f) = [1] x1 + [1]
               p(f) = [1] x1 + [2]
               p(g) = [1] x1 + [2]
            p(mark) = [1] x1 + [1]
          
          Following rules are strictly oriented:
          mark(f(X1,X2)) = [1] X1 + [3]     
                         > [1] X1 + [2]     
                         = a__f(mark(X1),X2)
          
          
          Following rules are (at-least) weakly oriented:
           a__f(X1,X2) =  [1] X1 + [1]           
                       >= [1] X1 + [2]           
                       =  f(X1,X2)               
          
          a__f(g(X),Y) =  [1] X + [3]            
                       >= [1] X + [2]            
                       =  a__f(mark(X),f(g(X),Y))
          
            mark(g(X)) =  [1] X + [3]            
                       >= [1] X + [3]            
                       =  g(mark(X))             
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: Ara WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            a__f(X1,X2) -> f(X1,X2)
            mark(g(X)) -> g(mark(X))
        - Weak TRS:
            a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
            mark(f(X1,X2)) -> a__f(mark(X1),X2)
        - Signature:
            {a__f/2,mark/1} / {f/2,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {f,g}
    + Applied Processor:
        Ara {heuristics_ = NoHeuristics, minDegree = 2, maxDegree = 2, araTimeout = 15, araFindStrictRules = Just 1}
    + Details:
        Signatures used:
        ----------------
          a__f :: [A(8, 7) x A(0, 0)] -(2)-> A(1, 7)
          f :: [A(15, 7) x A(0, 0)] -(8)-> A(8, 7)
          f :: [A(8, 7) x A(0, 0)] -(1)-> A(1, 7)
          f :: [A(0, 0) x A(0, 0)] -(0)-> A(0, 0)
          g :: [A(15, 7)] -(8)-> A(8, 7)
          g :: [A(11, 7)] -(4)-> A(4, 7)
          g :: [A(0, 0)] -(0)-> A(0, 0)
          mark :: [A(8, 7)] -(7)-> A(4, 7)
        
        
        Cost-free Signatures used:
        --------------------------
          a__f :: [A_cf(7, 0) x A_cf(0, 0)] -(7)-> A_cf(7, 0)
          a__f :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0)
          a__f :: [A_cf(4, 0) x A_cf(0, 0)] -(4)-> A_cf(4, 0)
          a__f :: [A_cf(3, 0) x A_cf(0, 0)] -(3)-> A_cf(3, 0)
          f :: [A_cf(7, 0) x A_cf(0, 0)] -(7)-> A_cf(7, 0)
          f :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0)
          f :: [A_cf(4, 0) x A_cf(0, 0)] -(4)-> A_cf(4, 0)
          f :: [A_cf(3, 0) x A_cf(0, 0)] -(3)-> A_cf(3, 0)
          g :: [A_cf(7, 0)] -(7)-> A_cf(7, 0)
          g :: [A_cf(0, 0)] -(0)-> A_cf(0, 0)
          g :: [A_cf(4, 0)] -(4)-> A_cf(4, 0)
          g :: [A_cf(3, 0)] -(3)-> A_cf(3, 0)
          mark :: [A_cf(7, 0)] -(0)-> A_cf(7, 0)
          mark :: [A_cf(0, 0)] -(0)-> A_cf(0, 0)
          mark :: [A_cf(4, 0)] -(0)-> A_cf(4, 0)
          mark :: [A_cf(3, 0)] -(0)-> A_cf(3, 0)
          mark :: [A_cf(7, 0)] -(1)-> A_cf(7, 0)
        
        
        Base Constructor Signatures used:
        ---------------------------------
          f_A :: [A(1, 0) x A(0, 0)] -(1)-> A(1, 0)
          f_A :: [A(1, 1) x A(0, 0)] -(0)-> A(0, 1)
          g_A :: [A(1, 0)] -(1)-> A(1, 0)
          g_A :: [A(1, 1)] -(0)-> A(0, 1)
        
        
        Following Still Strict Rules were Typed as:
        -------------------------------------------
        1. Strict:
          a__f(X1,X2) -> f(X1,X2)
        2. Weak:
          mark(g(X)) -> g(mark(X))
* Step 4: Ara WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            mark(g(X)) -> g(mark(X))
        - Weak TRS:
            a__f(X1,X2) -> f(X1,X2)
            a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
            mark(f(X1,X2)) -> a__f(mark(X1),X2)
        - Signature:
            {a__f/2,mark/1} / {f/2,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {f,g}
    + Applied Processor:
        Ara {heuristics_ = NoHeuristics, minDegree = 2, maxDegree = 2, araTimeout = 15, araFindStrictRules = Just 1}
    + Details:
        Signatures used:
        ----------------
          a__f :: [A(12, 2) x A(0, 0)] -(2)-> A(12, 2)
          f :: [A(13, 2) x A(0, 0)] -(2)-> A(13, 2)
          f :: [A(12, 2) x A(0, 0)] -(2)-> A(12, 2)
          f :: [A(0, 0) x A(0, 0)] -(0)-> A(0, 0)
          g :: [A(15, 2)] -(13)-> A(13, 2)
          g :: [A(14, 2)] -(12)-> A(12, 2)
          g :: [A(0, 0)] -(0)-> A(0, 0)
          mark :: [A(13, 2)] -(7)-> A(12, 2)
        
        
        Cost-free Signatures used:
        --------------------------
          a__f :: [A_cf(2, 0) x A_cf(0, 0)] -(0)-> A_cf(2, 0)
          a__f :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0)
          f :: [A_cf(2, 0) x A_cf(0, 0)] -(0)-> A_cf(2, 0)
          f :: [A_cf(0, 0) x A_cf(0, 0)] -(0)-> A_cf(0, 0)
          g :: [A_cf(2, 0)] -(2)-> A_cf(2, 0)
          g :: [A_cf(0, 0)] -(0)-> A_cf(0, 0)
          mark :: [A_cf(2, 0)] -(0)-> A_cf(2, 0)
          mark :: [A_cf(0, 0)] -(0)-> A_cf(0, 0)
        
        
        Base Constructor Signatures used:
        ---------------------------------
          f_A :: [A(1, 0) x A(0, 0)] -(0)-> A(1, 0)
          f_A :: [A(0, 1) x A(0, 0)] -(1)-> A(0, 1)
          g_A :: [A(1, 0)] -(1)-> A(1, 0)
          g_A :: [A(1, 1)] -(0)-> A(0, 1)
        
        
        Following Still Strict Rules were Typed as:
        -------------------------------------------
        1. Strict:
          mark(g(X)) -> g(mark(X))
        2. Weak:
          
* Step 5: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            a__f(X1,X2) -> f(X1,X2)
            a__f(g(X),Y) -> a__f(mark(X),f(g(X),Y))
            mark(f(X1,X2)) -> a__f(mark(X1),X2)
            mark(g(X)) -> g(mark(X))
        - Signature:
            {a__f/2,mark/1} / {f/2,g/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {a__f,mark} and constructors {f,g}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^2))