* Step 1: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            f(a()) -> b()
            f(c()) -> d()
            f(g(x,y)) -> g(f(x),f(y))
            f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
            g(x,x) -> h(e(),x)
        - Signature:
            {f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
        - Obligation:
             runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
    + 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) = {1,2},
            uargs(h) = {2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a) = [0]                  
            p(b) = [0]                  
            p(c) = [0]                  
            p(d) = [0]                  
            p(e) = [0]                  
            p(f) = [0]                  
            p(g) = [1] x1 + [1] x2 + [5]
            p(h) = [1] x2 + [0]         
          
          Following rules are strictly oriented:
          g(x,x) = [2] x + [5]
                 > [1] x + [0]
                 = h(e(),x)   
          
          
          Following rules are (at-least) weakly oriented:
             f(a()) =  [0]                   
                    >= [0]                   
                    =  b()                   
          
             f(c()) =  [0]                   
                    >= [0]                   
                    =  d()                   
          
          f(g(x,y)) =  [0]                   
                    >= [5]                   
                    =  g(f(x),f(y))          
          
          f(h(x,y)) =  [0]                   
                    >= [5]                   
                    =  g(h(y,f(x)),h(x,f(y)))
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 2: WeightGap WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            f(a()) -> b()
            f(c()) -> d()
            f(g(x,y)) -> g(f(x),f(y))
            f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
        - Weak TRS:
            g(x,x) -> h(e(),x)
        - Signature:
            {f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
        - Obligation:
             runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
    + 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) = {1,2},
            uargs(h) = {2}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
            p(a) = [1]                  
            p(b) = [2]                  
            p(c) = [0]                  
            p(d) = [2]                  
            p(e) = [1]                  
            p(f) = [5]                  
            p(g) = [1] x1 + [1] x2 + [8]
            p(h) = [1] x2 + [0]         
          
          Following rules are strictly oriented:
          f(a()) = [5]
                 > [2]
                 = b()
          
          f(c()) = [5]
                 > [2]
                 = d()
          
          
          Following rules are (at-least) weakly oriented:
          f(g(x,y)) =  [5]                   
                    >= [18]                  
                    =  g(f(x),f(y))          
          
          f(h(x,y)) =  [5]                   
                    >= [18]                  
                    =  g(h(y,f(x)),h(x,f(y)))
          
             g(x,x) =  [2] x + [8]           
                    >= [1] x + [0]           
                    =  h(e(),x)              
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: NaturalPI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            f(g(x,y)) -> g(f(x),f(y))
            f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
        - Weak TRS:
            f(a()) -> b()
            f(c()) -> d()
            g(x,x) -> h(e(),x)
        - Signature:
            {f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
        - Obligation:
             runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
    + 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) = {1,2},
          uargs(h) = {2}
        
        Following symbols are considered usable:
          all
        TcT has computed the following interpretation:
          p(a) = 1          
          p(b) = 1          
          p(c) = 1          
          p(d) = 0          
          p(e) = 0          
          p(f) = 3*x1 + x1^2
          p(g) = 2 + x1 + x2
          p(h) = 1 + x1 + x2
        
        Following rules are strictly oriented:
        f(g(x,y)) = 10 + 7*x + 2*x*y + x^2 + 7*y + y^2
                  > 2 + 3*x + x^2 + 3*y + y^2         
                  = g(f(x),f(y))                      
        
        
        Following rules are (at-least) weakly oriented:
           f(a()) =  4                                
                  >= 1                                
                  =  b()                              
        
           f(c()) =  4                                
                  >= 0                                
                  =  d()                              
        
        f(h(x,y)) =  4 + 5*x + 2*x*y + x^2 + 5*y + y^2
                  >= 4 + 4*x + x^2 + 4*y + y^2        
                  =  g(h(y,f(x)),h(x,f(y)))           
        
           g(x,x) =  2 + 2*x                          
                  >= 1 + x                            
                  =  h(e(),x)                         
        
* Step 4: NaturalPI WORST_CASE(?,O(n^2))
    + Considered Problem:
        - Strict TRS:
            f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
        - Weak TRS:
            f(a()) -> b()
            f(c()) -> d()
            f(g(x,y)) -> g(f(x),f(y))
            g(x,x) -> h(e(),x)
        - Signature:
            {f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
        - Obligation:
             runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
    + 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) = {1,2},
          uargs(h) = {2}
        
        Following symbols are considered usable:
          all
        TcT has computed the following interpretation:
          p(a) = 1          
          p(b) = 0          
          p(c) = 0          
          p(d) = 0          
          p(e) = 0          
          p(f) = x1 + 3*x1^2
          p(g) = 1 + x1 + x2
          p(h) = 1 + x1 + x2
        
        Following rules are strictly oriented:
        f(h(x,y)) = 4 + 7*x + 6*x*y + 3*x^2 + 7*y + 3*y^2
                  > 3 + 2*x + 3*x^2 + 2*y + 3*y^2        
                  = g(h(y,f(x)),h(x,f(y)))               
        
        
        Following rules are (at-least) weakly oriented:
           f(a()) =  4                                    
                  >= 0                                    
                  =  b()                                  
        
           f(c()) =  0                                    
                  >= 0                                    
                  =  d()                                  
        
        f(g(x,y)) =  4 + 7*x + 6*x*y + 3*x^2 + 7*y + 3*y^2
                  >= 1 + x + 3*x^2 + y + 3*y^2            
                  =  g(f(x),f(y))                         
        
           g(x,x) =  1 + 2*x                              
                  >= 1 + x                                
                  =  h(e(),x)                             
        
* Step 5: EmptyProcessor WORST_CASE(?,O(1))
    + Considered Problem:
        - Weak TRS:
            f(a()) -> b()
            f(c()) -> d()
            f(g(x,y)) -> g(f(x),f(y))
            f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
            g(x,x) -> h(e(),x)
        - Signature:
            {f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
        - Obligation:
             runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
    + Applied Processor:
        EmptyProcessor
    + Details:
        The problem is already closed. The intended complexity is O(1).

WORST_CASE(?,O(n^2))