* Step 1: Sum WORST_CASE(Omega(n^1),O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
** Step 1.a:1: DecreasingLoops WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            +(x,0()) -> x
            +(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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          +(x,y){y -> s(y)} =
            +(x,s(y)) ->^+ s(+(x,y))
              = C[+(x,y) = +(x,y){}]

** Step 1.b:1: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(g) = {2},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          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.
** Step 1.b:2: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(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 TRS:
            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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(g) = {2},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          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.
** Step 1.b:3: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(x,0()) -> x
            +(x,s(y)) -> s(+(x,y))
            g(0(),y) -> y
            g(s(x),y) -> g(x,s(+(y,x)))
        - Weak TRS:
            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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(g) = {2},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          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.
** Step 1.b:4: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(x,0()) -> x
            +(x,s(y)) -> s(+(x,y))
            g(s(x),y) -> g(x,s(+(y,x)))
        - Weak TRS:
            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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(g) = {2},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          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.
** Step 1.b:5: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(x,s(y)) -> s(+(x,y))
            g(s(x),y) -> g(x,s(+(y,x)))
        - Weak TRS:
            +(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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following nonconstant growth matrix-interpretation:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(g) = {2},
            uargs(s) = {1}
          
          Following symbols are considered usable:
            all
          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.
** Step 1.b:6: NaturalPI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            +(x,s(y)) -> s(+(x,y))
        - Weak TRS:
            +(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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
    + Details:
        We apply a polynomial interpretation of kind constructor-based(mixed(2)):
        The following argument positions are considered usable:
          uargs(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) = 1                
          p(1) = 0                
          p(f) = 1 + 4*x1 + 3*x1^2
          p(g) = 1 + 3*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()) =  3 + x              
                  >= x                  
                  =  x                  
        
           f(0()) =  8                  
                  >= 0                  
                  =  1()                
        
          f(s(x)) =  8 + 10*x + 3*x^2   
                  >= 2 + x + 3*x^2      
                  =  g(x,s(x))          
        
         g(0(),y) =  4 + y              
                  >= y                  
                  =  y                  
        
        g(s(x),y) =  4 + 6*x + 3*x^2 + y
                  >= 4 + 2*x + 3*x^2 + y
                  =  g(x,+(y,s(x)))     
        
        g(s(x),y) =  4 + 6*x + 3*x^2 + y
                  >= 3 + 2*x + 3*x^2 + y
                  =  g(x,s(+(y,x)))     
        
** Step 1.b:7: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            +(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 runtime complexity wrt. defined symbols {+,f,g} and constructors {0,1,s}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

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