* Step 1: Sum WORST_CASE(Omega(n^1),O(n^2))
    + Considered Problem:
        - Strict TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1} / {0/0,cons/2,nil/0,s/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose,insert,sort} and constructors {0,cons,nil,s}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1} / {0/0,cons/2,nil/0,s/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose,insert,sort} and constructors {0,cons,nil,s}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          choose(x,cons(y,z),u,v){u -> s(u),v -> s(v)} =
            choose(x,cons(y,z),s(u),s(v)) ->^+ choose(x,cons(y,z),u,v)
              = C[choose(x,cons(y,z),u,v) = choose(x,cons(y,z),u,v){}]

** Step 1.b:1: DependencyPairs WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1} / {0/0,cons/2,nil/0,s/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose,insert,sort} and constructors {0,cons,nil,s}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          choose#(x,cons(v,w),y,0()) -> c_1()
          choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
          choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
          insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          insert#(x,nil()) -> c_5()
          sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
          sort#(nil()) -> c_7()
        Weak DPs
          
        
        and mark the set of starting terms.
** Step 1.b:2: PredecessorEstimation WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),y,0()) -> c_1()
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            insert#(x,nil()) -> c_5()
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
            sort#(nil()) -> c_7()
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {1,5,7}
        by application of
          Pre({1,5,7}) = {2,3,4,6}.
        Here rules are labelled as follows:
          1: choose#(x,cons(v,w),y,0()) -> c_1()
          2: choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
          3: choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
          4: insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          5: insert#(x,nil()) -> c_5()
          6: sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
          7: sort#(nil()) -> c_7()
** Step 1.b:3: RemoveWeakSuffixes WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak DPs:
            choose#(x,cons(v,w),y,0()) -> c_1()
            insert#(x,nil()) -> c_5()
            sort#(nil()) -> c_7()
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
             -->_1 insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v)):3
             -->_1 insert#(x,nil()) -> c_5():6
          
          2:S:choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
             -->_1 choose#(x,cons(v,w),y,0()) -> c_1():5
             -->_1 choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z)):2
             -->_1 choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w)):1
          
          3:S:insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
             -->_1 choose#(x,cons(v,w),y,0()) -> c_1():5
             -->_1 choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z)):2
             -->_1 choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w)):1
          
          4:S:sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
             -->_2 sort#(nil()) -> c_7():7
             -->_1 insert#(x,nil()) -> c_5():6
             -->_2 sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y)):4
             -->_1 insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v)):3
          
          5:W:choose#(x,cons(v,w),y,0()) -> c_1()
             
          
          6:W:insert#(x,nil()) -> c_5()
             
          
          7:W:sort#(nil()) -> c_7()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          7: sort#(nil()) -> c_7()
          6: insert#(x,nil()) -> c_5()
          5: choose#(x,cons(v,w),y,0()) -> c_1()
** Step 1.b:4: Decompose WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + 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:
              choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
              choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
              insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          - Weak DPs:
              sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
          - Weak TRS:
              choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
              choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
              choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
              insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
              insert(x,nil()) -> cons(x,nil())
              sort(cons(x,y)) -> insert(x,sort(y))
              sort(nil()) -> nil()
          - Signature:
              {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1
              ,c_5/0,c_6/2,c_7/0}
          - Obligation:
              innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
        
        Problem (S)
          - Strict DPs:
              sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
          - Weak DPs:
              choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
              choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
              insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          - Weak TRS:
              choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
              choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
              choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
              insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
              insert(x,nil()) -> cons(x,nil())
              sort(cons(x,y)) -> insert(x,sort(y))
              sort(nil()) -> nil()
          - Signature:
              {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1
              ,c_5/0,c_6/2,c_7/0}
          - Obligation:
              innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
*** Step 1.b:4.a:1: PredecessorEstimationCP WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
        - Weak DPs:
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}}
    + Details:
        We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
          3: insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          
        The strictly oriented rules are moved into the weak component.
**** Step 1.b:4.a:1.a:1: NaturalPI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
        - Weak DPs:
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        NaturalPI {shape = Mixed 2, restrict = Restrict, 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 polynomial interpretation of kind constructor-based(mixed(2)):
        The following argument positions are considered usable:
          uargs(c_2) = {1},
          uargs(c_3) = {1},
          uargs(c_4) = {1},
          uargs(c_6) = {1,2}
        
        Following symbols are considered usable:
          {choose,insert,sort,choose#,insert#,sort#}
        TcT has computed the following interpretation:
                p(0) = 0            
           p(choose) = 2 + x2       
             p(cons) = 1 + x2       
           p(insert) = 2 + x2       
              p(nil) = 0            
                p(s) = 0            
             p(sort) = 2*x1         
          p(choose#) = x2           
          p(insert#) = 1 + x2       
            p(sort#) = 2*x1 + 2*x1^2
              p(c_1) = 1            
              p(c_2) = x1           
              p(c_3) = x1           
              p(c_4) = x1           
              p(c_5) = 1            
              p(c_6) = x1 + x2      
              p(c_7) = 0            
        
        Following rules are strictly oriented:
        insert#(x,cons(v,w)) = 2 + w                        
                             > 1 + w                        
                             = c_4(choose#(x,cons(v,w),x,v))
        
        
        Following rules are (at-least) weakly oriented:
         choose#(x,cons(v,w),0(),s(z)) =  1 + w                           
                                       >= 1 + w                           
                                       =  c_2(insert#(x,w))               
        
        choose#(x,cons(v,w),s(y),s(z)) =  1 + w                           
                                       >= 1 + w                           
                                       =  c_3(choose#(x,cons(v,w),y,z))   
        
                      sort#(cons(x,y)) =  4 + 6*y + 2*y^2                 
                                       >= 1 + 4*y + 2*y^2                 
                                       =  c_6(insert#(x,sort(y)),sort#(y))
        
             choose(x,cons(v,w),y,0()) =  3 + w                           
                                       >= 2 + w                           
                                       =  cons(x,cons(v,w))               
        
          choose(x,cons(v,w),0(),s(z)) =  3 + w                           
                                       >= 3 + w                           
                                       =  cons(v,insert(x,w))             
        
         choose(x,cons(v,w),s(y),s(z)) =  3 + w                           
                                       >= 3 + w                           
                                       =  choose(x,cons(v,w),y,z)         
        
                   insert(x,cons(v,w)) =  3 + w                           
                                       >= 3 + w                           
                                       =  choose(x,cons(v,w),x,v)         
        
                       insert(x,nil()) =  2                               
                                       >= 1                               
                                       =  cons(x,nil())                   
        
                       sort(cons(x,y)) =  2 + 2*y                         
                                       >= 2 + 2*y                         
                                       =  insert(x,sort(y))               
        
                           sort(nil()) =  0                               
                                       >= 0                               
                                       =  nil()                           
        
**** Step 1.b:4.a:1.a:2: Assumption WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
        - Weak DPs:
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
    + Details:
        ()

**** Step 1.b:4.a:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
        - Weak DPs:
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 2, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}}
    + Details:
        We first use the processor NaturalMI {miDimension = 2, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
          1: choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
          
        The strictly oriented rules are moved into the weak component.
***** Step 1.b:4.a:1.b:1.a:1: NaturalMI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
        - Weak DPs:
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        NaturalMI {miDimension = 2, miDegree = 2, 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:
        The following argument positions are considered usable:
          uargs(c_2) = {1},
          uargs(c_3) = {1},
          uargs(c_4) = {1},
          uargs(c_6) = {1,2}
        
        Following symbols are considered usable:
          {choose,insert,sort,choose#,insert#,sort#}
        TcT has computed the following interpretation:
                p(0) = [2]                                            
                       [0]                                            
           p(choose) = [1 1] x2 + [1]                                 
                       [0 1]      [1]                                 
             p(cons) = [1 1] x2 + [1]                                 
                       [0 1]      [1]                                 
           p(insert) = [1 1] x2 + [1]                                 
                       [0 1]      [1]                                 
              p(nil) = [0]                                            
                       [0]                                            
                p(s) = [0 2] x1 + [0]                                 
                       [0 0]      [0]                                 
             p(sort) = [1 2] x1 + [0]                                 
                       [0 1]      [2]                                 
          p(choose#) = [0 0] x1 + [0 2] x2 + [0 0] x3 + [0 0] x4 + [2]
                       [0 1]      [2 0]      [1 0]      [2 0]      [3]
          p(insert#) = [0 0] x1 + [0 2] x2 + [2]                      
                       [0 1]      [0 0]      [1]                      
            p(sort#) = [3 3] x1 + [0]                                 
                       [1 3]      [2]                                 
              p(c_1) = [2]                                            
                       [0]                                            
              p(c_2) = [1 0] x1 + [1]                                 
                       [0 1]      [0]                                 
              p(c_3) = [1 0] x1 + [0]                                 
                       [1 0]      [1]                                 
              p(c_4) = [1 0] x1 + [0]                                 
                       [0 0]      [0]                                 
              p(c_5) = [0]                                            
                       [1]                                            
              p(c_6) = [1 0] x1 + [1 0] x2 + [0]                      
                       [1 0]      [0 0]      [0]                      
              p(c_7) = [2]                                            
                       [1]                                            
        
        Following rules are strictly oriented:
        choose#(x,cons(v,w),0(),s(z)) = [0 2] w + [0 0] x + [0 0] z + [4]
                                        [2 2]     [0 1]     [0 4]     [7]
                                      > [0 2] w + [0 0] x + [3]          
                                        [0 0]     [0 1]     [1]          
                                      = c_2(insert#(x,w))                
        
        
        Following rules are (at-least) weakly oriented:
        choose#(x,cons(v,w),s(y),s(z)) =  [0 2] w + [0 0] x + [0 0] y + [0 0] z + [4]
                                          [2 2]     [0 1]     [0 2]     [0 4]     [5]
                                       >= [0 2] w + [4]                              
                                          [0 2]     [5]                              
                                       =  c_3(choose#(x,cons(v,w),y,z))              
        
                  insert#(x,cons(v,w)) =  [0 2] w + [0 0] x + [4]                    
                                          [0 0]     [0 1]     [1]                    
                                       >= [0 2] w + [4]                              
                                          [0 0]     [0]                              
                                       =  c_4(choose#(x,cons(v,w),x,v))              
        
                      sort#(cons(x,y)) =  [3 6] y + [6]                              
                                          [1 4]     [6]                              
                                       >= [3 5] y + [6]                              
                                          [0 2]     [6]                              
                                       =  c_6(insert#(x,sort(y)),sort#(y))           
        
             choose(x,cons(v,w),y,0()) =  [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       >= [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       =  cons(x,cons(v,w))                          
        
          choose(x,cons(v,w),0(),s(z)) =  [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       >= [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       =  cons(v,insert(x,w))                        
        
         choose(x,cons(v,w),s(y),s(z)) =  [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       >= [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       =  choose(x,cons(v,w),y,z)                    
        
                   insert(x,cons(v,w)) =  [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       >= [1 2] w + [3]                              
                                          [0 1]     [2]                              
                                       =  choose(x,cons(v,w),x,v)                    
        
                       insert(x,nil()) =  [1]                                        
                                          [1]                                        
                                       >= [1]                                        
                                          [1]                                        
                                       =  cons(x,nil())                              
        
                       sort(cons(x,y)) =  [1 3] y + [3]                              
                                          [0 1]     [3]                              
                                       >= [1 3] y + [3]                              
                                          [0 1]     [3]                              
                                       =  insert(x,sort(y))                          
        
                           sort(nil()) =  [0]                                        
                                          [2]                                        
                                       >= [0]                                        
                                          [0]                                        
                                       =  nil()                                      
        
***** Step 1.b:4.a:1.b:1.a:2: Assumption WORST_CASE(?,O(1))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
        - Weak DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
    + Details:
        ()

***** Step 1.b:4.a:1.b:1.b:1: PredecessorEstimationCP WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
        - Weak DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing}}
    + Details:
        We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
          1: choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
          
        The strictly oriented rules are moved into the weak component.
****** Step 1.b:4.a:1.b:1.b:1.a:1: NaturalPI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict DPs:
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
        - Weak DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        NaturalPI {shape = Mixed 2, restrict = Restrict, 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 polynomial interpretation of kind constructor-based(mixed(2)):
        The following argument positions are considered usable:
          uargs(c_2) = {1},
          uargs(c_3) = {1},
          uargs(c_4) = {1},
          uargs(c_6) = {1,2}
        
        Following symbols are considered usable:
          {choose,insert,sort,choose#,insert#,sort#}
        TcT has computed the following interpretation:
                p(0) = 0                           
           p(choose) = 1 + x1 + x2                 
             p(cons) = 1 + x1 + x2                 
           p(insert) = 1 + x1 + x2                 
              p(nil) = 0                           
                p(s) = 1 + x1                      
             p(sort) = 2*x1                        
          p(choose#) = 2 + x1*x2 + x1^2 + 2*x2 + x3
          p(insert#) = 2 + x1 + x1*x2 + x1^2 + 2*x2
            p(sort#) = 2*x1^2                      
              p(c_1) = 1                           
              p(c_2) = x1                          
              p(c_3) = x1                          
              p(c_4) = x1                          
              p(c_5) = 0                           
              p(c_6) = x1 + x2                     
              p(c_7) = 0                           
        
        Following rules are strictly oriented:
        choose#(x,cons(v,w),s(y),s(z)) = 5 + 2*v + v*x + 2*w + w*x + x + x^2 + y
                                       > 4 + 2*v + v*x + 2*w + w*x + x + x^2 + y
                                       = c_3(choose#(x,cons(v,w),y,z))          
        
        
        Following rules are (at-least) weakly oriented:
        choose#(x,cons(v,w),0(),s(z)) =  4 + 2*v + v*x + 2*w + w*x + x + x^2  
                                      >= 2 + 2*w + w*x + x + x^2              
                                      =  c_2(insert#(x,w))                    
        
                 insert#(x,cons(v,w)) =  4 + 2*v + v*x + 2*w + w*x + 2*x + x^2
                                      >= 4 + 2*v + v*x + 2*w + w*x + 2*x + x^2
                                      =  c_4(choose#(x,cons(v,w),x,v))        
        
                     sort#(cons(x,y)) =  2 + 4*x + 4*x*y + 2*x^2 + 4*y + 2*y^2
                                      >= 2 + x + 2*x*y + x^2 + 4*y + 2*y^2    
                                      =  c_6(insert#(x,sort(y)),sort#(y))     
        
            choose(x,cons(v,w),y,0()) =  2 + v + w + x                        
                                      >= 2 + v + w + x                        
                                      =  cons(x,cons(v,w))                    
        
         choose(x,cons(v,w),0(),s(z)) =  2 + v + w + x                        
                                      >= 2 + v + w + x                        
                                      =  cons(v,insert(x,w))                  
        
        choose(x,cons(v,w),s(y),s(z)) =  2 + v + w + x                        
                                      >= 2 + v + w + x                        
                                      =  choose(x,cons(v,w),y,z)              
        
                  insert(x,cons(v,w)) =  2 + v + w + x                        
                                      >= 2 + v + w + x                        
                                      =  choose(x,cons(v,w),x,v)              
        
                      insert(x,nil()) =  1 + x                                
                                      >= 1 + x                                
                                      =  cons(x,nil())                        
        
                      sort(cons(x,y)) =  2 + 2*x + 2*y                        
                                      >= 1 + x + 2*y                          
                                      =  insert(x,sort(y))                    
        
                          sort(nil()) =  0                                    
                                      >= 0                                    
                                      =  nil()                                
        
****** Step 1.b:4.a:1.b:1.b:1.a:2: Assumption WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
    + Details:
        ()

****** Step 1.b:4.a:1.b:1.b:1.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:W:choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
             -->_1 insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v)):3
          
          2:W:choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
             -->_1 choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z)):2
             -->_1 choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w)):1
          
          3:W:insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
             -->_1 choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z)):2
             -->_1 choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w)):1
          
          4:W:sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
             -->_2 sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y)):4
             -->_1 insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v)):3
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          4: sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
          1: choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
          3: insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          2: choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
****** Step 1.b:4.a:1.b:1.b:1.b:2: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

*** Step 1.b:4.b:1: RemoveWeakSuffixes WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak DPs:
            choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
            choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
            insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
             -->_1 insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v)):4
             -->_2 sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y)):1
          
          2:W:choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
             -->_1 insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v)):4
          
          3:W:choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
             -->_1 choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z)):3
             -->_1 choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w)):2
          
          4:W:insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
             -->_1 choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z)):3
             -->_1 choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w)):2
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          4: insert#(x,cons(v,w)) -> c_4(choose#(x,cons(v,w),x,v))
          2: choose#(x,cons(v,w),0(),s(z)) -> c_2(insert#(x,w))
          3: choose#(x,cons(v,w),s(y),s(z)) -> c_3(choose#(x,cons(v,w),y,z))
*** Step 1.b:4.b:2: SimplifyRHS WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/2,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        SimplifyRHS
    + Details:
        Consider the dependency graph
          1:S:sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y))
             -->_2 sort#(cons(x,y)) -> c_6(insert#(x,sort(y)),sort#(y)):1
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          sort#(cons(x,y)) -> c_6(sort#(y))
*** Step 1.b:4.b:3: UsableRules WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            sort#(cons(x,y)) -> c_6(sort#(y))
        - Weak TRS:
            choose(x,cons(v,w),y,0()) -> cons(x,cons(v,w))
            choose(x,cons(v,w),0(),s(z)) -> cons(v,insert(x,w))
            choose(x,cons(v,w),s(y),s(z)) -> choose(x,cons(v,w),y,z)
            insert(x,cons(v,w)) -> choose(x,cons(v,w),x,v)
            insert(x,nil()) -> cons(x,nil())
            sort(cons(x,y)) -> insert(x,sort(y))
            sort(nil()) -> nil()
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/1,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          sort#(cons(x,y)) -> c_6(sort#(y))
*** Step 1.b:4.b:4: PredecessorEstimationCP WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            sort#(cons(x,y)) -> c_6(sort#(y))
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/1,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing}}
    + Details:
        We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing} to orient following rules strictly:
          1: sort#(cons(x,y)) -> c_6(sort#(y))
          
        The strictly oriented rules are moved into the weak component.
**** Step 1.b:4.b:4.a:1: NaturalMI WORST_CASE(?,O(n^1))
    + Considered Problem:
        - Strict DPs:
            sort#(cons(x,y)) -> c_6(sort#(y))
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/1,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        NaturalMI {miDimension = 1, miDegree = 1, 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:
        The following argument positions are considered usable:
          uargs(c_6) = {1}
        
        Following symbols are considered usable:
          {choose#,insert#,sort#}
        TcT has computed the following interpretation:
                p(0) = [1]                  
           p(choose) = [2] x2 + [0]         
             p(cons) = [1] x1 + [1] x2 + [8]
           p(insert) = [1]                  
              p(nil) = [1]                  
                p(s) = [4]                  
             p(sort) = [2] x1 + [1]         
          p(choose#) = [1] x1 + [4] x3 + [1]
          p(insert#) = [1] x2 + [0]         
            p(sort#) = [2] x1 + [1]         
              p(c_1) = [1]                  
              p(c_2) = [1]                  
              p(c_3) = [1] x1 + [0]         
              p(c_4) = [2]                  
              p(c_5) = [0]                  
              p(c_6) = [1] x1 + [9]         
              p(c_7) = [0]                  
        
        Following rules are strictly oriented:
        sort#(cons(x,y)) = [2] x + [2] y + [17]
                         > [2] y + [10]        
                         = c_6(sort#(y))       
        
        
        Following rules are (at-least) weakly oriented:
        
**** Step 1.b:4.b:4.a:2: Assumption WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            sort#(cons(x,y)) -> c_6(sort#(y))
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/1,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        Assumption {assumed = Certificate {spaceUB = Unknown, spaceLB = Unknown, timeUB = Poly (Just 0), timeLB = Unknown}}
    + Details:
        ()

**** Step 1.b:4.b:4.b:1: RemoveWeakSuffixes WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak DPs:
            sort#(cons(x,y)) -> c_6(sort#(y))
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/1,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:W:sort#(cons(x,y)) -> c_6(sort#(y))
             -->_1 sort#(cons(x,y)) -> c_6(sort#(y)):1
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          1: sort#(cons(x,y)) -> c_6(sort#(y))
**** Step 1.b:4.b:4.b:2: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        
        - Signature:
            {choose/4,insert/2,sort/1,choose#/4,insert#/2,sort#/1} / {0/0,cons/2,nil/0,s/1,c_1/0,c_2/1,c_3/1,c_4/1,c_5/0
            ,c_6/1,c_7/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {choose#,insert#,sort#} and constructors {0,cons,nil,s}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(Omega(n^1),O(n^2))