*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        divp(x,y) -> =(rem(x,y),0())
        prime(0()) -> false()
        prime(s(0())) -> false()
        prime(s(s(x))) -> prime1(s(s(x)),s(x))
        prime1(x,0()) -> false()
        prime1(x,s(0())) -> true()
        prime1(x,s(s(y))) -> and(not(divp(s(s(y)),x)),prime1(x,s(y)))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {divp/2,prime/1,prime1/2} / {0/0,=/2,and/2,false/0,not/1,rem/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {divp,prime,prime1}/{0,=,and,false,not,rem,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(and) = {1,2},
          uargs(not) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
               p(0) = [0]                  
               p(=) = [0]                  
             p(and) = [1] x1 + [1] x2 + [2]
            p(divp) = [0]                  
           p(false) = [0]                  
             p(not) = [1] x1 + [1]         
           p(prime) = [1] x1 + [4]         
          p(prime1) = [1] x2 + [13]        
             p(rem) = [1] x2 + [0]         
               p(s) = [1] x1 + [4]         
            p(true) = [0]                  
        
        Following rules are strictly oriented:
               prime(0()) = [4]                     
                          > [0]                     
                          = false()                 
        
            prime(s(0())) = [8]                     
                          > [0]                     
                          = false()                 
        
            prime1(x,0()) = [13]                    
                          > [0]                     
                          = false()                 
        
         prime1(x,s(0())) = [17]                    
                          > [0]                     
                          = true()                  
        
        prime1(x,s(s(y))) = [1] y + [21]            
                          > [1] y + [20]            
                          = and(not(divp(s(s(y)),x))
                               ,prime1(x,s(y)))     
        
        
        Following rules are (at-least) weakly oriented:
             divp(x,y) =  [0]                 
                       >= [0]                 
                       =  =(rem(x,y),0())     
        
        prime(s(s(x))) =  [1] x + [12]        
                       >= [1] x + [17]        
                       =  prime1(s(s(x)),s(x))
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        divp(x,y) -> =(rem(x,y),0())
        prime(s(s(x))) -> prime1(s(s(x)),s(x))
      Weak DP Rules:
        
      Weak TRS Rules:
        prime(0()) -> false()
        prime(s(0())) -> false()
        prime1(x,0()) -> false()
        prime1(x,s(0())) -> true()
        prime1(x,s(s(y))) -> and(not(divp(s(s(y)),x)),prime1(x,s(y)))
      Signature:
        {divp/2,prime/1,prime1/2} / {0/0,=/2,and/2,false/0,not/1,rem/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {divp,prime,prime1}/{0,=,and,false,not,rem,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(and) = {1,2},
          uargs(not) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
               p(0) = [1]                  
               p(=) = [1] x1 + [7]         
             p(and) = [1] x1 + [1] x2 + [0]
            p(divp) = [0]                  
           p(false) = [4]                  
             p(not) = [1] x1 + [0]         
           p(prime) = [2] x1 + [9]         
          p(prime1) = [4] x2 + [0]         
             p(rem) = [8]                  
               p(s) = [4]                  
            p(true) = [0]                  
        
        Following rules are strictly oriented:
        prime(s(s(x))) = [17]                
                       > [16]                
                       = prime1(s(s(x)),s(x))
        
        
        Following rules are (at-least) weakly oriented:
                divp(x,y) =  [0]                     
                          >= [15]                    
                          =  =(rem(x,y),0())         
        
               prime(0()) =  [11]                    
                          >= [4]                     
                          =  false()                 
        
            prime(s(0())) =  [17]                    
                          >= [4]                     
                          =  false()                 
        
            prime1(x,0()) =  [4]                     
                          >= [4]                     
                          =  false()                 
        
         prime1(x,s(0())) =  [16]                    
                          >= [0]                     
                          =  true()                  
        
        prime1(x,s(s(y))) =  [16]                    
                          >= [16]                    
                          =  and(not(divp(s(s(y)),x))
                                ,prime1(x,s(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^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        divp(x,y) -> =(rem(x,y),0())
      Weak DP Rules:
        
      Weak TRS Rules:
        prime(0()) -> false()
        prime(s(0())) -> false()
        prime(s(s(x))) -> prime1(s(s(x)),s(x))
        prime1(x,0()) -> false()
        prime1(x,s(0())) -> true()
        prime1(x,s(s(y))) -> and(not(divp(s(s(y)),x)),prime1(x,s(y)))
      Signature:
        {divp/2,prime/1,prime1/2} / {0/0,=/2,and/2,false/0,not/1,rem/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {divp,prime,prime1}/{0,=,and,false,not,rem,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(and) = {1,2},
          uargs(not) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
               p(0) = [1]                   
               p(=) = [1] x2 + [1]          
             p(and) = [1] x1 + [1] x2 + [0] 
            p(divp) = [4]                   
           p(false) = [1]                   
             p(not) = [1] x1 + [0]          
           p(prime) = [13] x1 + [5]         
          p(prime1) = [4] x1 + [4] x2 + [12]
             p(rem) = [1] x2 + [1]          
               p(s) = [1] x1 + [1]          
            p(true) = [0]                   
        
        Following rules are strictly oriented:
        divp(x,y) = [4]            
                  > [2]            
                  = =(rem(x,y),0())
        
        
        Following rules are (at-least) weakly oriented:
               prime(0()) =  [18]                    
                          >= [1]                     
                          =  false()                 
        
            prime(s(0())) =  [31]                    
                          >= [1]                     
                          =  false()                 
        
           prime(s(s(x))) =  [13] x + [31]           
                          >= [8] x + [24]            
                          =  prime1(s(s(x)),s(x))    
        
            prime1(x,0()) =  [4] x + [16]            
                          >= [1]                     
                          =  false()                 
        
         prime1(x,s(0())) =  [4] x + [20]            
                          >= [0]                     
                          =  true()                  
        
        prime1(x,s(s(y))) =  [4] x + [4] y + [20]    
                          >= [4] x + [4] y + [20]    
                          =  and(not(divp(s(s(y)),x))
                                ,prime1(x,s(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(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        divp(x,y) -> =(rem(x,y),0())
        prime(0()) -> false()
        prime(s(0())) -> false()
        prime(s(s(x))) -> prime1(s(s(x)),s(x))
        prime1(x,0()) -> false()
        prime1(x,s(0())) -> true()
        prime1(x,s(s(y))) -> and(not(divp(s(s(y)),x)),prime1(x,s(y)))
      Signature:
        {divp/2,prime/1,prime1/2} / {0/0,=/2,and/2,false/0,not/1,rem/2,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {divp,prime,prime1}/{0,=,and,false,not,rem,s,true}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).