*** 1 Progress [(O(1),O(n^2))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        +(x,0()) -> x
        +(x,s(y)) -> s(+(x,y))
        f(0()) -> 1()
        f(s(x)) -> g(x,s(x))
        g(0(),y) -> y
        g(s(x),y) -> g(x,+(y,s(x)))
        g(s(x),y) -> g(x,s(+(y,x)))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    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(g) = {2},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
          p(+) = [1] x1 + [0]         
          p(0) = [0]                  
          p(1) = [0]                  
          p(f) = [2] x1 + [0]         
          p(g) = [1] x1 + [1] x2 + [0]
          p(s) = [1] x1 + [4]         
        
        Following rules are strictly oriented:
          f(s(x)) = [2] x + [8]        
                  > [2] x + [4]        
                  = g(x,s(x))          
        
        g(s(x),y) = [1] x + [1] y + [4]
                  > [1] x + [1] y + [0]
                  = g(x,+(y,s(x)))     
        
        
        Following rules are (at-least) weakly oriented:
         +(x,0()) =  [1] x + [0]        
                  >= [1] x + [0]        
                  =  x                  
        
        +(x,s(y)) =  [1] x + [0]        
                  >= [1] x + [4]        
                  =  s(+(x,y))          
        
           f(0()) =  [0]                
                  >= [0]                
                  =  1()                
        
         g(0(),y) =  [1] y + [0]        
                  >= [1] y + [0]        
                  =  y                  
        
        g(s(x),y) =  [1] x + [1] y + [4]
                  >= [1] x + [1] y + [4]
                  =  g(x,s(+(y,x)))     
        
      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:
        +(x,0()) -> x
        +(x,s(y)) -> s(+(x,y))
        f(0()) -> 1()
        g(0(),y) -> y
        g(s(x),y) -> g(x,s(+(y,x)))
      Weak DP Rules:
        
      Weak TRS Rules:
        f(s(x)) -> g(x,s(x))
        g(s(x),y) -> g(x,+(y,s(x)))
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    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(g) = {2},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
          p(+) = [1] x1 + [0]
          p(0) = [3]         
          p(1) = [0]         
          p(f) = [2] x1 + [8]
          p(g) = [1] x2 + [0]
          p(s) = [1] x1 + [0]
        
        Following rules are strictly oriented:
        f(0()) = [14]
               > [0] 
               = 1() 
        
        
        Following rules are (at-least) weakly oriented:
         +(x,0()) =  [1] x + [0]   
                  >= [1] x + [0]   
                  =  x             
        
        +(x,s(y)) =  [1] x + [0]   
                  >= [1] x + [0]   
                  =  s(+(x,y))     
        
          f(s(x)) =  [2] x + [8]   
                  >= [1] x + [0]   
                  =  g(x,s(x))     
        
         g(0(),y) =  [1] y + [0]   
                  >= [1] y + [0]   
                  =  y             
        
        g(s(x),y) =  [1] y + [0]   
                  >= [1] y + [0]   
                  =  g(x,+(y,s(x)))
        
        g(s(x),y) =  [1] y + [0]   
                  >= [1] y + [0]   
                  =  g(x,s(+(y,x)))
        
      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:
        +(x,0()) -> x
        +(x,s(y)) -> s(+(x,y))
        g(0(),y) -> y
        g(s(x),y) -> g(x,s(+(y,x)))
      Weak DP Rules:
        
      Weak TRS Rules:
        f(0()) -> 1()
        f(s(x)) -> g(x,s(x))
        g(s(x),y) -> g(x,+(y,s(x)))
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    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(g) = {2},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
          p(+) = [1] x1 + [0] 
          p(0) = [0]          
          p(1) = [0]          
          p(f) = [4] x1 + [15]
          p(g) = [1] x2 + [13]
          p(s) = [1] x1 + [2] 
        
        Following rules are strictly oriented:
        g(0(),y) = [1] y + [13]
                 > [1] y + [0] 
                 = y           
        
        
        Following rules are (at-least) weakly oriented:
         +(x,0()) =  [1] x + [0]   
                  >= [1] x + [0]   
                  =  x             
        
        +(x,s(y)) =  [1] x + [0]   
                  >= [1] x + [2]   
                  =  s(+(x,y))     
        
           f(0()) =  [15]          
                  >= [0]           
                  =  1()           
        
          f(s(x)) =  [4] x + [23]  
                  >= [1] x + [15]  
                  =  g(x,s(x))     
        
        g(s(x),y) =  [1] y + [13]  
                  >= [1] y + [13]  
                  =  g(x,+(y,s(x)))
        
        g(s(x),y) =  [1] y + [13]  
                  >= [1] y + [15]  
                  =  g(x,s(+(y,x)))
        
      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:
        +(x,0()) -> x
        +(x,s(y)) -> s(+(x,y))
        g(s(x),y) -> g(x,s(+(y,x)))
      Weak DP Rules:
        
      Weak TRS Rules:
        f(0()) -> 1()
        f(s(x)) -> g(x,s(x))
        g(0(),y) -> y
        g(s(x),y) -> g(x,+(y,s(x)))
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    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(g) = {2},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
          p(+) = [1] x1 + [1]         
          p(0) = [0]                  
          p(1) = [0]                  
          p(f) = [8] x1 + [2]         
          p(g) = [1] x1 + [1] x2 + [0]
          p(s) = [1] x1 + [2]         
        
        Following rules are strictly oriented:
        +(x,0()) = [1] x + [1]
                 > [1] x + [0]
                 = x          
        
        
        Following rules are (at-least) weakly oriented:
        +(x,s(y)) =  [1] x + [1]        
                  >= [1] x + [3]        
                  =  s(+(x,y))          
        
           f(0()) =  [2]                
                  >= [0]                
                  =  1()                
        
          f(s(x)) =  [8] x + [18]       
                  >= [2] x + [2]        
                  =  g(x,s(x))          
        
         g(0(),y) =  [1] y + [0]        
                  >= [1] y + [0]        
                  =  y                  
        
        g(s(x),y) =  [1] x + [1] y + [2]
                  >= [1] x + [1] y + [1]
                  =  g(x,+(y,s(x)))     
        
        g(s(x),y) =  [1] x + [1] y + [2]
                  >= [1] x + [1] y + [3]
                  =  g(x,s(+(y,x)))     
        
      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:
        +(x,s(y)) -> s(+(x,y))
        g(s(x),y) -> g(x,s(+(y,x)))
      Weak DP Rules:
        
      Weak TRS Rules:
        +(x,0()) -> x
        f(0()) -> 1()
        f(s(x)) -> g(x,s(x))
        g(0(),y) -> y
        g(s(x),y) -> g(x,+(y,s(x)))
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    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(g) = {2},
          uargs(s) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
          p(+) = [1] x1 + [0]          
          p(0) = [1]                   
          p(1) = [0]                   
          p(f) = [5] x1 + [2]          
          p(g) = [4] x1 + [1] x2 + [10]
          p(s) = [1] x1 + [2]          
        
        Following rules are strictly oriented:
        g(s(x),y) = [4] x + [1] y + [18]
                  > [4] x + [1] y + [12]
                  = g(x,s(+(y,x)))      
        
        
        Following rules are (at-least) weakly oriented:
         +(x,0()) =  [1] x + [0]         
                  >= [1] x + [0]         
                  =  x                   
        
        +(x,s(y)) =  [1] x + [0]         
                  >= [1] x + [2]         
                  =  s(+(x,y))           
        
           f(0()) =  [7]                 
                  >= [0]                 
                  =  1()                 
        
          f(s(x)) =  [5] x + [12]        
                  >= [5] x + [12]        
                  =  g(x,s(x))           
        
         g(0(),y) =  [1] y + [14]        
                  >= [1] y + [0]         
                  =  y                   
        
        g(s(x),y) =  [4] x + [1] y + [18]
                  >= [4] x + [1] y + [10]
                  =  g(x,+(y,s(x)))      
        
      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:
        +(x,s(y)) -> s(+(x,y))
      Weak DP Rules:
        
      Weak TRS Rules:
        +(x,0()) -> x
        f(0()) -> 1()
        f(s(x)) -> g(x,s(x))
        g(0(),y) -> y
        g(s(x),y) -> g(x,+(y,s(x)))
        g(s(x),y) -> g(x,s(+(y,x)))
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    Applied Processor:
      NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a polynomial interpretation of kind constructor-based(mixed(2)):
      The following argument positions are considered usable:
        uargs(g) = {2},
        uargs(s) = {1}
      
      Following symbols are considered usable:
        {+,f,g}
      TcT has computed the following interpretation:
        p(+) = 1 + x1 + 2*x2     
        p(0) = 0                 
        p(1) = 0                 
        p(f) = 2 + 6*x1^2        
        p(g) = 4*x1 + 2*x1^2 + x2
        p(s) = 1 + x1            
      
      Following rules are strictly oriented:
      +(x,s(y)) = 3 + x + 2*y
                > 2 + x + 2*y
                = s(+(x,y))  
      
      
      Following rules are (at-least) weakly oriented:
       +(x,0()) =  1 + x              
                >= x                  
                =  x                  
      
         f(0()) =  2                  
                >= 0                  
                =  1()                
      
        f(s(x)) =  8 + 12*x + 6*x^2   
                >= 1 + 5*x + 2*x^2    
                =  g(x,s(x))          
      
       g(0(),y) =  y                  
                >= y                  
                =  y                  
      
      g(s(x),y) =  6 + 8*x + 2*x^2 + y
                >= 3 + 6*x + 2*x^2 + y
                =  g(x,+(y,s(x)))     
      
      g(s(x),y) =  6 + 8*x + 2*x^2 + y
                >= 2 + 6*x + 2*x^2 + y
                =  g(x,s(+(y,x)))     
      
*** 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:
        +(x,0()) -> x
        +(x,s(y)) -> s(+(x,y))
        f(0()) -> 1()
        f(s(x)) -> g(x,s(x))
        g(0(),y) -> y
        g(s(x),y) -> g(x,+(y,s(x)))
        g(s(x),y) -> g(x,s(+(y,x)))
      Signature:
        {+/2,f/1,g/2} / {0/0,1/0,s/1}
      Obligation:
        Innermost
        basic terms: {+,f,g}/{0,1,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).