MAYBE
* Step 1: DependencyPairs MAYBE
    + Considered Problem:
        - Strict TRS:
            half(0()) -> 0()
            half(s(0())) -> 0()
            half(s(s(x))) -> s(half(x))
            if(false(),x,y) -> log2(half(x),y)
            if(true(),x,s(y)) -> y
            inc(0()) -> 0()
            inc(s(x)) -> s(inc(x))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            log(x) -> log2(x,0())
            log2(x,y) -> if(le(x,s(0())),x,inc(y))
        - Signature:
            {half/1,if/3,inc/1,le/2,log/1,log2/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {half,if,inc,le,log,log2} and constructors {0,false,s
            ,true}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          half#(0()) -> c_1()
          half#(s(0())) -> c_2()
          half#(s(s(x))) -> c_3(half#(x))
          if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
          if#(true(),x,s(y)) -> c_5()
          inc#(0()) -> c_6()
          inc#(s(x)) -> c_7(inc#(x))
          le#(0(),y) -> c_8()
          le#(s(x),0()) -> c_9()
          le#(s(x),s(y)) -> c_10(le#(x,y))
          log#(x) -> c_11(log2#(x,0()))
          log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 2: UsableRules MAYBE
    + Considered Problem:
        - Strict DPs:
            half#(0()) -> c_1()
            half#(s(0())) -> c_2()
            half#(s(s(x))) -> c_3(half#(x))
            if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
            if#(true(),x,s(y)) -> c_5()
            inc#(0()) -> c_6()
            inc#(s(x)) -> c_7(inc#(x))
            le#(0(),y) -> c_8()
            le#(s(x),0()) -> c_9()
            le#(s(x),s(y)) -> c_10(le#(x,y))
            log#(x) -> c_11(log2#(x,0()))
            log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
        - Weak TRS:
            half(0()) -> 0()
            half(s(0())) -> 0()
            half(s(s(x))) -> s(half(x))
            if(false(),x,y) -> log2(half(x),y)
            if(true(),x,s(y)) -> y
            inc(0()) -> 0()
            inc(s(x)) -> s(inc(x))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            log(x) -> log2(x,0())
            log2(x,y) -> if(le(x,s(0())),x,inc(y))
        - Signature:
            {half/1,if/3,inc/1,le/2,log/1,log2/2,half#/1,if#/3,inc#/1,le#/2,log#/1,log2#/2} / {0/0,false/0,s/1,true/0
            ,c_1/0,c_2/0,c_3/1,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {half#,if#,inc#,le#,log#,log2#} and constructors {0,false
            ,s,true}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          half(0()) -> 0()
          half(s(0())) -> 0()
          half(s(s(x))) -> s(half(x))
          inc(0()) -> 0()
          inc(s(x)) -> s(inc(x))
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          half#(0()) -> c_1()
          half#(s(0())) -> c_2()
          half#(s(s(x))) -> c_3(half#(x))
          if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
          if#(true(),x,s(y)) -> c_5()
          inc#(0()) -> c_6()
          inc#(s(x)) -> c_7(inc#(x))
          le#(0(),y) -> c_8()
          le#(s(x),0()) -> c_9()
          le#(s(x),s(y)) -> c_10(le#(x,y))
          log#(x) -> c_11(log2#(x,0()))
          log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
* Step 3: PredecessorEstimation MAYBE
    + Considered Problem:
        - Strict DPs:
            half#(0()) -> c_1()
            half#(s(0())) -> c_2()
            half#(s(s(x))) -> c_3(half#(x))
            if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
            if#(true(),x,s(y)) -> c_5()
            inc#(0()) -> c_6()
            inc#(s(x)) -> c_7(inc#(x))
            le#(0(),y) -> c_8()
            le#(s(x),0()) -> c_9()
            le#(s(x),s(y)) -> c_10(le#(x,y))
            log#(x) -> c_11(log2#(x,0()))
            log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
        - Weak TRS:
            half(0()) -> 0()
            half(s(0())) -> 0()
            half(s(s(x))) -> s(half(x))
            inc(0()) -> 0()
            inc(s(x)) -> s(inc(x))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {half/1,if/3,inc/1,le/2,log/1,log2/2,half#/1,if#/3,inc#/1,le#/2,log#/1,log2#/2} / {0/0,false/0,s/1,true/0
            ,c_1/0,c_2/0,c_3/1,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {half#,if#,inc#,le#,log#,log2#} and constructors {0,false
            ,s,true}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {1,2,5,6,8,9}
        by application of
          Pre({1,2,5,6,8,9}) = {3,4,7,10,12}.
        Here rules are labelled as follows:
          1: half#(0()) -> c_1()
          2: half#(s(0())) -> c_2()
          3: half#(s(s(x))) -> c_3(half#(x))
          4: if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
          5: if#(true(),x,s(y)) -> c_5()
          6: inc#(0()) -> c_6()
          7: inc#(s(x)) -> c_7(inc#(x))
          8: le#(0(),y) -> c_8()
          9: le#(s(x),0()) -> c_9()
          10: le#(s(x),s(y)) -> c_10(le#(x,y))
          11: log#(x) -> c_11(log2#(x,0()))
          12: log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
* Step 4: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            half#(s(s(x))) -> c_3(half#(x))
            if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
            inc#(s(x)) -> c_7(inc#(x))
            le#(s(x),s(y)) -> c_10(le#(x,y))
            log#(x) -> c_11(log2#(x,0()))
            log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
        - Weak DPs:
            half#(0()) -> c_1()
            half#(s(0())) -> c_2()
            if#(true(),x,s(y)) -> c_5()
            inc#(0()) -> c_6()
            le#(0(),y) -> c_8()
            le#(s(x),0()) -> c_9()
        - Weak TRS:
            half(0()) -> 0()
            half(s(0())) -> 0()
            half(s(s(x))) -> s(half(x))
            inc(0()) -> 0()
            inc(s(x)) -> s(inc(x))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {half/1,if/3,inc/1,le/2,log/1,log2/2,half#/1,if#/3,inc#/1,le#/2,log#/1,log2#/2} / {0/0,false/0,s/1,true/0
            ,c_1/0,c_2/0,c_3/1,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {half#,if#,inc#,le#,log#,log2#} and constructors {0,false
            ,s,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:half#(s(s(x))) -> c_3(half#(x))
             -->_1 half#(s(0())) -> c_2():8
             -->_1 half#(0()) -> c_1():7
             -->_1 half#(s(s(x))) -> c_3(half#(x)):1
          
          2:S:if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
             -->_1 log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y)):6
             -->_2 half#(s(0())) -> c_2():8
             -->_2 half#(0()) -> c_1():7
             -->_2 half#(s(s(x))) -> c_3(half#(x)):1
          
          3:S:inc#(s(x)) -> c_7(inc#(x))
             -->_1 inc#(0()) -> c_6():10
             -->_1 inc#(s(x)) -> c_7(inc#(x)):3
          
          4:S:le#(s(x),s(y)) -> c_10(le#(x,y))
             -->_1 le#(s(x),0()) -> c_9():12
             -->_1 le#(0(),y) -> c_8():11
             -->_1 le#(s(x),s(y)) -> c_10(le#(x,y)):4
          
          5:S:log#(x) -> c_11(log2#(x,0()))
             -->_1 log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y)):6
          
          6:S:log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
             -->_2 le#(0(),y) -> c_8():11
             -->_3 inc#(0()) -> c_6():10
             -->_1 if#(true(),x,s(y)) -> c_5():9
             -->_2 le#(s(x),s(y)) -> c_10(le#(x,y)):4
             -->_3 inc#(s(x)) -> c_7(inc#(x)):3
             -->_1 if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x)):2
          
          7:W:half#(0()) -> c_1()
             
          
          8:W:half#(s(0())) -> c_2()
             
          
          9:W:if#(true(),x,s(y)) -> c_5()
             
          
          10:W:inc#(0()) -> c_6()
             
          
          11:W:le#(0(),y) -> c_8()
             
          
          12:W:le#(s(x),0()) -> c_9()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          12: le#(s(x),0()) -> c_9()
          9: if#(true(),x,s(y)) -> c_5()
          10: inc#(0()) -> c_6()
          11: le#(0(),y) -> c_8()
          7: half#(0()) -> c_1()
          8: half#(s(0())) -> c_2()
* Step 5: RemoveHeads MAYBE
    + Considered Problem:
        - Strict DPs:
            half#(s(s(x))) -> c_3(half#(x))
            if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
            inc#(s(x)) -> c_7(inc#(x))
            le#(s(x),s(y)) -> c_10(le#(x,y))
            log#(x) -> c_11(log2#(x,0()))
            log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
        - Weak TRS:
            half(0()) -> 0()
            half(s(0())) -> 0()
            half(s(s(x))) -> s(half(x))
            inc(0()) -> 0()
            inc(s(x)) -> s(inc(x))
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
        - Signature:
            {half/1,if/3,inc/1,le/2,log/1,log2/2,half#/1,if#/3,inc#/1,le#/2,log#/1,log2#/2} / {0/0,false/0,s/1,true/0
            ,c_1/0,c_2/0,c_3/1,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/3}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {half#,if#,inc#,le#,log#,log2#} and constructors {0,false
            ,s,true}
    + Applied Processor:
        RemoveHeads
    + Details:
        Consider the dependency graph
        
        1:S:half#(s(s(x))) -> c_3(half#(x))
           -->_1 half#(s(s(x))) -> c_3(half#(x)):1
        
        2:S:if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
           -->_1 log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y)):6
           -->_2 half#(s(s(x))) -> c_3(half#(x)):1
        
        3:S:inc#(s(x)) -> c_7(inc#(x))
           -->_1 inc#(s(x)) -> c_7(inc#(x)):3
        
        4:S:le#(s(x),s(y)) -> c_10(le#(x,y))
           -->_1 le#(s(x),s(y)) -> c_10(le#(x,y)):4
        
        5:S:log#(x) -> c_11(log2#(x,0()))
           -->_1 log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y)):6
        
        6:S:log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
           -->_2 le#(s(x),s(y)) -> c_10(le#(x,y)):4
           -->_3 inc#(s(x)) -> c_7(inc#(x)):3
           -->_1 if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x)):2
        
        
        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).
        
        [(5,log#(x) -> c_11(log2#(x,0())))]
* Step 6: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          half#(s(s(x))) -> c_3(half#(x))
          if#(false(),x,y) -> c_4(log2#(half(x),y),half#(x))
          inc#(s(x)) -> c_7(inc#(x))
          le#(s(x),s(y)) -> c_10(le#(x,y))
          log2#(x,y) -> c_12(if#(le(x,s(0())),x,inc(y)),le#(x,s(0())),inc#(y))
      - Weak TRS:
          half(0()) -> 0()
          half(s(0())) -> 0()
          half(s(s(x))) -> s(half(x))
          inc(0()) -> 0()
          inc(s(x)) -> s(inc(x))
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
      - Signature:
          {half/1,if/3,inc/1,le/2,log/1,log2/2,half#/1,if#/3,inc#/1,le#/2,log#/1,log2#/2} / {0/0,false/0,s/1,true/0
          ,c_1/0,c_2/0,c_3/1,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/0,c_10/1,c_11/1,c_12/3}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {half#,if#,inc#,le#,log#,log2#} and constructors {0,false
          ,s,true}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
MAYBE