*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        f(f(x)) -> f(x)
        f(s(x)) -> f(x)
        g(s(0())) -> g(f(s(0())))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/1,g/1} / {0/0,s/1}
      Obligation:
        Full
        basic terms: {f,g}/{0,s}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following weak dependency pairs:
      
      Strict DPs
        f#(f(x)) -> c_1(f#(x))
        f#(s(x)) -> c_2(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(f(x)) -> c_1(f#(x))
        f#(s(x)) -> c_2(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
      Strict TRS Rules:
        f(f(x)) -> f(x)
        f(s(x)) -> f(x)
        g(s(0())) -> g(f(s(0())))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/1,g/1,f#/1,g#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#,g#}/{0,s}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        f(f(x)) -> f(x)
        f(s(x)) -> f(x)
        f#(f(x)) -> c_1(f#(x))
        f#(s(x)) -> c_2(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(f(x)) -> c_1(f#(x))
        f#(s(x)) -> c_2(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
      Strict TRS Rules:
        f(f(x)) -> f(x)
        f(s(x)) -> f(x)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/1,g/1,f#/1,g#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#,g#}/{0,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:
          uargs(g#) = {1},
          uargs(c_1) = {1},
          uargs(c_2) = {1},
          uargs(c_3) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
            p(0) = [4]         
            p(f) = [4] x1 + [4]
            p(g) = [2]         
            p(s) = [1] x1 + [0]
           p(f#) = [2] x1 + [0]
           p(g#) = [1] x1 + [0]
          p(c_1) = [1] x1 + [0]
          p(c_2) = [1] x1 + [0]
          p(c_3) = [1] x1 + [4]
        
        Following rules are strictly oriented:
        f#(f(x)) = [8] x + [8]  
                 > [2] x + [0]  
                 = c_1(f#(x))   
        
         f(f(x)) = [16] x + [20]
                 > [4] x + [4]  
                 = f(x)         
        
        
        Following rules are (at-least) weakly oriented:
          f#(s(x)) =  [2] x + [0]       
                   >= [2] x + [0]       
                   =  c_2(f#(x))        
        
        g#(s(0())) =  [4]               
                   >= [24]              
                   =  c_3(g#(f(s(0()))))
        
           f(s(x)) =  [4] x + [4]       
                   >= [4] x + [4]       
                   =  f(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^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(s(x)) -> c_2(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
      Strict TRS Rules:
        f(s(x)) -> f(x)
      Weak DP Rules:
        f#(f(x)) -> c_1(f#(x))
      Weak TRS Rules:
        f(f(x)) -> f(x)
      Signature:
        {f/1,g/1,f#/1,g#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#,g#}/{0,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:
          uargs(g#) = {1},
          uargs(c_1) = {1},
          uargs(c_2) = {1},
          uargs(c_3) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
            p(0) = [0]         
            p(f) = [1]         
            p(g) = [0]         
            p(s) = [1] x1 + [2]
           p(f#) = [0]         
           p(g#) = [1] x1 + [9]
          p(c_1) = [1] x1 + [0]
          p(c_2) = [1] x1 + [0]
          p(c_3) = [1] x1 + [0]
        
        Following rules are strictly oriented:
        g#(s(0())) = [11]              
                   > [10]              
                   = c_3(g#(f(s(0()))))
        
        
        Following rules are (at-least) weakly oriented:
        f#(f(x)) =  [0]       
                 >= [0]       
                 =  c_1(f#(x))
        
        f#(s(x)) =  [0]       
                 >= [0]       
                 =  c_2(f#(x))
        
         f(f(x)) =  [1]       
                 >= [1]       
                 =  f(x)      
        
         f(s(x)) =  [1]       
                 >= [1]       
                 =  f(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^1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(s(x)) -> c_2(f#(x))
      Strict TRS Rules:
        f(s(x)) -> f(x)
      Weak DP Rules:
        f#(f(x)) -> c_1(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
      Weak TRS Rules:
        f(f(x)) -> f(x)
      Signature:
        {f/1,g/1,f#/1,g#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#,g#}/{0,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:
          uargs(g#) = {1},
          uargs(c_1) = {1},
          uargs(c_2) = {1},
          uargs(c_3) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
            p(0) = [0]         
            p(f) = [1] x1 + [0]
            p(g) = [0]         
            p(s) = [1] x1 + [9]
           p(f#) = [1] x1 + [0]
           p(g#) = [1] x1 + [0]
          p(c_1) = [1] x1 + [0]
          p(c_2) = [1] x1 + [0]
          p(c_3) = [1] x1 + [0]
        
        Following rules are strictly oriented:
        f#(s(x)) = [1] x + [9]
                 > [1] x + [0]
                 = c_2(f#(x)) 
        
         f(s(x)) = [1] x + [9]
                 > [1] x + [0]
                 = f(x)       
        
        
        Following rules are (at-least) weakly oriented:
          f#(f(x)) =  [1] x + [0]       
                   >= [1] x + [0]       
                   =  c_1(f#(x))        
        
        g#(s(0())) =  [9]               
                   >= [9]               
                   =  c_3(g#(f(s(0()))))
        
           f(f(x)) =  [1] x + [0]       
                   >= [1] x + [0]       
                   =  f(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(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        f#(f(x)) -> c_1(f#(x))
        f#(s(x)) -> c_2(f#(x))
        g#(s(0())) -> c_3(g#(f(s(0()))))
      Weak TRS Rules:
        f(f(x)) -> f(x)
        f(s(x)) -> f(x)
      Signature:
        {f/1,g/1,f#/1,g#/1} / {0/0,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#,g#}/{0,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).