* Step 1: Sum WORST_CASE(Omega(n^1),O(n^2))
    + Considered Problem:
        - Strict TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            -(s(x),s(y)) -> -(x,y)
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
            lt(s(x),s(y)) -> lt(x,y)
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            -(s(x),s(y)) -> -(x,y)
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
            lt(s(x),s(y)) -> lt(x,y)
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          -(x,y){x -> s(x),y -> s(y)} =
            -(s(x),s(y)) ->^+ -(x,y)
              = C[-(x,y) = -(x,y){}]

** Step 1.b:1: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            -(s(x),s(y)) -> -(x,y)
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
            lt(s(x),s(y)) -> lt(x,y)
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + 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(div) = {1},
            uargs(if) = {1,3},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                p(-) = [1] x1 + [1]                  
                p(0) = [4]                           
              p(div) = [1] x1 + [1] x2 + [7]         
            p(false) = [0]                           
               p(if) = [1] x1 + [1] x2 + [1] x3 + [0]
               p(lt) = [0]                           
                p(s) = [1] x1 + [0]                  
             p(true) = [0]                           
          
          Following rules are strictly oriented:
             -(x,0()) = [1] x + [1] 
                      > [1] x + [0] 
                      = x           
          
          -(0(),s(y)) = [5]         
                      > [4]         
                      = 0()         
          
           div(x,0()) = [1] x + [11]
                      > [4]         
                      = 0()         
          
           div(0(),y) = [1] y + [11]
                      > [4]         
                      = 0()         
          
          
          Following rules are (at-least) weakly oriented:
             -(s(x),s(y)) =  [1] x + [1]                        
                          >= [1] x + [1]                        
                          =  -(x,y)                             
          
           div(s(x),s(y)) =  [1] x + [1] y + [7]                
                          >= [1] x + [1] y + [12]               
                          =  if(lt(x,y),0(),s(div(-(x,y),s(y))))
          
          if(false(),x,y) =  [1] x + [1] y + [0]                
                          >= [1] y + [0]                        
                          =  y                                  
          
           if(true(),x,y) =  [1] x + [1] y + [0]                
                          >= [1] x + [0]                        
                          =  x                                  
          
                lt(x,0()) =  [0]                                
                          >= [0]                                
                          =  false()                            
          
             lt(0(),s(y)) =  [0]                                
                          >= [0]                                
                          =  true()                             
          
            lt(s(x),s(y)) =  [0]                                
                          >= [0]                                
                          =  lt(x,y)                            
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:2: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            -(s(x),s(y)) -> -(x,y)
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
            lt(s(x),s(y)) -> lt(x,y)
        - Weak TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            div(x,0()) -> 0()
            div(0(),y) -> 0()
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + 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(div) = {1},
            uargs(if) = {1,3},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                p(-) = [1] x1 + [0]                  
                p(0) = [0]                           
              p(div) = [1] x1 + [8] x2 + [1]         
            p(false) = [0]                           
               p(if) = [1] x1 + [1] x2 + [1] x3 + [9]
               p(lt) = [8]                           
                p(s) = [1] x1 + [0]                  
             p(true) = [7]                           
          
          Following rules are strictly oriented:
          if(false(),x,y) = [1] x + [1] y + [9] 
                          > [1] y + [0]         
                          = y                   
          
           if(true(),x,y) = [1] x + [1] y + [16]
                          > [1] x + [0]         
                          = x                   
          
                lt(x,0()) = [8]                 
                          > [0]                 
                          = false()             
          
             lt(0(),s(y)) = [8]                 
                          > [7]                 
                          = true()              
          
          
          Following rules are (at-least) weakly oriented:
                -(x,0()) =  [1] x + [0]                        
                         >= [1] x + [0]                        
                         =  x                                  
          
             -(0(),s(y)) =  [0]                                
                         >= [0]                                
                         =  0()                                
          
            -(s(x),s(y)) =  [1] x + [0]                        
                         >= [1] x + [0]                        
                         =  -(x,y)                             
          
              div(x,0()) =  [1] x + [1]                        
                         >= [0]                                
                         =  0()                                
          
              div(0(),y) =  [8] y + [1]                        
                         >= [0]                                
                         =  0()                                
          
          div(s(x),s(y)) =  [1] x + [8] y + [1]                
                         >= [1] x + [8] y + [18]               
                         =  if(lt(x,y),0(),s(div(-(x,y),s(y))))
          
           lt(s(x),s(y)) =  [8]                                
                         >= [8]                                
                         =  lt(x,y)                            
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:3: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            -(s(x),s(y)) -> -(x,y)
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            lt(s(x),s(y)) -> lt(x,y)
        - Weak TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + 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(div) = {1},
            uargs(if) = {1,3},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                p(-) = [1] x1 + [8]                  
                p(0) = [0]                           
              p(div) = [1] x1 + [1] x2 + [1]         
            p(false) = [0]                           
               p(if) = [1] x1 + [2] x2 + [1] x3 + [8]
               p(lt) = [0]                           
                p(s) = [1] x1 + [2]                  
             p(true) = [0]                           
          
          Following rules are strictly oriented:
          -(s(x),s(y)) = [1] x + [10]
                       > [1] x + [8] 
                       = -(x,y)      
          
          
          Following rules are (at-least) weakly oriented:
                 -(x,0()) =  [1] x + [8]                        
                          >= [1] x + [0]                        
                          =  x                                  
          
              -(0(),s(y)) =  [8]                                
                          >= [0]                                
                          =  0()                                
          
               div(x,0()) =  [1] x + [1]                        
                          >= [0]                                
                          =  0()                                
          
               div(0(),y) =  [1] y + [1]                        
                          >= [0]                                
                          =  0()                                
          
           div(s(x),s(y)) =  [1] x + [1] y + [5]                
                          >= [1] x + [1] y + [21]               
                          =  if(lt(x,y),0(),s(div(-(x,y),s(y))))
          
          if(false(),x,y) =  [2] x + [1] y + [8]                
                          >= [1] y + [0]                        
                          =  y                                  
          
           if(true(),x,y) =  [2] x + [1] y + [8]                
                          >= [1] x + [0]                        
                          =  x                                  
          
                lt(x,0()) =  [0]                                
                          >= [0]                                
                          =  false()                            
          
             lt(0(),s(y)) =  [0]                                
                          >= [0]                                
                          =  true()                             
          
            lt(s(x),s(y)) =  [0]                                
                          >= [0]                                
                          =  lt(x,y)                            
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
** Step 1.b:4: MI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            lt(s(x),s(y)) -> lt(x,y)
        - Weak TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            -(s(x),s(y)) -> -(x,y)
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + Applied Processor:
        MI {miKind = MaximalMatrix (UpperTriangular (Multiplicity Nothing)), miDimension = 1, miUArgs = UArgs, miURules = URules, miSelector = Just any strict-rules}
    + Details:
        We apply a matrix interpretation of kind MaximalMatrix (UpperTriangular (Multiplicity Nothing)):
        
        The following argument positions are considered usable:
          uargs(div) = {1},
          uargs(if) = {1,3},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {-,div,if,lt}
        TcT has computed the following interpretation:
              p(-) = [1] x_1 + [0]                    
              p(0) = [0]                              
            p(div) = [2] x_1 + [9] x_2 + [0]          
          p(false) = [0]                              
             p(if) = [8] x_1 + [2] x_2 + [1] x_3 + [0]
             p(lt) = [0]                              
              p(s) = [1] x_1 + [1]                    
           p(true) = [0]                              
        
        Following rules are strictly oriented:
        div(s(x),s(y)) = [2] x + [9] y + [11]               
                       > [2] x + [9] y + [10]               
                       = if(lt(x,y),0(),s(div(-(x,y),s(y))))
        
        
        Following rules are (at-least) weakly oriented:
               -(x,0()) =  [1] x + [0]        
                        >= [1] x + [0]        
                        =  x                  
        
            -(0(),s(y)) =  [0]                
                        >= [0]                
                        =  0()                
        
           -(s(x),s(y)) =  [1] x + [1]        
                        >= [1] x + [0]        
                        =  -(x,y)             
        
             div(x,0()) =  [2] x + [0]        
                        >= [0]                
                        =  0()                
        
             div(0(),y) =  [9] y + [0]        
                        >= [0]                
                        =  0()                
        
        if(false(),x,y) =  [2] x + [1] y + [0]
                        >= [1] y + [0]        
                        =  y                  
        
         if(true(),x,y) =  [2] x + [1] y + [0]
                        >= [1] x + [0]        
                        =  x                  
        
              lt(x,0()) =  [0]                
                        >= [0]                
                        =  false()            
        
           lt(0(),s(y)) =  [0]                
                        >= [0]                
                        =  true()             
        
          lt(s(x),s(y)) =  [0]                
                        >= [0]                
                        =  lt(x,y)            
        
** Step 1.b:5: NaturalPI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            lt(s(x),s(y)) -> lt(x,y)
        - Weak TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            -(s(x),s(y)) -> -(x,y)
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + Applied Processor:
        NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
    + Details:
        We apply a polynomial interpretation of kind constructor-based(mixed(2)):
        The following argument positions are considered usable:
          uargs(div) = {1},
          uargs(if) = {1,3},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {-,div,if,lt}
        TcT has computed the following interpretation:
              p(-) = x1                  
              p(0) = 0                   
            p(div) = x1 + x1^2           
          p(false) = 1                   
             p(if) = x1 + x1*x2 + x2 + x3
             p(lt) = 1 + x1              
              p(s) = 1 + x1              
           p(true) = 0                   
        
        Following rules are strictly oriented:
        lt(s(x),s(y)) = 2 + x  
                      > 1 + x  
                      = lt(x,y)
        
        
        Following rules are (at-least) weakly oriented:
               -(x,0()) =  x                                  
                        >= x                                  
                        =  x                                  
        
            -(0(),s(y)) =  0                                  
                        >= 0                                  
                        =  0()                                
        
           -(s(x),s(y)) =  1 + x                              
                        >= x                                  
                        =  -(x,y)                             
        
             div(x,0()) =  x + x^2                            
                        >= 0                                  
                        =  0()                                
        
             div(0(),y) =  0                                  
                        >= 0                                  
                        =  0()                                
        
         div(s(x),s(y)) =  2 + 3*x + x^2                      
                        >= 2 + 2*x + x^2                      
                        =  if(lt(x,y),0(),s(div(-(x,y),s(y))))
        
        if(false(),x,y) =  1 + 2*x + y                        
                        >= y                                  
                        =  y                                  
        
         if(true(),x,y) =  x + y                              
                        >= x                                  
                        =  x                                  
        
              lt(x,0()) =  1 + x                              
                        >= 1                                  
                        =  false()                            
        
           lt(0(),s(y)) =  1                                  
                        >= 0                                  
                        =  true()                             
        
** Step 1.b:6: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            -(x,0()) -> x
            -(0(),s(y)) -> 0()
            -(s(x),s(y)) -> -(x,y)
            div(x,0()) -> 0()
            div(0(),y) -> 0()
            div(s(x),s(y)) -> if(lt(x,y),0(),s(div(-(x,y),s(y))))
            if(false(),x,y) -> y
            if(true(),x,y) -> x
            lt(x,0()) -> false()
            lt(0(),s(y)) -> true()
            lt(s(x),s(y)) -> lt(x,y)
        - Signature:
            {-/2,div/2,if/3,lt/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {-,div,if,lt} and constructors {0,false,s,true}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

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