MAYBE
* Step 1: DependencyPairs MAYBE
    + Considered Problem:
        - Strict TRS:
            d(x) -> if(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x)
            digits() -> d(0())
            if(false(),x) -> nil()
            if(true(),x) -> cons(x,d(s(x)))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {d/1,digits/0,if/2,le/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {d,digits,if,le} and constructors {0,cons,false,nil,s
            ,true}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
          digits#() -> c_2(d#(0()))
          if#(false(),x) -> c_3()
          if#(true(),x) -> c_4(d#(s(x)))
          le#(0(),y) -> c_5()
          le#(s(x),0()) -> c_6()
          le#(s(x),s(y)) -> c_7(le#(x,y))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 2: UsableRules MAYBE
    + Considered Problem:
        - Strict DPs:
            d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
            digits#() -> c_2(d#(0()))
            if#(false(),x) -> c_3()
            if#(true(),x) -> c_4(d#(s(x)))
            le#(0(),y) -> c_5()
            le#(s(x),0()) -> c_6()
            le#(s(x),s(y)) -> c_7(le#(x,y))
        - Weak TRS:
            d(x) -> if(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x)
            digits() -> d(0())
            if(false(),x) -> nil()
            if(true(),x) -> cons(x,d(s(x)))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {d/1,digits/0,if/2,le/2,d#/1,digits#/0,if#/2,le#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/1,c_3/0
            ,c_4/1,c_5/0,c_6/0,c_7/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {d#,digits#,if#,le#} and constructors {0,cons,false,nil,s
            ,true}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
          digits#() -> c_2(d#(0()))
          if#(false(),x) -> c_3()
          if#(true(),x) -> c_4(d#(s(x)))
          le#(0(),y) -> c_5()
          le#(s(x),0()) -> c_6()
          le#(s(x),s(y)) -> c_7(le#(x,y))
* Step 3: PredecessorEstimation MAYBE
    + Considered Problem:
        - Strict DPs:
            d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
            digits#() -> c_2(d#(0()))
            if#(false(),x) -> c_3()
            if#(true(),x) -> c_4(d#(s(x)))
            le#(0(),y) -> c_5()
            le#(s(x),0()) -> c_6()
            le#(s(x),s(y)) -> c_7(le#(x,y))
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {d/1,digits/0,if/2,le/2,d#/1,digits#/0,if#/2,le#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/1,c_3/0
            ,c_4/1,c_5/0,c_6/0,c_7/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {d#,digits#,if#,le#} and constructors {0,cons,false,nil,s
            ,true}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {3,5,6}
        by application of
          Pre({3,5,6}) = {1,7}.
        Here rules are labelled as follows:
          1: d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
          2: digits#() -> c_2(d#(0()))
          3: if#(false(),x) -> c_3()
          4: if#(true(),x) -> c_4(d#(s(x)))
          5: le#(0(),y) -> c_5()
          6: le#(s(x),0()) -> c_6()
          7: le#(s(x),s(y)) -> c_7(le#(x,y))
* Step 4: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
            digits#() -> c_2(d#(0()))
            if#(true(),x) -> c_4(d#(s(x)))
            le#(s(x),s(y)) -> c_7(le#(x,y))
        - Weak DPs:
            if#(false(),x) -> c_3()
            le#(0(),y) -> c_5()
            le#(s(x),0()) -> c_6()
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {d/1,digits/0,if/2,le/2,d#/1,digits#/0,if#/2,le#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/1,c_3/0
            ,c_4/1,c_5/0,c_6/0,c_7/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {d#,digits#,if#,le#} and constructors {0,cons,false,nil,s
            ,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
             -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):4
             -->_1 if#(true(),x) -> c_4(d#(s(x))):3
             -->_2 le#(0(),y) -> c_5():6
             -->_1 if#(false(),x) -> c_3():5
          
          2:S:digits#() -> c_2(d#(0()))
             -->_1 d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0()))))))))))):1
          
          3:S:if#(true(),x) -> c_4(d#(s(x)))
             -->_1 d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0()))))))))))):1
          
          4:S:le#(s(x),s(y)) -> c_7(le#(x,y))
             -->_1 le#(s(x),0()) -> c_6():7
             -->_1 le#(0(),y) -> c_5():6
             -->_1 le#(s(x),s(y)) -> c_7(le#(x,y)):4
          
          5:W:if#(false(),x) -> c_3()
             
          
          6:W:le#(0(),y) -> c_5()
             
          
          7:W:le#(s(x),0()) -> c_6()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          5: if#(false(),x) -> c_3()
          6: le#(0(),y) -> c_5()
          7: le#(s(x),0()) -> c_6()
* Step 5: RemoveHeads MAYBE
    + Considered Problem:
        - Strict DPs:
            d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
            digits#() -> c_2(d#(0()))
            if#(true(),x) -> c_4(d#(s(x)))
            le#(s(x),s(y)) -> c_7(le#(x,y))
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {d/1,digits/0,if/2,le/2,d#/1,digits#/0,if#/2,le#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/1,c_3/0
            ,c_4/1,c_5/0,c_6/0,c_7/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {d#,digits#,if#,le#} and constructors {0,cons,false,nil,s
            ,true}
    + Applied Processor:
        RemoveHeads
    + Details:
        Consider the dependency graph
        
        1:S:d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
           -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):4
           -->_1 if#(true(),x) -> c_4(d#(s(x))):3
        
        2:S:digits#() -> c_2(d#(0()))
           -->_1 d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0()))))))))))):1
        
        3:S:if#(true(),x) -> c_4(d#(s(x)))
           -->_1 d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0()))))))))))):1
        
        4:S:le#(s(x),s(y)) -> c_7(le#(x,y))
           -->_1 le#(s(x),s(y)) -> c_7(le#(x,y)):4
        
        
        Following roots of the dependency graph are removed, as the considered set of starting terms is closed under reduction with respect to these rules (modulo compound contexts).
        
        [(2,digits#() -> c_2(d#(0())))]
* Step 6: WeightGap MAYBE
    + Considered Problem:
        - Strict DPs:
            d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
            if#(true(),x) -> c_4(d#(s(x)))
            le#(s(x),s(y)) -> c_7(le#(x,y))
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {d/1,digits/0,if/2,le/2,d#/1,digits#/0,if#/2,le#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/1,c_3/0
            ,c_4/1,c_5/0,c_6/0,c_7/1}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {d#,digits#,if#,le#} and constructors {0,cons,false,nil,s
            ,true}
    + Applied Processor:
        WeightGap {wgDimension = 1, wgDegree = 0, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    + Details:
        The weightgap principle applies using the following constant growth matrix-interpretation:
          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:
            uargs(if#) = {1},
            uargs(c_1) = {1,2},
            uargs(c_4) = {1},
            uargs(c_7) = {1}
          
          Following symbols are considered usable:
            all
          TcT has computed the following interpretation:
                  p(0) = [0]                  
               p(cons) = [0]                  
                  p(d) = [0]                  
             p(digits) = [0]                  
              p(false) = [0]                  
                 p(if) = [0]                  
                 p(le) = [9]                  
                p(nil) = [0]                  
                  p(s) = [1]                  
               p(true) = [4]                  
                 p(d#) = [0]                  
            p(digits#) = [0]                  
                p(if#) = [1] x1 + [5]         
                p(le#) = [0]                  
                p(c_1) = [1] x1 + [1] x2 + [0]
                p(c_2) = [0]                  
                p(c_3) = [0]                  
                p(c_4) = [1] x1 + [0]         
                p(c_5) = [0]                  
                p(c_6) = [0]                  
                p(c_7) = [1] x1 + [2]         
          
          Following rules are strictly oriented:
          if#(true(),x) = [9]          
                        > [0]          
                        = c_4(d#(s(x)))
          
          
          Following rules are (at-least) weakly oriented:
                   d#(x) =  [0]                                                                                   
                         >= [14]                                                                                  
                         =  c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
          
          le#(s(x),s(y)) =  [0]                                                                                   
                         >= [2]                                                                                   
                         =  c_7(le#(x,y))                                                                         
          
               le(0(),y) =  [9]                                                                                   
                         >= [4]                                                                                   
                         =  true()                                                                                
          
            le(s(x),0()) =  [9]                                                                                   
                         >= [0]                                                                                   
                         =  false()                                                                               
          
           le(s(x),s(y)) =  [9]                                                                                   
                         >= [9]                                                                                   
                         =  le(x,y)                                                                               
          
        Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 7: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          d#(x) -> c_1(if#(le(x,s(s(s(s(s(s(s(s(s(0())))))))))),x),le#(x,s(s(s(s(s(s(s(s(s(0())))))))))))
          le#(s(x),s(y)) -> c_7(le#(x,y))
      - Weak DPs:
          if#(true(),x) -> c_4(d#(s(x)))
      - Weak TRS:
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
      - Signature:
          {d/1,digits/0,if/2,le/2,d#/1,digits#/0,if#/2,le#/2} / {0/0,cons/2,false/0,nil/0,s/1,true/0,c_1/2,c_2/1,c_3/0
          ,c_4/1,c_5/0,c_6/0,c_7/1}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {d#,digits#,if#,le#} and constructors {0,cons,false,nil,s
          ,true}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
MAYBE