*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> 1()
        f(s(x)) -> f(g(x,x))
        g(0(),1()) -> s(0())
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {0/0,f/1,g/2} / {1/0,s/1}
      Obligation:
        Full
        basic terms: {0,f,g}/{1,s}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following weak dependency pairs:
      
      Strict DPs
        0#() -> c_1()
        f#(s(x)) -> c_2(f#(g(x,x)))
        g#(0(),1()) -> c_3(0#())
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        0#() -> c_1()
        f#(s(x)) -> c_2(f#(g(x,x)))
        g#(0(),1()) -> c_3(0#())
      Strict TRS Rules:
        0() -> 1()
        f(s(x)) -> f(g(x,x))
        g(0(),1()) -> s(0())
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {0/0,f/1,g/2,0#/0,f#/1,g#/2} / {1/0,s/1,c_1/0,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {0#,f#,g#}/{1,s}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        0() -> 1()
        g(0(),1()) -> s(0())
        0#() -> c_1()
        f#(s(x)) -> c_2(f#(g(x,x)))
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        0#() -> c_1()
        f#(s(x)) -> c_2(f#(g(x,x)))
      Strict TRS Rules:
        0() -> 1()
        g(0(),1()) -> s(0())
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {0/0,f/1,g/2,0#/0,f#/1,g#/2} / {1/0,s/1,c_1/0,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {0#,f#,g#}/{1,s}
    Applied Processor:
      PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    Proof:
      We estimate the number of application of
        {1}
      by application of
        Pre({1}) = {}.
      Here rules are labelled as follows:
        1: 0#() -> c_1()              
        2: f#(s(x)) -> c_2(f#(g(x,x)))
*** 1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(s(x)) -> c_2(f#(g(x,x)))
      Strict TRS Rules:
        0() -> 1()
        g(0(),1()) -> s(0())
      Weak DP Rules:
        0#() -> c_1()
      Weak TRS Rules:
        
      Signature:
        {0/0,f/1,g/2,0#/0,f#/1,g#/2} / {1/0,s/1,c_1/0,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {0#,f#,g#}/{1,s}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 0, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima):
      The following argument positions are considered usable:
        none
      
      Following symbols are considered usable:
        {}
      TcT has computed the following interpretation:
          p(0) = [8]         
          p(1) = [0]         
          p(f) = [0]         
          p(g) = [0]         
          p(s) = [0]         
         p(0#) = [0]         
         p(f#) = [0]         
         p(g#) = [0]         
        p(c_1) = [0]         
        p(c_2) = [0]         
        p(c_3) = [1] x1 + [0]
      
      Following rules are strictly oriented:
      0() = [8]
          > [0]
          = 1()
      
      
      Following rules are (at-least) weakly oriented:
            0#() =  [0]            
                 >= [0]            
                 =  c_1()          
      
        f#(s(x)) =  [0]            
                 >= [0]            
                 =  c_2(f#(g(x,x)))
      
      g(0(),1()) =  [0]            
                 >= [0]            
                 =  s(0())         
      
*** 1.1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(s(x)) -> c_2(f#(g(x,x)))
      Strict TRS Rules:
        g(0(),1()) -> s(0())
      Weak DP Rules:
        0#() -> c_1()
      Weak TRS Rules:
        0() -> 1()
      Signature:
        {0/0,f/1,g/2,0#/0,f#/1,g#/2} / {1/0,s/1,c_1/0,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {0#,f#,g#}/{1,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, 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:
          none
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
            p(0) = [0]         
            p(1) = [0]         
            p(f) = [0]         
            p(g) = [0]         
            p(s) = [1] x1 + [0]
           p(0#) = [0]         
           p(f#) = [3]         
           p(g#) = [0]         
          p(c_1) = [0]         
          p(c_2) = [0]         
          p(c_3) = [0]         
        
        Following rules are strictly oriented:
        f#(s(x)) = [3]            
                 > [0]            
                 = c_2(f#(g(x,x)))
        
        
        Following rules are (at-least) weakly oriented:
              0#() =  [0]   
                   >= [0]   
                   =  c_1() 
        
               0() =  [0]   
                   >= [0]   
                   =  1()   
        
        g(0(),1()) =  [0]   
                   >= [0]   
                   =  s(0())
        
      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^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        g(0(),1()) -> s(0())
      Weak DP Rules:
        0#() -> c_1()
        f#(s(x)) -> c_2(f#(g(x,x)))
      Weak TRS Rules:
        0() -> 1()
      Signature:
        {0/0,f/1,g/2,0#/0,f#/1,g#/2} / {1/0,s/1,c_1/0,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {0#,f#,g#}/{1,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, 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:
          none
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
            p(0) = [0]         
            p(1) = [0]         
            p(f) = [0]         
            p(g) = [11]        
            p(s) = [1] x1 + [0]
           p(0#) = [0]         
           p(f#) = [0]         
           p(g#) = [0]         
          p(c_1) = [0]         
          p(c_2) = [0]         
          p(c_3) = [0]         
        
        Following rules are strictly oriented:
        g(0(),1()) = [11]  
                   > [0]   
                   = s(0())
        
        
        Following rules are (at-least) weakly oriented:
            0#() =  [0]            
                 >= [0]            
                 =  c_1()          
        
        f#(s(x)) =  [0]            
                 >= [0]            
                 =  c_2(f#(g(x,x)))
        
             0() =  [0]            
                 >= [0]            
                 =  1()            
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        0#() -> c_1()
        f#(s(x)) -> c_2(f#(g(x,x)))
      Weak TRS Rules:
        0() -> 1()
        g(0(),1()) -> s(0())
      Signature:
        {0/0,f/1,g/2,0#/0,f#/1,g#/2} / {1/0,s/1,c_1/0,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {0#,f#,g#}/{1,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).