WORST_CASE(?,O(n^1))
* Step 1: DependencyPairs WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
            main(x4,x2) -> app_xs#1(x4,app_xs#1(x4,x2))
        - Signature:
            {app_xs#1/2,main/2} / {Cons/2,Nil/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1,main} and constructors {Cons,Nil}
    + Applied Processor:
        DependencyPairs {dpKind_ = WIDP}
    + Details:
        We add the following weak innermost dependency pairs:
        
        Strict DPs
          app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
          app_xs#1#(Nil(),x6) -> c_2()
          main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 2: UsableRules WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            app_xs#1#(Nil(),x6) -> c_2()
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Strict TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
            main(x4,x2) -> app_xs#1(x4,app_xs#1(x4,x2))
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
          app_xs#1(Nil(),x6) -> x6
          app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
          app_xs#1#(Nil(),x6) -> c_2()
          main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
* Step 3: WeightGap WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            app_xs#1#(Nil(),x6) -> c_2()
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Strict TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnTrs}
    + Details:
        The weightgap principle applies using the following constant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(Cons) = {2},
            uargs(app_xs#1#) = {2},
            uargs(c_1) = {1},
            uargs(c_3) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                 p(Cons) = [1] x2 + [1]          
                  p(Nil) = [0]                   
             p(app_xs#1) = [4] x1 + [1] x2 + [3] 
                 p(main) = [0]                   
            p(app_xs#1#) = [9] x1 + [1] x2 + [0] 
                p(main#) = [14] x1 + [1] x2 + [2]
                  p(c_1) = [1] x1 + [2]          
                  p(c_2) = [0]                   
                  p(c_3) = [1] x1 + [0]          
          
          Following rules are strictly oriented:
          app_xs#1#(Cons(x7,x8),x10) = [1] x10 + [9] x8 + [9]   
                                     > [1] x10 + [9] x8 + [2]   
                                     = c_1(app_xs#1#(x8,x10))   
          
           app_xs#1(Cons(x7,x8),x10) = [1] x10 + [4] x8 + [7]   
                                     > [1] x10 + [4] x8 + [4]   
                                     = Cons(x7,app_xs#1(x8,x10))
          
                  app_xs#1(Nil(),x6) = [1] x6 + [3]             
                                     > [1] x6 + [0]             
                                     = x6                       
          
          
          Following rules are (at-least) weakly oriented:
          app_xs#1#(Nil(),x6) =  [1] x6 + [0]                      
                              >= [0]                               
                              =  c_2()                             
          
                 main#(x4,x2) =  [1] x2 + [14] x4 + [2]            
                              >= [1] x2 + [13] x4 + [3]            
                              =  c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: Decompose WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            app_xs#1#(Nil(),x6) -> c_2()
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
    + Details:
        We analyse the complexity of following sub-problems (R) and (S).
        Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component.
        
        Problem (R)
          - Strict DPs:
              app_xs#1#(Nil(),x6) -> c_2()
          - Weak DPs:
              app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
              main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          - Weak TRS:
              app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
              app_xs#1(Nil(),x6) -> x6
          - Signature:
              {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
          - Obligation:
              innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
        
        Problem (S)
          - Strict DPs:
              main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          - Weak DPs:
              app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
              app_xs#1#(Nil(),x6) -> c_2()
          - Weak TRS:
              app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
              app_xs#1(Nil(),x6) -> x6
          - Signature:
              {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
          - Obligation:
              innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
** Step 4.a:1: PredecessorEstimationCP WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            app_xs#1#(Nil(),x6) -> c_2()
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}}
    + Details:
        We first use the processor NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
          1: app_xs#1#(Nil(),x6) -> c_2()
          
        Consider the set of all dependency pairs
          1: app_xs#1#(Nil(),x6) -> c_2()
          2: main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          3: app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
        Processor NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}induces the complexity certificateTIME (?,O(1))
        SPACE(?,?)on application of the dependency pairs
          {1}
        These cover all (indirect) predecessors of dependency pairs
          {1,2}
        their number of applications is equally bounded.
        The dependency pairs are shifted into the weak component.
*** Step 4.a:1.a:1: NaturalMI WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            app_xs#1#(Nil(),x6) -> c_2()
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation on any intersect of rules of CDG leaf and strict-rules}
    + Details:
        We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima):
        The following argument positions are considered usable:
          uargs(c_1) = {1},
          uargs(c_3) = {1}
        
        Following symbols are considered usable:
          {app_xs#1,app_xs#1#,main#}
        TcT has computed the following interpretation:
               p(Cons) = [2]                  
                p(Nil) = [0]                  
           p(app_xs#1) = [2] x1 + [1] x2 + [0]
               p(main) = [1] x1 + [1]         
          p(app_xs#1#) = [1] x2 + [1]         
              p(main#) = [8] x1 + [4] x2 + [4]
                p(c_1) = [1] x1 + [0]         
                p(c_2) = [0]                  
                p(c_3) = [4] x1 + [0]         
        
        Following rules are strictly oriented:
        app_xs#1#(Nil(),x6) = [1] x6 + [1]
                            > [0]         
                            = c_2()       
        
        
        Following rules are (at-least) weakly oriented:
        app_xs#1#(Cons(x7,x8),x10) =  [1] x10 + [1]                     
                                   >= [1] x10 + [1]                     
                                   =  c_1(app_xs#1#(x8,x10))            
        
                      main#(x4,x2) =  [4] x2 + [8] x4 + [4]             
                                   >= [4] x2 + [8] x4 + [4]             
                                   =  c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        
         app_xs#1(Cons(x7,x8),x10) =  [1] x10 + [4]                     
                                   >= [2]                               
                                   =  Cons(x7,app_xs#1(x8,x10))         
        
                app_xs#1(Nil(),x6) =  [1] x6 + [0]                      
                                   >= [1] x6 + [0]                      
                                   =  x6                                
        
*** Step 4.a:1.a:2: Assumption WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            app_xs#1#(Nil(),x6) -> c_2()
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
    + Details:
        ()

*** Step 4.a:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            app_xs#1#(Nil(),x6) -> c_2()
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:W:app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
             -->_1 app_xs#1#(Nil(),x6) -> c_2():2
             -->_1 app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10)):1
          
          2:W:app_xs#1#(Nil(),x6) -> c_2()
             
          
          3:W:main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
             -->_1 app_xs#1#(Nil(),x6) -> c_2():2
             -->_1 app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10)):1
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          3: main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          1: app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
          2: app_xs#1#(Nil(),x6) -> c_2()
*** Step 4.a:1.b:2: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

** Step 4.b:1: PredecessorEstimation WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            app_xs#1#(Nil(),x6) -> c_2()
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {1}
        by application of
          Pre({1}) = {}.
        Here rules are labelled as follows:
          1: main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          2: app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
          3: app_xs#1#(Nil(),x6) -> c_2()
** Step 4.b:2: RemoveWeakSuffixes WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
            app_xs#1#(Nil(),x6) -> c_2()
            main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:W:app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
             -->_1 app_xs#1#(Nil(),x6) -> c_2():2
             -->_1 app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10)):1
          
          2:W:app_xs#1#(Nil(),x6) -> c_2()
             
          
          3:W:main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
             -->_1 app_xs#1#(Nil(),x6) -> c_2():2
             -->_1 app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10)):1
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          3: main#(x4,x2) -> c_3(app_xs#1#(x4,app_xs#1(x4,x2)))
          1: app_xs#1#(Cons(x7,x8),x10) -> c_1(app_xs#1#(x8,x10))
          2: app_xs#1#(Nil(),x6) -> c_2()
** Step 4.b:3: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            app_xs#1(Cons(x7,x8),x10) -> Cons(x7,app_xs#1(x8,x10))
            app_xs#1(Nil(),x6) -> x6
        - Signature:
            {app_xs#1/2,main/2,app_xs#1#/2,main#/2} / {Cons/2,Nil/0,c_1/1,c_2/0,c_3/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {app_xs#1#,main#} and constructors {Cons,Nil}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^1))