MAYBE
* Step 1: DependencyPairs MAYBE
    + Considered Problem:
        - Strict TRS:
            if_mod(false(),false(),x,y,z) -> x
            if_mod(false(),true(),x,y,z) -> mod(z,y)
            if_mod(true(),b,x,y,z) -> divByZeroError()
            isZero(0()) -> true()
            isZero(s(x)) -> false()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,x) -> 0()
            minus(x,0()) -> x
            minus(0(),x) -> 0()
            minus(s(x),s(y)) -> minus(x,y)
            mod(x,y) -> if_mod(isZero(y),le(y,x),x,y,minus(x,y))
        - Signature:
            {if_mod/5,isZero/1,le/2,minus/2,mod/2} / {0/0,divByZeroError/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if_mod,isZero,le,minus,mod} and constructors {0
            ,divByZeroError,false,s,true}
    + Applied Processor:
        DependencyPairs {dpKind_ = DT}
    + Details:
        We add the following dependency tuples:
        
        Strict DPs
          if_mod#(false(),false(),x,y,z) -> c_1()
          if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
          if_mod#(true(),b,x,y,z) -> c_3()
          isZero#(0()) -> c_4()
          isZero#(s(x)) -> c_5()
          le#(0(),y) -> c_6()
          le#(s(x),0()) -> c_7()
          le#(s(x),s(y)) -> c_8(le#(x,y))
          minus#(x,x) -> c_9()
          minus#(x,0()) -> c_10()
          minus#(0(),x) -> c_11()
          minus#(s(x),s(y)) -> c_12(minus#(x,y))
          mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
        Weak DPs
          
        
        and mark the set of starting terms.
* Step 2: UsableRules MAYBE
    + Considered Problem:
        - Strict DPs:
            if_mod#(false(),false(),x,y,z) -> c_1()
            if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
            if_mod#(true(),b,x,y,z) -> c_3()
            isZero#(0()) -> c_4()
            isZero#(s(x)) -> c_5()
            le#(0(),y) -> c_6()
            le#(s(x),0()) -> c_7()
            le#(s(x),s(y)) -> c_8(le#(x,y))
            minus#(x,x) -> c_9()
            minus#(x,0()) -> c_10()
            minus#(0(),x) -> c_11()
            minus#(s(x),s(y)) -> c_12(minus#(x,y))
            mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
        - Weak TRS:
            if_mod(false(),false(),x,y,z) -> x
            if_mod(false(),true(),x,y,z) -> mod(z,y)
            if_mod(true(),b,x,y,z) -> divByZeroError()
            isZero(0()) -> true()
            isZero(s(x)) -> false()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,x) -> 0()
            minus(x,0()) -> x
            minus(0(),x) -> 0()
            minus(s(x),s(y)) -> minus(x,y)
            mod(x,y) -> if_mod(isZero(y),le(y,x),x,y,minus(x,y))
        - Signature:
            {if_mod/5,isZero/1,le/2,minus/2,mod/2,if_mod#/5,isZero#/1,le#/2,minus#/2,mod#/2} / {0/0,divByZeroError/0
            ,false/0,s/1,true/0,c_1/0,c_2/1,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0,c_11/0,c_12/1,c_13/4}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if_mod#,isZero#,le#,minus#,mod#} and constructors {0
            ,divByZeroError,false,s,true}
    + Applied Processor:
        UsableRules
    + Details:
        We replace rewrite rules by usable rules:
          isZero(0()) -> true()
          isZero(s(x)) -> false()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(x,x) -> 0()
          minus(x,0()) -> x
          minus(0(),x) -> 0()
          minus(s(x),s(y)) -> minus(x,y)
          if_mod#(false(),false(),x,y,z) -> c_1()
          if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
          if_mod#(true(),b,x,y,z) -> c_3()
          isZero#(0()) -> c_4()
          isZero#(s(x)) -> c_5()
          le#(0(),y) -> c_6()
          le#(s(x),0()) -> c_7()
          le#(s(x),s(y)) -> c_8(le#(x,y))
          minus#(x,x) -> c_9()
          minus#(x,0()) -> c_10()
          minus#(0(),x) -> c_11()
          minus#(s(x),s(y)) -> c_12(minus#(x,y))
          mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
* Step 3: PredecessorEstimation MAYBE
    + Considered Problem:
        - Strict DPs:
            if_mod#(false(),false(),x,y,z) -> c_1()
            if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
            if_mod#(true(),b,x,y,z) -> c_3()
            isZero#(0()) -> c_4()
            isZero#(s(x)) -> c_5()
            le#(0(),y) -> c_6()
            le#(s(x),0()) -> c_7()
            le#(s(x),s(y)) -> c_8(le#(x,y))
            minus#(x,x) -> c_9()
            minus#(x,0()) -> c_10()
            minus#(0(),x) -> c_11()
            minus#(s(x),s(y)) -> c_12(minus#(x,y))
            mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
        - Weak TRS:
            isZero(0()) -> true()
            isZero(s(x)) -> false()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,x) -> 0()
            minus(x,0()) -> x
            minus(0(),x) -> 0()
            minus(s(x),s(y)) -> minus(x,y)
        - Signature:
            {if_mod/5,isZero/1,le/2,minus/2,mod/2,if_mod#/5,isZero#/1,le#/2,minus#/2,mod#/2} / {0/0,divByZeroError/0
            ,false/0,s/1,true/0,c_1/0,c_2/1,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0,c_11/0,c_12/1,c_13/4}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if_mod#,isZero#,le#,minus#,mod#} and constructors {0
            ,divByZeroError,false,s,true}
    + Applied Processor:
        PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    + Details:
        We estimate the number of application of
          {1,3,4,5,6,7,9,10,11}
        by application of
          Pre({1,3,4,5,6,7,9,10,11}) = {8,12,13}.
        Here rules are labelled as follows:
          1: if_mod#(false(),false(),x,y,z) -> c_1()
          2: if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
          3: if_mod#(true(),b,x,y,z) -> c_3()
          4: isZero#(0()) -> c_4()
          5: isZero#(s(x)) -> c_5()
          6: le#(0(),y) -> c_6()
          7: le#(s(x),0()) -> c_7()
          8: le#(s(x),s(y)) -> c_8(le#(x,y))
          9: minus#(x,x) -> c_9()
          10: minus#(x,0()) -> c_10()
          11: minus#(0(),x) -> c_11()
          12: minus#(s(x),s(y)) -> c_12(minus#(x,y))
          13: mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
* Step 4: RemoveWeakSuffixes MAYBE
    + Considered Problem:
        - Strict DPs:
            if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
            le#(s(x),s(y)) -> c_8(le#(x,y))
            minus#(s(x),s(y)) -> c_12(minus#(x,y))
            mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
        - Weak DPs:
            if_mod#(false(),false(),x,y,z) -> c_1()
            if_mod#(true(),b,x,y,z) -> c_3()
            isZero#(0()) -> c_4()
            isZero#(s(x)) -> c_5()
            le#(0(),y) -> c_6()
            le#(s(x),0()) -> c_7()
            minus#(x,x) -> c_9()
            minus#(x,0()) -> c_10()
            minus#(0(),x) -> c_11()
        - Weak TRS:
            isZero(0()) -> true()
            isZero(s(x)) -> false()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,x) -> 0()
            minus(x,0()) -> x
            minus(0(),x) -> 0()
            minus(s(x),s(y)) -> minus(x,y)
        - Signature:
            {if_mod/5,isZero/1,le/2,minus/2,mod/2,if_mod#/5,isZero#/1,le#/2,minus#/2,mod#/2} / {0/0,divByZeroError/0
            ,false/0,s/1,true/0,c_1/0,c_2/1,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0,c_11/0,c_12/1,c_13/4}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if_mod#,isZero#,le#,minus#,mod#} and constructors {0
            ,divByZeroError,false,s,true}
    + Applied Processor:
        RemoveWeakSuffixes
    + Details:
        Consider the dependency graph
          1:S:if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
             -->_1 mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y)):4
          
          2:S:le#(s(x),s(y)) -> c_8(le#(x,y))
             -->_1 le#(s(x),0()) -> c_7():10
             -->_1 le#(0(),y) -> c_6():9
             -->_1 le#(s(x),s(y)) -> c_8(le#(x,y)):2
          
          3:S:minus#(s(x),s(y)) -> c_12(minus#(x,y))
             -->_1 minus#(0(),x) -> c_11():13
             -->_1 minus#(x,0()) -> c_10():12
             -->_1 minus#(x,x) -> c_9():11
             -->_1 minus#(s(x),s(y)) -> c_12(minus#(x,y)):3
          
          4:S:mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
             -->_4 minus#(0(),x) -> c_11():13
             -->_4 minus#(x,0()) -> c_10():12
             -->_4 minus#(x,x) -> c_9():11
             -->_3 le#(s(x),0()) -> c_7():10
             -->_3 le#(0(),y) -> c_6():9
             -->_2 isZero#(s(x)) -> c_5():8
             -->_2 isZero#(0()) -> c_4():7
             -->_1 if_mod#(true(),b,x,y,z) -> c_3():6
             -->_1 if_mod#(false(),false(),x,y,z) -> c_1():5
             -->_4 minus#(s(x),s(y)) -> c_12(minus#(x,y)):3
             -->_3 le#(s(x),s(y)) -> c_8(le#(x,y)):2
             -->_1 if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y)):1
          
          5:W:if_mod#(false(),false(),x,y,z) -> c_1()
             
          
          6:W:if_mod#(true(),b,x,y,z) -> c_3()
             
          
          7:W:isZero#(0()) -> c_4()
             
          
          8:W:isZero#(s(x)) -> c_5()
             
          
          9:W:le#(0(),y) -> c_6()
             
          
          10:W:le#(s(x),0()) -> c_7()
             
          
          11:W:minus#(x,x) -> c_9()
             
          
          12:W:minus#(x,0()) -> c_10()
             
          
          13:W:minus#(0(),x) -> c_11()
             
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          5: if_mod#(false(),false(),x,y,z) -> c_1()
          6: if_mod#(true(),b,x,y,z) -> c_3()
          7: isZero#(0()) -> c_4()
          8: isZero#(s(x)) -> c_5()
          9: le#(0(),y) -> c_6()
          10: le#(s(x),0()) -> c_7()
          11: minus#(x,x) -> c_9()
          12: minus#(x,0()) -> c_10()
          13: minus#(0(),x) -> c_11()
* Step 5: SimplifyRHS MAYBE
    + Considered Problem:
        - Strict DPs:
            if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
            le#(s(x),s(y)) -> c_8(le#(x,y))
            minus#(s(x),s(y)) -> c_12(minus#(x,y))
            mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
        - Weak TRS:
            isZero(0()) -> true()
            isZero(s(x)) -> false()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(x,x) -> 0()
            minus(x,0()) -> x
            minus(0(),x) -> 0()
            minus(s(x),s(y)) -> minus(x,y)
        - Signature:
            {if_mod/5,isZero/1,le/2,minus/2,mod/2,if_mod#/5,isZero#/1,le#/2,minus#/2,mod#/2} / {0/0,divByZeroError/0
            ,false/0,s/1,true/0,c_1/0,c_2/1,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0,c_11/0,c_12/1,c_13/4}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {if_mod#,isZero#,le#,minus#,mod#} and constructors {0
            ,divByZeroError,false,s,true}
    + Applied Processor:
        SimplifyRHS
    + Details:
        Consider the dependency graph
          1:S:if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
             -->_1 mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y)):4
          
          2:S:le#(s(x),s(y)) -> c_8(le#(x,y))
             -->_1 le#(s(x),s(y)) -> c_8(le#(x,y)):2
          
          3:S:minus#(s(x),s(y)) -> c_12(minus#(x,y))
             -->_1 minus#(s(x),s(y)) -> c_12(minus#(x,y)):3
          
          4:S:mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),isZero#(y),le#(y,x),minus#(x,y))
             -->_4 minus#(s(x),s(y)) -> c_12(minus#(x,y)):3
             -->_3 le#(s(x),s(y)) -> c_8(le#(x,y)):2
             -->_1 if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y)):1
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),le#(y,x),minus#(x,y))
* Step 6: Failure MAYBE
  + Considered Problem:
      - Strict DPs:
          if_mod#(false(),true(),x,y,z) -> c_2(mod#(z,y))
          le#(s(x),s(y)) -> c_8(le#(x,y))
          minus#(s(x),s(y)) -> c_12(minus#(x,y))
          mod#(x,y) -> c_13(if_mod#(isZero(y),le(y,x),x,y,minus(x,y)),le#(y,x),minus#(x,y))
      - Weak TRS:
          isZero(0()) -> true()
          isZero(s(x)) -> false()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(x,x) -> 0()
          minus(x,0()) -> x
          minus(0(),x) -> 0()
          minus(s(x),s(y)) -> minus(x,y)
      - Signature:
          {if_mod/5,isZero/1,le/2,minus/2,mod/2,if_mod#/5,isZero#/1,le#/2,minus#/2,mod#/2} / {0/0,divByZeroError/0
          ,false/0,s/1,true/0,c_1/0,c_2/1,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0,c_11/0,c_12/1,c_13/3}
      - Obligation:
          innermost runtime complexity wrt. defined symbols {if_mod#,isZero#,le#,minus#,mod#} and constructors {0
          ,divByZeroError,false,s,true}
  + Applied Processor:
      EmptyProcessor
  + Details:
      The problem is still open.
MAYBE