MAYBE
* Step 1: InnermostRuleRemoval MAYBE
    + Considered Problem:
        - Strict TRS:
            if(false(),x,y) -> s(minus(p(x),y))
            if(true(),x,y) -> 0()
            le(0(),y) -> true()
            le(p(s(x)),x) -> le(x,x)
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,y) -> if(le(x,y),x,y)
            p(0()) -> s(s(0()))
            p(p(s(x))) -> p(x)
            p(s(x)) -> x
        - Signature:
            {if/3,le/2,minus/2,p/1} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if,le,minus,p} and constructors {0,false,s,true}
    + Applied Processor:
        InnermostRuleRemoval
    + Details:
        Arguments of following rules are not normal-forms.
          le(p(s(x)),x) -> le(x,x)
          p(p(s(x))) -> p(x)
        All above mentioned rules can be savely removed.
* Step 2: DependencyPairs MAYBE
    + Considered Problem:
        - Strict TRS:
            if(false(),x,y) -> s(minus(p(x),y))
            if(true(),x,y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,y) -> if(le(x,y),x,y)
            p(0()) -> s(s(0()))
            p(s(x)) -> x
        - Signature:
            {if/3,le/2,minus/2,p/1} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if,le,minus,p} and constructors {0,false,s,true}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
          if#(true(),x,y) -> c_2()
          le#(0(),y) -> c_3()
          le#(s(x),0()) -> c_4()
          le#(s(x),s(y)) -> c_5(le#(x,y))
          minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
          p#(0()) -> c_7()
          p#(s(x)) -> c_8()
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 3: UsableRules MAYBE
    + Considered Problem:
        - Strict DPs:
            if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
            if#(true(),x,y) -> c_2()
            le#(0(),y) -> c_3()
            le#(s(x),0()) -> c_4()
            le#(s(x),s(y)) -> c_5(le#(x,y))
            minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
            p#(0()) -> c_7()
            p#(s(x)) -> c_8()
        - Weak TRS:
            if(false(),x,y) -> s(minus(p(x),y))
            if(true(),x,y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,y) -> if(le(x,y),x,y)
            p(0()) -> s(s(0()))
            p(s(x)) -> x
        - Signature:
            {if/3,le/2,minus/2,p/1,if#/3,le#/2,minus#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/1
            ,c_6/2,c_7/0,c_8/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if#,le#,minus#,p#} and constructors {0,false,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)
          p(0()) -> s(s(0()))
          p(s(x)) -> x
          if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
          if#(true(),x,y) -> c_2()
          le#(0(),y) -> c_3()
          le#(s(x),0()) -> c_4()
          le#(s(x),s(y)) -> c_5(le#(x,y))
          minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
          p#(0()) -> c_7()
          p#(s(x)) -> c_8()
* Step 4: PredecessorEstimation MAYBE
    + Considered Problem:
        - Strict DPs:
            if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
            if#(true(),x,y) -> c_2()
            le#(0(),y) -> c_3()
            le#(s(x),0()) -> c_4()
            le#(s(x),s(y)) -> c_5(le#(x,y))
            minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
            p#(0()) -> c_7()
            p#(s(x)) -> c_8()
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            p(0()) -> s(s(0()))
            p(s(x)) -> x
        - Signature:
            {if/3,le/2,minus/2,p/1,if#/3,le#/2,minus#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/1
            ,c_6/2,c_7/0,c_8/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if#,le#,minus#,p#} and constructors {0,false,s,true}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {2,3,4,7,8}
        by application of
          Pre({2,3,4,7,8}) = {1,5,6}.
        Here rules are labelled as follows:
          1: if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
          2: if#(true(),x,y) -> c_2()
          3: le#(0(),y) -> c_3()
          4: le#(s(x),0()) -> c_4()
          5: le#(s(x),s(y)) -> c_5(le#(x,y))
          6: minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
          7: p#(0()) -> c_7()
          8: p#(s(x)) -> c_8()
* Step 5: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
            le#(s(x),s(y)) -> c_5(le#(x,y))
            minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
        - Weak DPs:
            if#(true(),x,y) -> c_2()
            le#(0(),y) -> c_3()
            le#(s(x),0()) -> c_4()
            p#(0()) -> c_7()
            p#(s(x)) -> c_8()
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            p(0()) -> s(s(0()))
            p(s(x)) -> x
        - Signature:
            {if/3,le/2,minus/2,p/1,if#/3,le#/2,minus#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/1
            ,c_6/2,c_7/0,c_8/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if#,le#,minus#,p#} and constructors {0,false,s,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
             -->_1 minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y)):3
             -->_2 p#(s(x)) -> c_8():8
             -->_2 p#(0()) -> c_7():7
          
          2:S:le#(s(x),s(y)) -> c_5(le#(x,y))
             -->_1 le#(s(x),0()) -> c_4():6
             -->_1 le#(0(),y) -> c_3():5
             -->_1 le#(s(x),s(y)) -> c_5(le#(x,y)):2
          
          3:S:minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
             -->_2 le#(s(x),0()) -> c_4():6
             -->_2 le#(0(),y) -> c_3():5
             -->_1 if#(true(),x,y) -> c_2():4
             -->_2 le#(s(x),s(y)) -> c_5(le#(x,y)):2
             -->_1 if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x)):1
          
          4:W:if#(true(),x,y) -> c_2()
             
          
          5:W:le#(0(),y) -> c_3()
             
          
          6:W:le#(s(x),0()) -> c_4()
             
          
          7:W:p#(0()) -> c_7()
             
          
          8:W:p#(s(x)) -> c_8()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          7: p#(0()) -> c_7()
          8: p#(s(x)) -> c_8()
          4: if#(true(),x,y) -> c_2()
          5: le#(0(),y) -> c_3()
          6: le#(s(x),0()) -> c_4()
* Step 6: SimplifyRHS MAYBE
    + Considered Problem:
        - Strict DPs:
            if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
            le#(s(x),s(y)) -> c_5(le#(x,y))
            minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
        - Weak TRS:
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            p(0()) -> s(s(0()))
            p(s(x)) -> x
        - Signature:
            {if/3,le/2,minus/2,p/1,if#/3,le#/2,minus#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/2,c_2/0,c_3/0,c_4/0,c_5/1
            ,c_6/2,c_7/0,c_8/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if#,le#,minus#,p#} and constructors {0,false,s,true}
    + Applied Processor:
        SimplifyRHS
    + Details:
        Consider the dependency graph
          1:S:if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x))
             -->_1 minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y)):3
          
          2:S:le#(s(x),s(y)) -> c_5(le#(x,y))
             -->_1 le#(s(x),s(y)) -> c_5(le#(x,y)):2
          
          3:S:minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
             -->_2 le#(s(x),s(y)) -> c_5(le#(x,y)):2
             -->_1 if#(false(),x,y) -> c_1(minus#(p(x),y),p#(x)):1
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          if#(false(),x,y) -> c_1(minus#(p(x),y))
* Step 7: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          if#(false(),x,y) -> c_1(minus#(p(x),y))
          le#(s(x),s(y)) -> c_5(le#(x,y))
          minus#(x,y) -> c_6(if#(le(x,y),x,y),le#(x,y))
      - Weak TRS:
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          p(0()) -> s(s(0()))
          p(s(x)) -> x
      - Signature:
          {if/3,le/2,minus/2,p/1,if#/3,le#/2,minus#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/1
          ,c_6/2,c_7/0,c_8/0}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {if#,le#,minus#,p#} and constructors {0,false,s,true}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
MAYBE