*** 1 Progress [(?,O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        f(x,0()) -> x
        f(0(),y) -> y
        f(1(),g(x,y)) -> x
        f(2(),g(x,y)) -> y
        f(f(x,y),z) -> f(x,f(y,z))
        f(g(x,y),z) -> g(f(x,z),f(y,z))
        f(i(x),y) -> i(x)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/2} / {0/0,1/0,2/0,g/2,i/1}
      Obligation:
        Innermost
        basic terms: {f}/{0,1,2,g,i}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following dependency tuples:
      
      Strict DPs
        f#(x,0()) -> c_1()
        f#(0(),y) -> c_2()
        f#(1(),g(x,y)) -> c_3()
        f#(2(),g(x,y)) -> c_4()
        f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
        f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
        f#(i(x),y) -> c_7()
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(?,O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(x,0()) -> c_1()
        f#(0(),y) -> c_2()
        f#(1(),g(x,y)) -> c_3()
        f#(2(),g(x,y)) -> c_4()
        f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
        f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
        f#(i(x),y) -> c_7()
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        f(x,0()) -> x
        f(0(),y) -> y
        f(1(),g(x,y)) -> x
        f(2(),g(x,y)) -> y
        f(f(x,y),z) -> f(x,f(y,z))
        f(g(x,y),z) -> g(f(x,z),f(y,z))
        f(i(x),y) -> i(x)
      Signature:
        {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
      Obligation:
        Innermost
        basic terms: {f#}/{0,1,2,g,i}
    Applied Processor:
      PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    Proof:
      We estimate the number of application of
        {1,2,3,4,7}
      by application of
        Pre({1,2,3,4,7}) = {5,6}.
      Here rules are labelled as follows:
        1: f#(x,0()) -> c_1()              
        2: f#(0(),y) -> c_2()              
        3: f#(1(),g(x,y)) -> c_3()         
        4: f#(2(),g(x,y)) -> c_4()         
        5: f#(f(x,y),z) -> c_5(f#(x,f(y,z))
                              ,f#(y,z))    
        6: f#(g(x,y),z) -> c_6(f#(x,z)     
                              ,f#(y,z))    
        7: f#(i(x),y) -> c_7()             
*** 1.1.1 Progress [(?,O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
        f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
      Strict TRS Rules:
        
      Weak DP Rules:
        f#(x,0()) -> c_1()
        f#(0(),y) -> c_2()
        f#(1(),g(x,y)) -> c_3()
        f#(2(),g(x,y)) -> c_4()
        f#(i(x),y) -> c_7()
      Weak TRS Rules:
        f(x,0()) -> x
        f(0(),y) -> y
        f(1(),g(x,y)) -> x
        f(2(),g(x,y)) -> y
        f(f(x,y),z) -> f(x,f(y,z))
        f(g(x,y),z) -> g(f(x,z),f(y,z))
        f(i(x),y) -> i(x)
      Signature:
        {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
      Obligation:
        Innermost
        basic terms: {f#}/{0,1,2,g,i}
    Applied Processor:
      RemoveWeakSuffixes
    Proof:
      Consider the dependency graph
        1:S:f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
           -->_2 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
           -->_1 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
           -->_2 f#(i(x),y) -> c_7():7
           -->_1 f#(i(x),y) -> c_7():7
           -->_2 f#(2(),g(x,y)) -> c_4():6
           -->_1 f#(2(),g(x,y)) -> c_4():6
           -->_2 f#(1(),g(x,y)) -> c_3():5
           -->_1 f#(1(),g(x,y)) -> c_3():5
           -->_2 f#(0(),y) -> c_2():4
           -->_1 f#(0(),y) -> c_2():4
           -->_2 f#(x,0()) -> c_1():3
           -->_1 f#(x,0()) -> c_1():3
           -->_2 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
           -->_1 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
        
        2:S:f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
           -->_2 f#(i(x),y) -> c_7():7
           -->_1 f#(i(x),y) -> c_7():7
           -->_2 f#(2(),g(x,y)) -> c_4():6
           -->_1 f#(2(),g(x,y)) -> c_4():6
           -->_2 f#(1(),g(x,y)) -> c_3():5
           -->_1 f#(1(),g(x,y)) -> c_3():5
           -->_2 f#(0(),y) -> c_2():4
           -->_1 f#(0(),y) -> c_2():4
           -->_2 f#(x,0()) -> c_1():3
           -->_1 f#(x,0()) -> c_1():3
           -->_2 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
           -->_1 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
           -->_2 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
           -->_1 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
        
        3:W:f#(x,0()) -> c_1()
           
        
        4:W:f#(0(),y) -> c_2()
           
        
        5:W:f#(1(),g(x,y)) -> c_3()
           
        
        6:W:f#(2(),g(x,y)) -> c_4()
           
        
        7:W:f#(i(x),y) -> c_7()
           
        
      The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
        3: f#(x,0()) -> c_1()     
        4: f#(0(),y) -> c_2()     
        5: f#(1(),g(x,y)) -> c_3()
        6: f#(2(),g(x,y)) -> c_4()
        7: f#(i(x),y) -> c_7()    
*** 1.1.1.1 Progress [(?,O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
        f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        f(x,0()) -> x
        f(0(),y) -> y
        f(1(),g(x,y)) -> x
        f(2(),g(x,y)) -> y
        f(f(x,y),z) -> f(x,f(y,z))
        f(g(x,y),z) -> g(f(x,z),f(y,z))
        f(i(x),y) -> i(x)
      Signature:
        {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
      Obligation:
        Innermost
        basic terms: {f#}/{0,1,2,g,i}
    Applied Processor:
      PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
    Proof:
      We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
        2: f#(g(x,y),z) -> c_6(f#(x,z) 
                              ,f#(y,z))
        
      The strictly oriented rules are moved into the weak component.
  *** 1.1.1.1.1 Progress [(?,O(n^1))]  ***
      Considered Problem:
        Strict DP Rules:
          f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
          f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          f(x,0()) -> x
          f(0(),y) -> y
          f(1(),g(x,y)) -> x
          f(2(),g(x,y)) -> y
          f(f(x,y),z) -> f(x,f(y,z))
          f(g(x,y),z) -> g(f(x,z),f(y,z))
          f(i(x),y) -> i(x)
        Signature:
          {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
        Obligation:
          Innermost
          basic terms: {f#}/{0,1,2,g,i}
      Applied Processor:
        NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
      Proof:
        We apply a matrix interpretation of kind constructor based matrix interpretation:
        The following argument positions are considered usable:
          uargs(c_5) = {1,2},
          uargs(c_6) = {1,2}
        
        Following symbols are considered usable:
          {f#}
        TcT has computed the following interpretation:
            p(0) = [0]                  
            p(1) = [0]                  
            p(2) = [2]                  
            p(f) = [4] x1 + [2] x2 + [2]
            p(g) = [1] x1 + [1] x2 + [2]
            p(i) = [0]                  
           p(f#) = [2] x1 + [0]         
          p(c_1) = [4]                  
          p(c_2) = [1]                  
          p(c_3) = [0]                  
          p(c_4) = [0]                  
          p(c_5) = [4] x1 + [2] x2 + [4]
          p(c_6) = [1] x1 + [1] x2 + [0]
          p(c_7) = [1]                  
        
        Following rules are strictly oriented:
        f#(g(x,y),z) = [2] x + [2] y + [4] 
                     > [2] x + [2] y + [0] 
                     = c_6(f#(x,z),f#(y,z))
        
        
        Following rules are (at-least) weakly oriented:
        f#(f(x,y),z) =  [8] x + [4] y + [4]      
                     >= [8] x + [4] y + [4]      
                     =  c_5(f#(x,f(y,z)),f#(y,z))
        
  *** 1.1.1.1.1.1 Progress [(?,O(1))]  ***
      Considered Problem:
        Strict DP Rules:
          f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
        Strict TRS Rules:
          
        Weak DP Rules:
          f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
        Weak TRS Rules:
          f(x,0()) -> x
          f(0(),y) -> y
          f(1(),g(x,y)) -> x
          f(2(),g(x,y)) -> y
          f(f(x,y),z) -> f(x,f(y,z))
          f(g(x,y),z) -> g(f(x,z),f(y,z))
          f(i(x),y) -> i(x)
        Signature:
          {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
        Obligation:
          Innermost
          basic terms: {f#}/{0,1,2,g,i}
      Applied Processor:
        Assumption
      Proof:
        ()
  
  *** 1.1.1.1.2 Progress [(?,O(n^1))]  ***
      Considered Problem:
        Strict DP Rules:
          f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
        Strict TRS Rules:
          
        Weak DP Rules:
          f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
        Weak TRS Rules:
          f(x,0()) -> x
          f(0(),y) -> y
          f(1(),g(x,y)) -> x
          f(2(),g(x,y)) -> y
          f(f(x,y),z) -> f(x,f(y,z))
          f(g(x,y),z) -> g(f(x,z),f(y,z))
          f(i(x),y) -> i(x)
        Signature:
          {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
        Obligation:
          Innermost
          basic terms: {f#}/{0,1,2,g,i}
      Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
      Proof:
        We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
          1: f#(f(x,y),z) -> c_5(f#(x,f(y,z))
                                ,f#(y,z))    
          
        The strictly oriented rules are moved into the weak component.
    *** 1.1.1.1.2.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
          Strict TRS Rules:
            
          Weak DP Rules:
            f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
          Weak TRS Rules:
            f(x,0()) -> x
            f(0(),y) -> y
            f(1(),g(x,y)) -> x
            f(2(),g(x,y)) -> y
            f(f(x,y),z) -> f(x,f(y,z))
            f(g(x,y),z) -> g(f(x,z),f(y,z))
            f(i(x),y) -> i(x)
          Signature:
            {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
          Obligation:
            Innermost
            basic terms: {f#}/{0,1,2,g,i}
        Applied Processor:
          NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
        Proof:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(c_5) = {1,2},
            uargs(c_6) = {1,2}
          
          Following symbols are considered usable:
            {f#}
          TcT has computed the following interpretation:
              p(0) = [2]                   
              p(1) = [2]                   
              p(2) = [2]                   
              p(f) = [4] x1 + [2] x2 + [4] 
              p(g) = [1] x1 + [1] x2 + [4] 
              p(i) = [3]                   
             p(f#) = [4] x1 + [0]          
            p(c_1) = [1]                   
            p(c_2) = [2]                   
            p(c_3) = [1]                   
            p(c_4) = [4]                   
            p(c_5) = [4] x1 + [2] x2 + [12]
            p(c_6) = [1] x1 + [1] x2 + [0] 
            p(c_7) = [0]                   
          
          Following rules are strictly oriented:
          f#(f(x,y),z) = [16] x + [8] y + [16]    
                       > [16] x + [8] y + [12]    
                       = c_5(f#(x,f(y,z)),f#(y,z))
          
          
          Following rules are (at-least) weakly oriented:
          f#(g(x,y),z) =  [4] x + [4] y + [16]
                       >= [4] x + [4] y + [0] 
                       =  c_6(f#(x,z),f#(y,z))
          
    *** 1.1.1.1.2.1.1 Progress [(?,O(1))]  ***
        Considered Problem:
          Strict DP Rules:
            
          Strict TRS Rules:
            
          Weak DP Rules:
            f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
            f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
          Weak TRS Rules:
            f(x,0()) -> x
            f(0(),y) -> y
            f(1(),g(x,y)) -> x
            f(2(),g(x,y)) -> y
            f(f(x,y),z) -> f(x,f(y,z))
            f(g(x,y),z) -> g(f(x,z),f(y,z))
            f(i(x),y) -> i(x)
          Signature:
            {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
          Obligation:
            Innermost
            basic terms: {f#}/{0,1,2,g,i}
        Applied Processor:
          Assumption
        Proof:
          ()
    
    *** 1.1.1.1.2.2 Progress [(O(1),O(1))]  ***
        Considered Problem:
          Strict DP Rules:
            
          Strict TRS Rules:
            
          Weak DP Rules:
            f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
            f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
          Weak TRS Rules:
            f(x,0()) -> x
            f(0(),y) -> y
            f(1(),g(x,y)) -> x
            f(2(),g(x,y)) -> y
            f(f(x,y),z) -> f(x,f(y,z))
            f(g(x,y),z) -> g(f(x,z),f(y,z))
            f(i(x),y) -> i(x)
          Signature:
            {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
          Obligation:
            Innermost
            basic terms: {f#}/{0,1,2,g,i}
        Applied Processor:
          RemoveWeakSuffixes
        Proof:
          Consider the dependency graph
            1:W:f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z))
               -->_2 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
               -->_1 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
               -->_2 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
               -->_1 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
            
            2:W:f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z))
               -->_2 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
               -->_1 f#(g(x,y),z) -> c_6(f#(x,z),f#(y,z)):2
               -->_2 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
               -->_1 f#(f(x,y),z) -> c_5(f#(x,f(y,z)),f#(y,z)):1
            
          The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
            1: f#(f(x,y),z) -> c_5(f#(x,f(y,z))
                                  ,f#(y,z))    
            2: f#(g(x,y),z) -> c_6(f#(x,z)     
                                  ,f#(y,z))    
    *** 1.1.1.1.2.2.1 Progress [(O(1),O(1))]  ***
        Considered Problem:
          Strict DP Rules:
            
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            f(x,0()) -> x
            f(0(),y) -> y
            f(1(),g(x,y)) -> x
            f(2(),g(x,y)) -> y
            f(f(x,y),z) -> f(x,f(y,z))
            f(g(x,y),z) -> g(f(x,z),f(y,z))
            f(i(x),y) -> i(x)
          Signature:
            {f/2,f#/2} / {0/0,1/0,2/0,g/2,i/1,c_1/0,c_2/0,c_3/0,c_4/0,c_5/2,c_6/2,c_7/0}
          Obligation:
            Innermost
            basic terms: {f#}/{0,1,2,g,i}
        Applied Processor:
          EmptyProcessor
        Proof:
          The problem is already closed. The intended complexity is O(1).