*** 1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(0()) -> 0()
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        mark(s(x)) -> s(mark(x))
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [4]                           
                   p(div) = [1] x1 + [0]                  
            p(div_active) = [1] x1 + [0]                  
                 p(false) = [0]                           
                    p(ge) = [0]                           
             p(ge_active) = [0]                           
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [0]
             p(if_active) = [1] x1 + [1] x2 + [1] x3 + [0]
                  p(mark) = [1] x1 + [0]                  
                 p(minus) = [1] x1 + [3]                  
          p(minus_active) = [1] x1 + [0]                  
                     p(s) = [1] x1 + [1]                  
                  p(true) = [0]                           
        
        Following rules are strictly oriented:
               mark(minus(x,y)) = [1] x + [3]      
                                > [1] x + [0]      
                                = minus_active(x,y)
        
        minus_active(s(x),s(y)) = [1] x + [1]      
                                > [1] x + [0]      
                                = minus_active(x,y)
        
        
        Following rules are (at-least) weakly oriented:
               div_active(x,y) =  [1] x + [0]                      
                               >= [1] x + [0]                      
                               =  div(x,y)                         
        
          div_active(0(),s(y)) =  [4]                              
                               >= [4]                              
                               =  0()                              
        
         div_active(s(x),s(y)) =  [1] x + [1]                      
                               >= [1] x + [8]                      
                               =  if_active(ge_active(x,y)         
                                           ,s(div(minus(x,y),s(y)))
                                           ,0())                   
        
                ge_active(x,y) =  [0]                              
                               >= [0]                              
                               =  ge(x,y)                          
        
              ge_active(x,0()) =  [0]                              
                               >= [0]                              
                               =  true()                           
        
           ge_active(0(),s(y)) =  [0]                              
                               >= [0]                              
                               =  false()                          
        
          ge_active(s(x),s(y)) =  [0]                              
                               >= [0]                              
                               =  ge_active(x,y)                   
        
              if_active(x,y,z) =  [1] x + [1] y + [1] z + [0]      
                               >= [1] x + [1] y + [1] z + [0]      
                               =  if(x,y,z)                        
        
        if_active(false(),x,y) =  [1] x + [1] y + [0]              
                               >= [1] y + [0]                      
                               =  mark(y)                          
        
         if_active(true(),x,y) =  [1] x + [1] y + [0]              
                               >= [1] x + [0]                      
                               =  mark(x)                          
        
                     mark(0()) =  [4]                              
                               >= [4]                              
                               =  0()                              
        
                mark(div(x,y)) =  [1] x + [0]                      
                               >= [1] x + [0]                      
                               =  div_active(mark(x),y)            
        
                 mark(ge(x,y)) =  [0]                              
                               >= [0]                              
                               =  ge_active(x,y)                   
        
               mark(if(x,y,z)) =  [1] x + [1] y + [1] z + [0]      
                               >= [1] x + [1] y + [1] z + [0]      
                               =  if_active(mark(x),y,z)           
        
                    mark(s(x)) =  [1] x + [1]                      
                               >= [1] x + [1]                      
                               =  s(mark(x))                       
        
             minus_active(x,y) =  [1] x + [0]                      
                               >= [1] x + [3]                      
                               =  minus(x,y)                       
        
           minus_active(0(),y) =  [4]                              
                               >= [4]                              
                               =  0()                              
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(0()) -> 0()
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(s(x)) -> s(mark(x))
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
      Weak DP Rules:
        
      Weak TRS Rules:
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [4]                           
                   p(div) = [1] x1 + [0]                  
            p(div_active) = [1] x1 + [0]                  
                 p(false) = [0]                           
                    p(ge) = [1] x1 + [0]                  
             p(ge_active) = [1] x1 + [0]                  
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [0]
             p(if_active) = [1] x1 + [1] x2 + [1] x3 + [0]
                  p(mark) = [1] x1 + [7]                  
                 p(minus) = [0]                           
          p(minus_active) = [7]                           
                     p(s) = [1] x1 + [5]                  
                  p(true) = [0]                           
        
        Following rules are strictly oriented:
         ge_active(0(),s(y)) = [4]           
                             > [0]           
                             = false()       
        
        ge_active(s(x),s(y)) = [1] x + [5]   
                             > [1] x + [0]   
                             = ge_active(x,y)
        
                   mark(0()) = [11]          
                             > [4]           
                             = 0()           
        
               mark(ge(x,y)) = [1] x + [7]   
                             > [1] x + [0]   
                             = ge_active(x,y)
        
           minus_active(x,y) = [7]           
                             > [0]           
                             = minus(x,y)    
        
         minus_active(0(),y) = [7]           
                             > [4]           
                             = 0()           
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [4]                              
                                >= [4]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [5]                      
                                >= [1] x + [9]                      
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
                 ge_active(x,y) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  ge(x,y)                          
        
               ge_active(x,0()) =  [1] x + [0]                      
                                >= [0]                              
                                =  true()                           
        
               if_active(x,y,z) =  [1] x + [1] y + [1] z + [0]      
                                >= [1] x + [1] y + [1] z + [0]      
                                =  if(x,y,z)                        
        
         if_active(false(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] y + [7]                      
                                =  mark(y)                          
        
          if_active(true(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] x + [7]                      
                                =  mark(x)                          
        
                 mark(div(x,y)) =  [1] x + [7]                      
                                >= [1] x + [7]                      
                                =  div_active(mark(x),y)            
        
                mark(if(x,y,z)) =  [1] x + [1] y + [1] z + [7]      
                                >= [1] x + [1] y + [1] z + [7]      
                                =  if_active(mark(x),y,z)           
        
               mark(minus(x,y)) =  [7]                              
                                >= [7]                              
                                =  minus_active(x,y)                
        
                     mark(s(x)) =  [1] x + [12]                     
                                >= [1] x + [12]                     
                                =  s(mark(x))                       
        
        minus_active(s(x),s(y)) =  [7]                              
                                >= [7]                              
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(s(x)) -> s(mark(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [0]         
                   p(div) = [0]         
            p(div_active) = [1] x1 + [5]
                 p(false) = [0]         
                    p(ge) = [0]         
             p(ge_active) = [0]         
                    p(if) = [1] x1 + [0]
             p(if_active) = [1] x1 + [0]
                  p(mark) = [0]         
                 p(minus) = [0]         
          p(minus_active) = [0]         
                     p(s) = [1] x1 + [0]
                  p(true) = [0]         
        
        Following rules are strictly oriented:
              div_active(x,y) = [1] x + [5]                      
                              > [0]                              
                              = div(x,y)                         
        
         div_active(0(),s(y)) = [5]                              
                              > [0]                              
                              = 0()                              
        
        div_active(s(x),s(y)) = [1] x + [5]                      
                              > [0]                              
                              = if_active(ge_active(x,y)         
                                         ,s(div(minus(x,y),s(y)))
                                         ,0())                   
        
        
        Following rules are (at-least) weakly oriented:
                 ge_active(x,y) =  [0]                   
                                >= [0]                   
                                =  ge(x,y)               
        
               ge_active(x,0()) =  [0]                   
                                >= [0]                   
                                =  true()                
        
            ge_active(0(),s(y)) =  [0]                   
                                >= [0]                   
                                =  false()               
        
           ge_active(s(x),s(y)) =  [0]                   
                                >= [0]                   
                                =  ge_active(x,y)        
        
               if_active(x,y,z) =  [1] x + [0]           
                                >= [1] x + [0]           
                                =  if(x,y,z)             
        
         if_active(false(),x,y) =  [0]                   
                                >= [0]                   
                                =  mark(y)               
        
          if_active(true(),x,y) =  [0]                   
                                >= [0]                   
                                =  mark(x)               
        
                      mark(0()) =  [0]                   
                                >= [0]                   
                                =  0()                   
        
                 mark(div(x,y)) =  [0]                   
                                >= [5]                   
                                =  div_active(mark(x),y) 
        
                  mark(ge(x,y)) =  [0]                   
                                >= [0]                   
                                =  ge_active(x,y)        
        
                mark(if(x,y,z)) =  [0]                   
                                >= [0]                   
                                =  if_active(mark(x),y,z)
        
               mark(minus(x,y)) =  [0]                   
                                >= [0]                   
                                =  minus_active(x,y)     
        
                     mark(s(x)) =  [0]                   
                                >= [0]                   
                                =  s(mark(x))            
        
              minus_active(x,y) =  [0]                   
                                >= [0]                   
                                =  minus(x,y)            
        
            minus_active(0(),y) =  [0]                   
                                >= [0]                   
                                =  0()                   
        
        minus_active(s(x),s(y)) =  [0]                   
                                >= [0]                   
                                =  minus_active(x,y)     
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(s(x)) -> s(mark(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [0]                           
                   p(div) = [1] x1 + [1] x2 + [1]         
            p(div_active) = [1] x1 + [1] x2 + [2]         
                 p(false) = [0]                           
                    p(ge) = [1]                           
             p(ge_active) = [1]                           
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [0]
             p(if_active) = [1] x1 + [1] x2 + [1] x3 + [0]
                  p(mark) = [1] x1 + [0]                  
                 p(minus) = [0]                           
          p(minus_active) = [0]                           
                     p(s) = [1] x1 + [2]                  
                  p(true) = [0]                           
        
        Following rules are strictly oriented:
        ge_active(x,0()) = [1]   
                         > [0]   
                         = true()
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [1] y + [2]              
                                >= [1] x + [1] y + [1]              
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [1] y + [4]                      
                                >= [0]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [1] y + [6]              
                                >= [1] y + [6]                      
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
                 ge_active(x,y) =  [1]                              
                                >= [1]                              
                                =  ge(x,y)                          
        
            ge_active(0(),s(y)) =  [1]                              
                                >= [0]                              
                                =  false()                          
        
           ge_active(s(x),s(y)) =  [1]                              
                                >= [1]                              
                                =  ge_active(x,y)                   
        
               if_active(x,y,z) =  [1] x + [1] y + [1] z + [0]      
                                >= [1] x + [1] y + [1] z + [0]      
                                =  if(x,y,z)                        
        
         if_active(false(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] y + [0]                      
                                =  mark(y)                          
        
          if_active(true(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] x + [0]                      
                                =  mark(x)                          
        
                      mark(0()) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
                 mark(div(x,y)) =  [1] x + [1] y + [1]              
                                >= [1] x + [1] y + [2]              
                                =  div_active(mark(x),y)            
        
                  mark(ge(x,y)) =  [1]                              
                                >= [1]                              
                                =  ge_active(x,y)                   
        
                mark(if(x,y,z)) =  [1] x + [1] y + [1] z + [0]      
                                >= [1] x + [1] y + [1] z + [0]      
                                =  if_active(mark(x),y,z)           
        
               mark(minus(x,y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
                     mark(s(x)) =  [1] x + [2]                      
                                >= [1] x + [2]                      
                                =  s(mark(x))                       
        
              minus_active(x,y) =  [0]                              
                                >= [0]                              
                                =  minus(x,y)                       
        
            minus_active(0(),y) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
        minus_active(s(x),s(y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        ge_active(x,y) -> ge(x,y)
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(s(x)) -> s(mark(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [1]                           
                   p(div) = [1] x1 + [1]                  
            p(div_active) = [1] x1 + [4]                  
                 p(false) = [0]                           
                    p(ge) = [1]                           
             p(ge_active) = [1]                           
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [1]
             p(if_active) = [1] x1 + [1] x2 + [1] x3 + [0]
                  p(mark) = [1] x1 + [0]                  
                 p(minus) = [1] x1 + [0]                  
          p(minus_active) = [1] x1 + [0]                  
                     p(s) = [1] x1 + [0]                  
                  p(true) = [0]                           
        
        Following rules are strictly oriented:
        mark(if(x,y,z)) = [1] x + [1] y + [1] z + [1]
                        > [1] x + [1] y + [1] z + [0]
                        = if_active(mark(x),y,z)     
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [4]                      
                                >= [1] x + [1]                      
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [5]                              
                                >= [1]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [4]                      
                                >= [1] x + [3]                      
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
                 ge_active(x,y) =  [1]                              
                                >= [1]                              
                                =  ge(x,y)                          
        
               ge_active(x,0()) =  [1]                              
                                >= [0]                              
                                =  true()                           
        
            ge_active(0(),s(y)) =  [1]                              
                                >= [0]                              
                                =  false()                          
        
           ge_active(s(x),s(y)) =  [1]                              
                                >= [1]                              
                                =  ge_active(x,y)                   
        
               if_active(x,y,z) =  [1] x + [1] y + [1] z + [0]      
                                >= [1] x + [1] y + [1] z + [1]      
                                =  if(x,y,z)                        
        
         if_active(false(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] y + [0]                      
                                =  mark(y)                          
        
          if_active(true(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] x + [0]                      
                                =  mark(x)                          
        
                      mark(0()) =  [1]                              
                                >= [1]                              
                                =  0()                              
        
                 mark(div(x,y)) =  [1] x + [1]                      
                                >= [1] x + [4]                      
                                =  div_active(mark(x),y)            
        
                  mark(ge(x,y)) =  [1]                              
                                >= [1]                              
                                =  ge_active(x,y)                   
        
               mark(minus(x,y)) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  minus_active(x,y)                
        
                     mark(s(x)) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  s(mark(x))                       
        
              minus_active(x,y) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  minus(x,y)                       
        
            minus_active(0(),y) =  [1]                              
                                >= [1]                              
                                =  0()                              
        
        minus_active(s(x),s(y)) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        ge_active(x,y) -> ge(x,y)
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(s(x)) -> s(mark(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [0]         
                   p(div) = [0]         
            p(div_active) = [1] x1 + [2]
                 p(false) = [0]         
                    p(ge) = [0]         
             p(ge_active) = [2]         
                    p(if) = [0]         
             p(if_active) = [1] x1 + [0]
                  p(mark) = [3]         
                 p(minus) = [0]         
          p(minus_active) = [0]         
                     p(s) = [1] x1 + [0]
                  p(true) = [0]         
        
        Following rules are strictly oriented:
        ge_active(x,y) = [2]    
                       > [0]    
                       = ge(x,y)
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [2]                      
                                >= [0]                              
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [2]                              
                                >= [0]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [2]                      
                                >= [2]                              
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
               ge_active(x,0()) =  [2]                              
                                >= [0]                              
                                =  true()                           
        
            ge_active(0(),s(y)) =  [2]                              
                                >= [0]                              
                                =  false()                          
        
           ge_active(s(x),s(y)) =  [2]                              
                                >= [2]                              
                                =  ge_active(x,y)                   
        
               if_active(x,y,z) =  [1] x + [0]                      
                                >= [0]                              
                                =  if(x,y,z)                        
        
         if_active(false(),x,y) =  [0]                              
                                >= [3]                              
                                =  mark(y)                          
        
          if_active(true(),x,y) =  [0]                              
                                >= [3]                              
                                =  mark(x)                          
        
                      mark(0()) =  [3]                              
                                >= [0]                              
                                =  0()                              
        
                 mark(div(x,y)) =  [3]                              
                                >= [5]                              
                                =  div_active(mark(x),y)            
        
                  mark(ge(x,y)) =  [3]                              
                                >= [2]                              
                                =  ge_active(x,y)                   
        
                mark(if(x,y,z)) =  [3]                              
                                >= [3]                              
                                =  if_active(mark(x),y,z)           
        
               mark(minus(x,y)) =  [3]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
                     mark(s(x)) =  [3]                              
                                >= [3]                              
                                =  s(mark(x))                       
        
              minus_active(x,y) =  [0]                              
                                >= [0]                              
                                =  minus(x,y)                       
        
            minus_active(0(),y) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
        minus_active(s(x),s(y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(s(x)) -> s(mark(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [0]                           
                   p(div) = [1] x1 + [0]                  
            p(div_active) = [1] x1 + [2]                  
                 p(false) = [0]                           
                    p(ge) = [1] x1 + [2]                  
             p(ge_active) = [1] x1 + [2]                  
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [0]
             p(if_active) = [1] x1 + [1] x2 + [1] x3 + [0]
                  p(mark) = [1] x1 + [0]                  
                 p(minus) = [0]                           
          p(minus_active) = [0]                           
                     p(s) = [1] x1 + [0]                  
                  p(true) = [2]                           
        
        Following rules are strictly oriented:
        if_active(true(),x,y) = [1] x + [1] y + [2]
                              > [1] x + [0]        
                              = mark(x)            
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [2]                      
                                >= [1] x + [0]                      
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [2]                              
                                >= [0]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [2]                      
                                >= [1] x + [2]                      
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
                 ge_active(x,y) =  [1] x + [2]                      
                                >= [1] x + [2]                      
                                =  ge(x,y)                          
        
               ge_active(x,0()) =  [1] x + [2]                      
                                >= [2]                              
                                =  true()                           
        
            ge_active(0(),s(y)) =  [2]                              
                                >= [0]                              
                                =  false()                          
        
           ge_active(s(x),s(y)) =  [1] x + [2]                      
                                >= [1] x + [2]                      
                                =  ge_active(x,y)                   
        
               if_active(x,y,z) =  [1] x + [1] y + [1] z + [0]      
                                >= [1] x + [1] y + [1] z + [0]      
                                =  if(x,y,z)                        
        
         if_active(false(),x,y) =  [1] x + [1] y + [0]              
                                >= [1] y + [0]                      
                                =  mark(y)                          
        
                      mark(0()) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
                 mark(div(x,y)) =  [1] x + [0]                      
                                >= [1] x + [2]                      
                                =  div_active(mark(x),y)            
        
                  mark(ge(x,y)) =  [1] x + [2]                      
                                >= [1] x + [2]                      
                                =  ge_active(x,y)                   
        
                mark(if(x,y,z)) =  [1] x + [1] y + [1] z + [0]      
                                >= [1] x + [1] y + [1] z + [0]      
                                =  if_active(mark(x),y,z)           
        
               mark(minus(x,y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
                     mark(s(x)) =  [1] x + [0]                      
                                >= [1] x + [0]                      
                                =  s(mark(x))                       
        
              minus_active(x,y) =  [0]                              
                                >= [0]                              
                                =  minus(x,y)                       
        
            minus_active(0(),y) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
        minus_active(s(x),s(y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(s(x)) -> s(mark(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        if_active(true(),x,y) -> mark(x)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [0]                           
                   p(div) = [1] x1 + [1] x2 + [0]         
            p(div_active) = [1] x1 + [4] x2 + [6]         
                 p(false) = [3]                           
                    p(ge) = [2]                           
             p(ge_active) = [3]                           
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [0]
             p(if_active) = [1] x1 + [4] x2 + [4] x3 + [0]
                  p(mark) = [4] x1 + [0]                  
                 p(minus) = [0]                           
          p(minus_active) = [0]                           
                     p(s) = [1] x1 + [1]                  
                  p(true) = [3]                           
        
        Following rules are strictly oriented:
        if_active(false(),x,y) = [4] x + [4] y + [3]
                               > [4] y + [0]        
                               = mark(y)            
        
                    mark(s(x)) = [4] x + [4]        
                               > [4] x + [1]        
                               = s(mark(x))         
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [4] y + [6]              
                                >= [1] x + [1] y + [0]              
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [4] y + [10]                     
                                >= [0]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [4] y + [11]             
                                >= [4] y + [11]                     
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
                 ge_active(x,y) =  [3]                              
                                >= [2]                              
                                =  ge(x,y)                          
        
               ge_active(x,0()) =  [3]                              
                                >= [3]                              
                                =  true()                           
        
            ge_active(0(),s(y)) =  [3]                              
                                >= [3]                              
                                =  false()                          
        
           ge_active(s(x),s(y)) =  [3]                              
                                >= [3]                              
                                =  ge_active(x,y)                   
        
               if_active(x,y,z) =  [1] x + [4] y + [4] z + [0]      
                                >= [1] x + [1] y + [1] z + [0]      
                                =  if(x,y,z)                        
        
          if_active(true(),x,y) =  [4] x + [4] y + [3]              
                                >= [4] x + [0]                      
                                =  mark(x)                          
        
                      mark(0()) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
                 mark(div(x,y)) =  [4] x + [4] y + [0]              
                                >= [4] x + [4] y + [6]              
                                =  div_active(mark(x),y)            
        
                  mark(ge(x,y)) =  [8]                              
                                >= [3]                              
                                =  ge_active(x,y)                   
        
                mark(if(x,y,z)) =  [4] x + [4] y + [4] z + [0]      
                                >= [4] x + [4] y + [4] z + [0]      
                                =  if_active(mark(x),y,z)           
        
               mark(minus(x,y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
              minus_active(x,y) =  [0]                              
                                >= [0]                              
                                =  minus(x,y)                       
        
            minus_active(0(),y) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
        minus_active(s(x),s(y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        if_active(x,y,z) -> if(x,y,z)
        mark(div(x,y)) -> div_active(mark(x),y)
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        mark(s(x)) -> s(mark(x))
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      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_active) = {1},
          uargs(if_active) = {1},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                     p(0) = [0]                           
                   p(div) = [1] x1 + [0]                  
            p(div_active) = [1] x1 + [2]                  
                 p(false) = [0]                           
                    p(ge) = [0]                           
             p(ge_active) = [0]                           
                    p(if) = [1] x1 + [1] x2 + [1] x3 + [1]
             p(if_active) = [1] x1 + [4] x2 + [4] x3 + [2]
                  p(mark) = [4] x1 + [0]                  
                 p(minus) = [0]                           
          p(minus_active) = [0]                           
                     p(s) = [1] x1 + [0]                  
                  p(true) = [0]                           
        
        Following rules are strictly oriented:
        if_active(x,y,z) = [1] x + [4] y + [4] z + [2]
                         > [1] x + [1] y + [1] z + [1]
                         = if(x,y,z)                  
        
        
        Following rules are (at-least) weakly oriented:
                div_active(x,y) =  [1] x + [2]                      
                                >= [1] x + [0]                      
                                =  div(x,y)                         
        
           div_active(0(),s(y)) =  [2]                              
                                >= [0]                              
                                =  0()                              
        
          div_active(s(x),s(y)) =  [1] x + [2]                      
                                >= [2]                              
                                =  if_active(ge_active(x,y)         
                                            ,s(div(minus(x,y),s(y)))
                                            ,0())                   
        
                 ge_active(x,y) =  [0]                              
                                >= [0]                              
                                =  ge(x,y)                          
        
               ge_active(x,0()) =  [0]                              
                                >= [0]                              
                                =  true()                           
        
            ge_active(0(),s(y)) =  [0]                              
                                >= [0]                              
                                =  false()                          
        
           ge_active(s(x),s(y)) =  [0]                              
                                >= [0]                              
                                =  ge_active(x,y)                   
        
         if_active(false(),x,y) =  [4] x + [4] y + [2]              
                                >= [4] y + [0]                      
                                =  mark(y)                          
        
          if_active(true(),x,y) =  [4] x + [4] y + [2]              
                                >= [4] x + [0]                      
                                =  mark(x)                          
        
                      mark(0()) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
                 mark(div(x,y)) =  [4] x + [0]                      
                                >= [4] x + [2]                      
                                =  div_active(mark(x),y)            
        
                  mark(ge(x,y)) =  [0]                              
                                >= [0]                              
                                =  ge_active(x,y)                   
        
                mark(if(x,y,z)) =  [4] x + [4] y + [4] z + [4]      
                                >= [4] x + [4] y + [4] z + [2]      
                                =  if_active(mark(x),y,z)           
        
               mark(minus(x,y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
                     mark(s(x)) =  [4] x + [0]                      
                                >= [4] x + [0]                      
                                =  s(mark(x))                       
        
              minus_active(x,y) =  [0]                              
                                >= [0]                              
                                =  minus(x,y)                       
        
            minus_active(0(),y) =  [0]                              
                                >= [0]                              
                                =  0()                              
        
        minus_active(s(x),s(y)) =  [0]                              
                                >= [0]                              
                                =  minus_active(x,y)                
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1.1.1.1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        mark(div(x,y)) -> div_active(mark(x),y)
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(0()) -> 0()
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        mark(s(x)) -> s(mark(x))
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      NaturalMI {miDimension = 2, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(div_active) = {1},
        uargs(if_active) = {1},
        uargs(s) = {1}
      
      Following symbols are considered usable:
        {div_active,ge_active,if_active,mark,minus_active}
      TcT has computed the following interpretation:
                   p(0) = [0]                      
                          [0]                      
                 p(div) = [1 3] x1 + [0 1] x2 + [1]
                          [0 1]      [0 0]      [0]
          p(div_active) = [1 5] x1 + [0 2] x2 + [1]
                          [0 1]      [0 0]      [0]
               p(false) = [0]                      
                          [0]                      
                  p(ge) = [1 0] x1 + [0]           
                          [0 0]      [0]           
           p(ge_active) = [1 0] x1 + [0]           
                          [0 0]      [0]           
                  p(if) = [1 0] x1 + [1 2] x2 + [1 
                          0] x3 + [0]              
                          [0 1]      [0 1]      [0 
                          1]      [0]              
           p(if_active) = [1 0] x1 + [2 2] x2 + [2 
                          0] x3 + [0]              
                          [0 1]      [0 1]      [0 
                          1]      [0]              
                p(mark) = [2 0] x1 + [0]           
                          [0 1]      [0]           
               p(minus) = [0]                      
                          [0]                      
        p(minus_active) = [0]                      
                          [0]                      
                   p(s) = [1 0] x1 + [0]           
                          [0 0]      [2]           
                p(true) = [0]                      
                          [0]                      
      
      Following rules are strictly oriented:
      mark(div(x,y)) = [2 6] x + [0 2] y + [2]
                       [0 1]     [0 0]     [0]
                     > [2 5] x + [0 2] y + [1]
                       [0 1]     [0 0]     [0]
                     = div_active(mark(x),y)  
      
      
      Following rules are (at-least) weakly oriented:
              div_active(x,y) =  [1 5] x + [0 2] y + [1]          
                                 [0 1]     [0 0]     [0]          
                              >= [1 3] x + [0 1] y + [1]          
                                 [0 1]     [0 0]     [0]          
                              =  div(x,y)                         
      
         div_active(0(),s(y)) =  [5]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  0()                              
      
        div_active(s(x),s(y)) =  [1 0] x + [15]                   
                                 [0 0]     [2]                    
                              >= [1 0] x + [10]                   
                                 [0 0]     [2]                    
                              =  if_active(ge_active(x,y)         
                                          ,s(div(minus(x,y),s(y)))
                                          ,0())                   
      
               ge_active(x,y) =  [1 0] x + [0]                    
                                 [0 0]     [0]                    
                              >= [1 0] x + [0]                    
                                 [0 0]     [0]                    
                              =  ge(x,y)                          
      
             ge_active(x,0()) =  [1 0] x + [0]                    
                                 [0 0]     [0]                    
                              >= [0]                              
                                 [0]                              
                              =  true()                           
      
          ge_active(0(),s(y)) =  [0]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  false()                          
      
         ge_active(s(x),s(y)) =  [1 0] x + [0]                    
                                 [0 0]     [0]                    
                              >= [1 0] x + [0]                    
                                 [0 0]     [0]                    
                              =  ge_active(x,y)                   
      
             if_active(x,y,z) =  [1 0] x + [2 2] y + [2           
                                 0] z + [0]                       
                                 [0 1]     [0 1]     [0           
                                 1]     [0]                       
                              >= [1 0] x + [1 2] y + [1           
                                 0] z + [0]                       
                                 [0 1]     [0 1]     [0           
                                 1]     [0]                       
                              =  if(x,y,z)                        
      
       if_active(false(),x,y) =  [2 2] x + [2 0] y + [0]          
                                 [0 1]     [0 1]     [0]          
                              >= [2 0] y + [0]                    
                                 [0 1]     [0]                    
                              =  mark(y)                          
      
        if_active(true(),x,y) =  [2 2] x + [2 0] y + [0]          
                                 [0 1]     [0 1]     [0]          
                              >= [2 0] x + [0]                    
                                 [0 1]     [0]                    
                              =  mark(x)                          
      
                    mark(0()) =  [0]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  0()                              
      
                mark(ge(x,y)) =  [2 0] x + [0]                    
                                 [0 0]     [0]                    
                              >= [1 0] x + [0]                    
                                 [0 0]     [0]                    
                              =  ge_active(x,y)                   
      
              mark(if(x,y,z)) =  [2 0] x + [2 4] y + [2           
                                 0] z + [0]                       
                                 [0 1]     [0 1]     [0           
                                 1]     [0]                       
                              >= [2 0] x + [2 2] y + [2           
                                 0] z + [0]                       
                                 [0 1]     [0 1]     [0           
                                 1]     [0]                       
                              =  if_active(mark(x),y,z)           
      
             mark(minus(x,y)) =  [0]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  minus_active(x,y)                
      
                   mark(s(x)) =  [2 0] x + [0]                    
                                 [0 0]     [2]                    
                              >= [2 0] x + [0]                    
                                 [0 0]     [2]                    
                              =  s(mark(x))                       
      
            minus_active(x,y) =  [0]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  minus(x,y)                       
      
          minus_active(0(),y) =  [0]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  0()                              
      
      minus_active(s(x),s(y)) =  [0]                              
                                 [0]                              
                              >= [0]                              
                                 [0]                              
                              =  minus_active(x,y)                
      
*** 1.1.1.1.1.1.1.1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        div_active(x,y) -> div(x,y)
        div_active(0(),s(y)) -> 0()
        div_active(s(x),s(y)) -> if_active(ge_active(x,y),s(div(minus(x,y),s(y))),0())
        ge_active(x,y) -> ge(x,y)
        ge_active(x,0()) -> true()
        ge_active(0(),s(y)) -> false()
        ge_active(s(x),s(y)) -> ge_active(x,y)
        if_active(x,y,z) -> if(x,y,z)
        if_active(false(),x,y) -> mark(y)
        if_active(true(),x,y) -> mark(x)
        mark(0()) -> 0()
        mark(div(x,y)) -> div_active(mark(x),y)
        mark(ge(x,y)) -> ge_active(x,y)
        mark(if(x,y,z)) -> if_active(mark(x),y,z)
        mark(minus(x,y)) -> minus_active(x,y)
        mark(s(x)) -> s(mark(x))
        minus_active(x,y) -> minus(x,y)
        minus_active(0(),y) -> 0()
        minus_active(s(x),s(y)) -> minus_active(x,y)
      Signature:
        {div_active/2,ge_active/2,if_active/3,mark/1,minus_active/2} / {0/0,div/2,false/0,ge/2,if/3,minus/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {div_active,ge_active,if_active,mark,minus_active}/{0,div,false,ge,if,minus,s,true}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).