*** 1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        if_minus(false(),s(x),y) -> s(minus(x,y))
        if_minus(true(),s(x),y) -> 0()
        if_mod(false(),s(x),s(y)) -> s(x)
        if_mod(true(),s(x),s(y)) -> mod(minus(x,y),s(y))
        le(0(),y) -> true()
        le(s(x),0()) -> false()
        le(s(x),s(y)) -> le(x,y)
        minus(0(),y) -> 0()
        minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        mod(0(),y) -> 0()
        mod(s(x),0()) -> 0()
        mod(s(x),s(y)) -> if_mod(le(y,x),s(x),s(y))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {if_minus/3,if_mod/3,le/2,minus/2,mod/2} / {0/0,false/0,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {if_minus,if_mod,le,minus,mod}/{0,false,s,true}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following dependency tuples:
      
      Strict DPs
        if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
        if_minus#(true(),s(x),y) -> c_2()
        if_mod#(false(),s(x),s(y)) -> c_3()
        if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
        le#(0(),y) -> c_5()
        le#(s(x),0()) -> c_6()
        le#(s(x),s(y)) -> c_7(le#(x,y))
        minus#(0(),y) -> c_8()
        minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        mod#(0(),y) -> c_10()
        mod#(s(x),0()) -> c_11()
        mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
        if_minus#(true(),s(x),y) -> c_2()
        if_mod#(false(),s(x),s(y)) -> c_3()
        if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
        le#(0(),y) -> c_5()
        le#(s(x),0()) -> c_6()
        le#(s(x),s(y)) -> c_7(le#(x,y))
        minus#(0(),y) -> c_8()
        minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        mod#(0(),y) -> c_10()
        mod#(s(x),0()) -> c_11()
        mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        if_minus(false(),s(x),y) -> s(minus(x,y))
        if_minus(true(),s(x),y) -> 0()
        if_mod(false(),s(x),s(y)) -> s(x)
        if_mod(true(),s(x),s(y)) -> mod(minus(x,y),s(y))
        le(0(),y) -> true()
        le(s(x),0()) -> false()
        le(s(x),s(y)) -> le(x,y)
        minus(0(),y) -> 0()
        minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        mod(0(),y) -> 0()
        mod(s(x),0()) -> 0()
        mod(s(x),s(y)) -> if_mod(le(y,x),s(x),s(y))
      Signature:
        {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
      Obligation:
        Innermost
        basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        if_minus(false(),s(x),y) -> s(minus(x,y))
        if_minus(true(),s(x),y) -> 0()
        le(0(),y) -> true()
        le(s(x),0()) -> false()
        le(s(x),s(y)) -> le(x,y)
        minus(0(),y) -> 0()
        minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
        if_minus#(true(),s(x),y) -> c_2()
        if_mod#(false(),s(x),s(y)) -> c_3()
        if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
        le#(0(),y) -> c_5()
        le#(s(x),0()) -> c_6()
        le#(s(x),s(y)) -> c_7(le#(x,y))
        minus#(0(),y) -> c_8()
        minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        mod#(0(),y) -> c_10()
        mod#(s(x),0()) -> c_11()
        mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
*** 1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
        if_minus#(true(),s(x),y) -> c_2()
        if_mod#(false(),s(x),s(y)) -> c_3()
        if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
        le#(0(),y) -> c_5()
        le#(s(x),0()) -> c_6()
        le#(s(x),s(y)) -> c_7(le#(x,y))
        minus#(0(),y) -> c_8()
        minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        mod#(0(),y) -> c_10()
        mod#(s(x),0()) -> c_11()
        mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        if_minus(false(),s(x),y) -> s(minus(x,y))
        if_minus(true(),s(x),y) -> 0()
        le(0(),y) -> true()
        le(s(x),0()) -> false()
        le(s(x),s(y)) -> le(x,y)
        minus(0(),y) -> 0()
        minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
      Signature:
        {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
      Obligation:
        Innermost
        basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
    Applied Processor:
      PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    Proof:
      We estimate the number of application of
        {2,3,5,6,8,10,11}
      by application of
        Pre({2,3,5,6,8,10,11}) = {1,4,7,9,12}.
      Here rules are labelled as follows:
        1:  if_minus#(false(),s(x),y) ->      
              c_1(minus#(x,y))                
        2:  if_minus#(true(),s(x),y) ->       
              c_2()                           
        3:  if_mod#(false(),s(x),s(y)) ->     
              c_3()                           
        4:  if_mod#(true(),s(x),s(y)) ->      
              c_4(mod#(minus(x,y),s(y))       
                 ,minus#(x,y))                
        5:  le#(0(),y) -> c_5()               
        6:  le#(s(x),0()) -> c_6()            
        7:  le#(s(x),s(y)) -> c_7(le#(x,y))   
        8:  minus#(0(),y) -> c_8()            
        9:  minus#(s(x),y) ->                 
              c_9(if_minus#(le(s(x),y),s(x),y)
                 ,le#(s(x),y))                
        10: mod#(0(),y) -> c_10()             
        11: mod#(s(x),0()) -> c_11()          
        12: mod#(s(x),s(y)) ->                
              c_12(if_mod#(le(y,x),s(x),s(y)) 
                  ,le#(y,x))                  
*** 1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
        if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
        le#(s(x),s(y)) -> c_7(le#(x,y))
        minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
      Strict TRS Rules:
        
      Weak DP Rules:
        if_minus#(true(),s(x),y) -> c_2()
        if_mod#(false(),s(x),s(y)) -> c_3()
        le#(0(),y) -> c_5()
        le#(s(x),0()) -> c_6()
        minus#(0(),y) -> c_8()
        mod#(0(),y) -> c_10()
        mod#(s(x),0()) -> c_11()
      Weak TRS Rules:
        if_minus(false(),s(x),y) -> s(minus(x,y))
        if_minus(true(),s(x),y) -> 0()
        le(0(),y) -> true()
        le(s(x),0()) -> false()
        le(s(x),s(y)) -> le(x,y)
        minus(0(),y) -> 0()
        minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
      Signature:
        {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
      Obligation:
        Innermost
        basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
    Applied Processor:
      RemoveWeakSuffixes
    Proof:
      Consider the dependency graph
        1:S:if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
           -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):4
           -->_1 minus#(0(),y) -> c_8():10
        
        2:S:if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
           -->_1 mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x)):5
           -->_2 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):4
           -->_1 mod#(0(),y) -> c_10():11
           -->_2 minus#(0(),y) -> c_8():10
        
        3:S:le#(s(x),s(y)) -> c_7(le#(x,y))
           -->_1 le#(s(x),0()) -> c_6():9
           -->_1 le#(0(),y) -> c_5():8
           -->_1 le#(s(x),s(y)) -> c_7(le#(x,y)):3
        
        4:S:minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
           -->_2 le#(s(x),0()) -> c_6():9
           -->_1 if_minus#(true(),s(x),y) -> c_2():6
           -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):3
           -->_1 if_minus#(false(),s(x),y) -> c_1(minus#(x,y)):1
        
        5:S:mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
           -->_2 le#(s(x),0()) -> c_6():9
           -->_2 le#(0(),y) -> c_5():8
           -->_1 if_mod#(false(),s(x),s(y)) -> c_3():7
           -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):3
           -->_1 if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y)):2
        
        6:W:if_minus#(true(),s(x),y) -> c_2()
           
        
        7:W:if_mod#(false(),s(x),s(y)) -> c_3()
           
        
        8:W:le#(0(),y) -> c_5()
           
        
        9:W:le#(s(x),0()) -> c_6()
           
        
        10:W:minus#(0(),y) -> c_8()
           
        
        11:W:mod#(0(),y) -> c_10()
           
        
        12:W:mod#(s(x),0()) -> c_11()
           
        
      The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
        12: mod#(s(x),0()) -> c_11()     
        11: mod#(0(),y) -> c_10()        
        7:  if_mod#(false(),s(x),s(y)) ->
              c_3()                      
        10: minus#(0(),y) -> c_8()       
        8:  le#(0(),y) -> c_5()          
        6:  if_minus#(true(),s(x),y) ->  
              c_2()                      
        9:  le#(s(x),0()) -> c_6()       
*** 1.1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
        if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
        le#(s(x),s(y)) -> c_7(le#(x,y))
        minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        if_minus(false(),s(x),y) -> s(minus(x,y))
        if_minus(true(),s(x),y) -> 0()
        le(0(),y) -> true()
        le(s(x),0()) -> false()
        le(s(x),s(y)) -> le(x,y)
        minus(0(),y) -> 0()
        minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
      Signature:
        {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
      Obligation:
        Innermost
        basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
    Applied Processor:
      Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
    Proof:
      We analyse the complexity of following sub-problems (R) and (S).
      Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component.
      
      Problem (R)
        Strict DP Rules:
          if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
          le#(s(x),s(y)) -> c_7(le#(x,y))
          minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        Strict TRS Rules:
          
        Weak DP Rules:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
        Weak TRS Rules:
          if_minus(false(),s(x),y) -> s(minus(x,y))
          if_minus(true(),s(x),y) -> 0()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(0(),y) -> 0()
          minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        Signature:
          {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
        Obligation:
          Innermost
          basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
      
      Problem (S)
        Strict DP Rules:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
        Strict TRS Rules:
          
        Weak DP Rules:
          if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
          le#(s(x),s(y)) -> c_7(le#(x,y))
          minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        Weak TRS Rules:
          if_minus(false(),s(x),y) -> s(minus(x,y))
          if_minus(true(),s(x),y) -> 0()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(0(),y) -> 0()
          minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        Signature:
          {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
        Obligation:
          Innermost
          basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
  *** 1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
          le#(s(x),s(y)) -> c_7(le#(x,y))
          minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        Strict TRS Rules:
          
        Weak DP Rules:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
        Weak TRS Rules:
          if_minus(false(),s(x),y) -> s(minus(x,y))
          if_minus(true(),s(x),y) -> 0()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(0(),y) -> 0()
          minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        Signature:
          {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
        Obligation:
          Innermost
          basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
      Applied Processor:
        DecomposeDG {onSelection = all below first cut in WDG, onUpper = Just someStrategy, onLower = Nothing}
      Proof:
        We decompose the input problem according to the dependency graph into the upper component
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
        and a lower component
          if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
          le#(s(x),s(y)) -> c_7(le#(x,y))
          minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        Further, following extension rules are added to the lower component.
          if_mod#(true(),s(x),s(y)) -> minus#(x,y)
          if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
          mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
          mod#(s(x),s(y)) -> le#(y,x)
    *** 1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
            mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            if_minus(false(),s(x),y) -> s(minus(x,y))
            if_minus(true(),s(x),y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(0(),y) -> 0()
            minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
          Signature:
            {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
          Obligation:
            Innermost
            basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
        Applied Processor:
          PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
        Proof:
          We first use the processor NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
            1: if_mod#(true(),s(x),s(y)) ->
                 c_4(mod#(minus(x,y),s(y)) 
                    ,minus#(x,y))          
            
          Consider the set of all dependency pairs
            1: if_mod#(true(),s(x),s(y)) ->     
                 c_4(mod#(minus(x,y),s(y))      
                    ,minus#(x,y))               
            2: mod#(s(x),s(y)) ->               
                 c_12(if_mod#(le(y,x),s(x),s(y))
                     ,le#(y,x))                 
          Processor NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
          SPACE(?,?)on application of the dependency pairs
            {1}
          These cover all (indirect) predecessors of dependency pairs
            {1,2}
          their number of applications is equally bounded.
          The dependency pairs are shifted into the weak component.
      *** 1.1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
              mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            NaturalMI {miDimension = 3, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
          Proof:
            We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 1 non-zero interpretation-entries in the diagonal of the component-wise maxima):
            The following argument positions are considered usable:
              uargs(c_4) = {1},
              uargs(c_12) = {1}
            
            Following symbols are considered usable:
              {if_minus,minus,if_minus#,if_mod#,le#,minus#,mod#}
            TcT has computed the following interpretation:
                      p(0) = [0]                          
                             [0]                          
                             [1]                          
                  p(false) = [0]                          
                             [0]                          
                             [0]                          
               p(if_minus) = [1 0 0]      [0]             
                             [1 0 0] x2 + [0]             
                             [0 0 0]      [1]             
                 p(if_mod) = [0]                          
                             [0]                          
                             [0]                          
                     p(le) = [0 0 0]      [0]             
                             [0 1 0] x2 + [0]             
                             [0 0 0]      [0]             
                  p(minus) = [0 1 0]      [0]             
                             [0 1 0] x1 + [0]             
                             [0 0 1]      [0]             
                    p(mod) = [0]                          
                             [0]                          
                             [0]                          
                      p(s) = [0 1 1]      [0]             
                             [0 1 1] x1 + [0]             
                             [0 0 0]      [1]             
                   p(true) = [0]                          
                             [0]                          
                             [0]                          
              p(if_minus#) = [0]                          
                             [0]                          
                             [0]                          
                p(if_mod#) = [1 0 0]      [0 0 1]      [0]
                             [1 1 1] x2 + [0 0 1] x3 + [1]
                             [1 0 0]      [0 0 0]      [0]
                    p(le#) = [0 0 0]      [0]             
                             [0 0 0] x2 + [0]             
                             [0 1 0]      [1]             
                 p(minus#) = [0 0 1]      [0]             
                             [0 0 0] x1 + [0]             
                             [0 1 0]      [0]             
                   p(mod#) = [1 0 1]      [0 0 0]      [0]
                             [1 1 1] x1 + [0 1 0] x2 + [1]
                             [0 1 0]      [0 0 0]      [1]
                    p(c_1) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_2) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_3) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_4) = [1 0 0]      [0 0 0]      [0]
                             [0 0 0] x1 + [0 0 0] x2 + [0]
                             [0 0 0]      [1 0 1]      [0]
                    p(c_5) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_6) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_7) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_8) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_9) = [0]                          
                             [0]                          
                             [0]                          
                   p(c_10) = [0]                          
                             [0]                          
                             [0]                          
                   p(c_11) = [0]                          
                             [0]                          
                             [0]                          
                   p(c_12) = [1 0 0]      [0 0 0]      [0]
                             [1 0 0] x1 + [0 0 1] x2 + [0]
                             [0 0 1]      [0 0 0]      [0]
            
            Following rules are strictly oriented:
            if_mod#(true(),s(x),s(y)) = [0 1 1]     [1]          
                                        [0 2 2] x + [3]          
                                        [0 1 1]     [0]          
                                      > [0 1 1]     [0]          
                                        [0 0 0] x + [0]          
                                        [0 1 1]     [0]          
                                      = c_4(mod#(minus(x,y),s(y))
                                           ,minus#(x,y))         
            
            
            Following rules are (at-least) weakly oriented:
                     mod#(s(x),s(y)) =  [0 1 1]     [0 0 0]     [1]    
                                        [0 2 2] x + [0 1 1] y + [2]    
                                        [0 1 1]     [0 0 0]     [1]    
                                     >= [0 1 1]     [1]                
                                        [0 2 1] x + [2]                
                                        [0 1 1]     [0]                
                                     =  c_12(if_mod#(le(y,x),s(x),s(y))
                                            ,le#(y,x))                 
            
            if_minus(false(),s(x),y) =  [0 1 1]     [0]                
                                        [0 1 1] x + [0]                
                                        [0 0 0]     [1]                
                                     >= [0 1 1]     [0]                
                                        [0 1 1] x + [0]                
                                        [0 0 0]     [1]                
                                     =  s(minus(x,y))                  
            
             if_minus(true(),s(x),y) =  [0 1 1]     [0]                
                                        [0 1 1] x + [0]                
                                        [0 0 0]     [1]                
                                     >= [0]                            
                                        [0]                            
                                        [1]                            
                                     =  0()                            
            
                        minus(0(),y) =  [0]                            
                                        [0]                            
                                        [1]                            
                                     >= [0]                            
                                        [0]                            
                                        [1]                            
                                     =  0()                            
            
                       minus(s(x),y) =  [0 1 1]     [0]                
                                        [0 1 1] x + [0]                
                                        [0 0 0]     [1]                
                                     >= [0 1 1]     [0]                
                                        [0 1 1] x + [0]                
                                        [0 0 0]     [1]                
                                     =  if_minus(le(s(x),y),s(x),y)    
            
      *** 1.1.1.1.1.1.1.1.1 Progress [(?,O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.1.2 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
              mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
                 -->_1 mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x)):2
              
              2:W:mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
                 -->_1 if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y)):1
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              1: if_mod#(true(),s(x),s(y)) ->     
                   c_4(mod#(minus(x,y),s(y))      
                      ,minus#(x,y))               
              2: mod#(s(x),s(y)) ->               
                   c_12(if_mod#(le(y,x),s(x),s(y))
                       ,le#(y,x))                 
      *** 1.1.1.1.1.1.1.2.1 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
    *** 1.1.1.1.1.1.2 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
            le#(s(x),s(y)) -> c_7(le#(x,y))
            minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
          Strict TRS Rules:
            
          Weak DP Rules:
            if_mod#(true(),s(x),s(y)) -> minus#(x,y)
            if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
            mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
            mod#(s(x),s(y)) -> le#(y,x)
          Weak TRS Rules:
            if_minus(false(),s(x),y) -> s(minus(x,y))
            if_minus(true(),s(x),y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(0(),y) -> 0()
            minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
          Signature:
            {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
          Obligation:
            Innermost
            basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
        Applied Processor:
          PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 3, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
        Proof:
          We first use the processor NaturalMI {miDimension = 3, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
            2: le#(s(x),s(y)) -> c_7(le#(x,y))
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.2.1 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
              le#(s(x),s(y)) -> c_7(le#(x,y))
              minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> minus#(x,y)
              if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
              mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
              mod#(s(x),s(y)) -> le#(y,x)
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            NaturalMI {miDimension = 3, miDegree = 2, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
          Proof:
            We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 2 non-zero interpretation-entries in the diagonal of the component-wise maxima):
            The following argument positions are considered usable:
              uargs(c_1) = {1},
              uargs(c_7) = {1},
              uargs(c_9) = {1,2}
            
            Following symbols are considered usable:
              {if_minus,minus,if_minus#,if_mod#,le#,minus#,mod#}
            TcT has computed the following interpretation:
                      p(0) = [0]                          
                             [0]                          
                             [0]                          
                  p(false) = [0]                          
                             [0]                          
                             [0]                          
               p(if_minus) = [0 1 0]      [0]             
                             [1 0 0] x2 + [0]             
                             [0 0 1]      [0]             
                 p(if_mod) = [0]                          
                             [0]                          
                             [0]                          
                     p(le) = [1 0 0]      [0]             
                             [0 1 1] x1 + [1]             
                             [0 0 0]      [0]             
                  p(minus) = [1 0 0]      [0]             
                             [0 1 0] x1 + [0]             
                             [0 0 1]      [0]             
                    p(mod) = [0]                          
                             [0]                          
                             [0]                          
                      p(s) = [0 1 1]      [0]             
                             [0 1 1] x1 + [0]             
                             [0 0 1]      [1]             
                   p(true) = [0]                          
                             [0]                          
                             [0]                          
              p(if_minus#) = [1 0 0]      [0 0 0]      [0]
                             [0 0 0] x2 + [0 0 1] x3 + [0]
                             [1 0 0]      [0 1 0]      [1]
                p(if_mod#) = [0 1 1]      [0 0 1]      [0]
                             [0 0 0] x2 + [1 0 0] x3 + [0]
                             [1 0 0]      [0 0 1]      [0]
                    p(le#) = [0 0 1]      [0 0 0]      [0]
                             [0 0 0] x1 + [0 0 0] x2 + [0]
                             [0 0 0]      [0 1 1]      [0]
                 p(minus#) = [0 1 1]      [0 0 0]      [0]
                             [0 0 0] x1 + [0 0 1] x2 + [0]
                             [0 0 1]      [0 0 1]      [1]
                   p(mod#) = [0 1 1]      [0 0 1]      [1]
                             [0 0 0] x1 + [0 1 0] x2 + [0]
                             [0 1 0]      [0 0 1]      [0]
                    p(c_1) = [1 0 0]      [0]             
                             [0 0 0] x1 + [0]             
                             [0 0 0]      [0]             
                    p(c_2) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_3) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_4) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_5) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_6) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_7) = [1 0 0]      [0]             
                             [0 0 0] x1 + [0]             
                             [0 0 1]      [1]             
                    p(c_8) = [0]                          
                             [0]                          
                             [0]                          
                    p(c_9) = [1 0 0]      [1 0 0]      [0]
                             [0 0 0] x1 + [0 0 0] x2 + [0]
                             [0 0 0]      [1 0 0]      [0]
                   p(c_10) = [0]                          
                             [0]                          
                             [0]                          
                   p(c_11) = [0]                          
                             [0]                          
                             [0]                          
                   p(c_12) = [0]                          
                             [0]                          
                             [0]                          
            
            Following rules are strictly oriented:
            le#(s(x),s(y)) = [0 0 1]     [0 0 0]     [1]
                             [0 0 0] x + [0 0 0] y + [0]
                             [0 0 0]     [0 1 2]     [1]
                           > [0 0 1]     [0 0 0]     [0]
                             [0 0 0] x + [0 0 0] y + [0]
                             [0 0 0]     [0 1 1]     [1]
                           = c_7(le#(x,y))              
            
            
            Following rules are (at-least) weakly oriented:
            if_minus#(false(),s(x),y) =  [0 1 1]     [0 0 0]     [0]     
                                         [0 0 0] x + [0 0 1] y + [0]     
                                         [0 1 1]     [0 1 0]     [1]     
                                      >= [0 1 1]     [0]                 
                                         [0 0 0] x + [0]                 
                                         [0 0 0]     [0]                 
                                      =  c_1(minus#(x,y))                
            
            if_mod#(true(),s(x),s(y)) =  [0 1 2]     [0 0 1]     [2]     
                                         [0 0 0] x + [0 1 1] y + [0]     
                                         [0 1 1]     [0 0 1]     [1]     
                                      >= [0 1 1]     [0 0 0]     [0]     
                                         [0 0 0] x + [0 0 1] y + [0]     
                                         [0 0 1]     [0 0 1]     [1]     
                                      =  minus#(x,y)                     
            
            if_mod#(true(),s(x),s(y)) =  [0 1 2]     [0 0 1]     [2]     
                                         [0 0 0] x + [0 1 1] y + [0]     
                                         [0 1 1]     [0 0 1]     [1]     
                                      >= [0 1 1]     [0 0 1]     [2]     
                                         [0 0 0] x + [0 1 1] y + [0]     
                                         [0 1 0]     [0 0 1]     [1]     
                                      =  mod#(minus(x,y),s(y))           
            
                       minus#(s(x),y) =  [0 1 2]     [0 0 0]     [1]     
                                         [0 0 0] x + [0 0 1] y + [0]     
                                         [0 0 1]     [0 0 1]     [2]     
                                      >= [0 1 2]     [1]                 
                                         [0 0 0] x + [0]                 
                                         [0 0 1]     [1]                 
                                      =  c_9(if_minus#(le(s(x),y),s(x),y)
                                            ,le#(s(x),y))                
            
                      mod#(s(x),s(y)) =  [0 1 2]     [0 0 1]     [3]     
                                         [0 0 0] x + [0 1 1] y + [0]     
                                         [0 1 1]     [0 0 1]     [1]     
                                      >= [0 1 2]     [0 0 1]     [2]     
                                         [0 0 0] x + [0 1 1] y + [0]     
                                         [0 1 1]     [0 0 1]     [1]     
                                      =  if_mod#(le(y,x),s(x),s(y))      
            
                      mod#(s(x),s(y)) =  [0 1 2]     [0 0 1]     [3]     
                                         [0 0 0] x + [0 1 1] y + [0]     
                                         [0 1 1]     [0 0 1]     [1]     
                                      >= [0 0 0]     [0 0 1]     [0]     
                                         [0 0 0] x + [0 0 0] y + [0]     
                                         [0 1 1]     [0 0 0]     [0]     
                                      =  le#(y,x)                        
            
             if_minus(false(),s(x),y) =  [0 1 1]     [0]                 
                                         [0 1 1] x + [0]                 
                                         [0 0 1]     [1]                 
                                      >= [0 1 1]     [0]                 
                                         [0 1 1] x + [0]                 
                                         [0 0 1]     [1]                 
                                      =  s(minus(x,y))                   
            
              if_minus(true(),s(x),y) =  [0 1 1]     [0]                 
                                         [0 1 1] x + [0]                 
                                         [0 0 1]     [1]                 
                                      >= [0]                             
                                         [0]                             
                                         [0]                             
                                      =  0()                             
            
                         minus(0(),y) =  [0]                             
                                         [0]                             
                                         [0]                             
                                      >= [0]                             
                                         [0]                             
                                         [0]                             
                                      =  0()                             
            
                        minus(s(x),y) =  [0 1 1]     [0]                 
                                         [0 1 1] x + [0]                 
                                         [0 0 1]     [1]                 
                                      >= [0 1 1]     [0]                 
                                         [0 1 1] x + [0]                 
                                         [0 0 1]     [1]                 
                                      =  if_minus(le(s(x),y),s(x),y)     
            
      *** 1.1.1.1.1.1.2.1.1 Progress [(?,O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
              minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> minus#(x,y)
              if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
              le#(s(x),s(y)) -> c_7(le#(x,y))
              mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
              mod#(s(x),s(y)) -> le#(y,x)
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.2.2 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
              minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> minus#(x,y)
              if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
              le#(s(x),s(y)) -> c_7(le#(x,y))
              mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
              mod#(s(x),s(y)) -> le#(y,x)
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:S:if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                 -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):2
              
              2:S:minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
                 -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):5
                 -->_1 if_minus#(false(),s(x),y) -> c_1(minus#(x,y)):1
              
              3:W:if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                 -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):2
              
              4:W:if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                 -->_1 mod#(s(x),s(y)) -> le#(y,x):7
                 -->_1 mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y)):6
              
              5:W:le#(s(x),s(y)) -> c_7(le#(x,y))
                 -->_1 le#(s(x),s(y)) -> c_7(le#(x,y)):5
              
              6:W:mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
                 -->_1 if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y)):4
                 -->_1 if_mod#(true(),s(x),s(y)) -> minus#(x,y):3
              
              7:W:mod#(s(x),s(y)) -> le#(y,x)
                 -->_1 le#(s(x),s(y)) -> c_7(le#(x,y)):5
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              7: mod#(s(x),s(y)) -> le#(y,x)    
              5: le#(s(x),s(y)) -> c_7(le#(x,y))
      *** 1.1.1.1.1.1.2.2.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
              minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> minus#(x,y)
              if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
              mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            SimplifyRHS
          Proof:
            Consider the dependency graph
              1:S:if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                 -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):2
              
              2:S:minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
                 -->_1 if_minus#(false(),s(x),y) -> c_1(minus#(x,y)):1
              
              3:W:if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                 -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):2
              
              4:W:if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                 -->_1 mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y)):6
              
              6:W:mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
                 -->_1 if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y)):4
                 -->_1 if_mod#(true(),s(x),s(y)) -> minus#(x,y):3
              
            Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
              minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
      *** 1.1.1.1.1.1.2.2.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
              minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
            Strict TRS Rules:
              
            Weak DP Rules:
              if_mod#(true(),s(x),s(y)) -> minus#(x,y)
              if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
              mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
            Weak TRS Rules:
              if_minus(false(),s(x),y) -> s(minus(x,y))
              if_minus(true(),s(x),y) -> 0()
              le(0(),y) -> true()
              le(s(x),0()) -> false()
              le(s(x),s(y)) -> le(x,y)
              minus(0(),y) -> 0()
              minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
            Signature:
              {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
            Obligation:
              Innermost
              basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
          Applied Processor:
            PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
          Proof:
            We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
              1: if_minus#(false(),s(x),y) ->
                   c_1(minus#(x,y))          
              
            The strictly oriented rules are moved into the weak component.
        *** 1.1.1.1.1.1.2.2.1.1.1 Progress [(?,O(n^1))]  ***
            Considered Problem:
              Strict DP Rules:
                if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
              Strict TRS Rules:
                
              Weak DP Rules:
                if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
              Weak TRS Rules:
                if_minus(false(),s(x),y) -> s(minus(x,y))
                if_minus(true(),s(x),y) -> 0()
                le(0(),y) -> true()
                le(s(x),0()) -> false()
                le(s(x),s(y)) -> le(x,y)
                minus(0(),y) -> 0()
                minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
              Signature:
                {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
              Obligation:
                Innermost
                basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
            Applied Processor:
              NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
            Proof:
              We apply a matrix interpretation of kind constructor based matrix interpretation:
              The following argument positions are considered usable:
                uargs(c_1) = {1},
                uargs(c_9) = {1}
              
              Following symbols are considered usable:
                {if_minus,minus,if_minus#,if_mod#,le#,minus#,mod#}
              TcT has computed the following interpretation:
                        p(0) = [2]                  
                    p(false) = [0]                  
                 p(if_minus) = [1] x2 + [1]         
                   p(if_mod) = [2] x1 + [2]         
                       p(le) = [0]                  
                    p(minus) = [1] x1 + [1]         
                      p(mod) = [2]                  
                        p(s) = [1] x1 + [2]         
                     p(true) = [0]                  
                p(if_minus#) = [8] x2 + [1]         
                  p(if_mod#) = [9] x2 + [1] x3 + [4]
                      p(le#) = [1] x1 + [1] x2 + [8]
                   p(minus#) = [8] x1 + [4]         
                     p(mod#) = [9] x1 + [1] x2 + [4]
                      p(c_1) = [1] x1 + [12]        
                      p(c_2) = [1]                  
                      p(c_3) = [1]                  
                      p(c_4) = [2] x2 + [1]         
                      p(c_5) = [0]                  
                      p(c_6) = [1]                  
                      p(c_7) = [2] x1 + [1]         
                      p(c_8) = [1]                  
                      p(c_9) = [1] x1 + [3]         
                     p(c_10) = [4]                  
                     p(c_11) = [0]                  
                     p(c_12) = [1] x2 + [2]         
              
              Following rules are strictly oriented:
              if_minus#(false(),s(x),y) = [8] x + [17]    
                                        > [8] x + [16]    
                                        = c_1(minus#(x,y))
              
              
              Following rules are (at-least) weakly oriented:
              if_mod#(true(),s(x),s(y)) =  [9] x + [1] y + [24]       
                                        >= [8] x + [4]                
                                        =  minus#(x,y)                
              
              if_mod#(true(),s(x),s(y)) =  [9] x + [1] y + [24]       
                                        >= [9] x + [1] y + [15]       
                                        =  mod#(minus(x,y),s(y))      
              
                         minus#(s(x),y) =  [8] x + [20]               
                                        >= [8] x + [20]               
                                        =  c_9(if_minus#(le(s(x),y)   
                                                        ,s(x)         
                                                        ,y))          
              
                        mod#(s(x),s(y)) =  [9] x + [1] y + [24]       
                                        >= [9] x + [1] y + [24]       
                                        =  if_mod#(le(y,x),s(x),s(y)) 
              
               if_minus(false(),s(x),y) =  [1] x + [3]                
                                        >= [1] x + [3]                
                                        =  s(minus(x,y))              
              
                if_minus(true(),s(x),y) =  [1] x + [3]                
                                        >= [2]                        
                                        =  0()                        
              
                           minus(0(),y) =  [3]                        
                                        >= [2]                        
                                        =  0()                        
              
                          minus(s(x),y) =  [1] x + [3]                
                                        >= [1] x + [3]                
                                        =  if_minus(le(s(x),y),s(x),y)
              
        *** 1.1.1.1.1.1.2.2.1.1.1.1 Progress [(?,O(1))]  ***
            Considered Problem:
              Strict DP Rules:
                minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
              Strict TRS Rules:
                
              Weak DP Rules:
                if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
              Weak TRS Rules:
                if_minus(false(),s(x),y) -> s(minus(x,y))
                if_minus(true(),s(x),y) -> 0()
                le(0(),y) -> true()
                le(s(x),0()) -> false()
                le(s(x),s(y)) -> le(x,y)
                minus(0(),y) -> 0()
                minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
              Signature:
                {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
              Obligation:
                Innermost
                basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
            Applied Processor:
              Assumption
            Proof:
              ()
        
        *** 1.1.1.1.1.1.2.2.1.1.2 Progress [(?,O(n^1))]  ***
            Considered Problem:
              Strict DP Rules:
                minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
              Strict TRS Rules:
                
              Weak DP Rules:
                if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
              Weak TRS Rules:
                if_minus(false(),s(x),y) -> s(minus(x,y))
                if_minus(true(),s(x),y) -> 0()
                le(0(),y) -> true()
                le(s(x),0()) -> false()
                le(s(x),s(y)) -> le(x,y)
                minus(0(),y) -> 0()
                minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
              Signature:
                {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
              Obligation:
                Innermost
                basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
            Applied Processor:
              PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
            Proof:
              We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
                1: minus#(s(x),y) ->         
                     c_9(if_minus#(le(s(x),y)
                                  ,s(x)      
                                  ,y))       
                
              Consider the set of all dependency pairs
                1: minus#(s(x),y) ->               
                     c_9(if_minus#(le(s(x),y)      
                                  ,s(x)            
                                  ,y))             
                2: if_minus#(false(),s(x),y) ->    
                     c_1(minus#(x,y))              
                3: if_mod#(true(),s(x),s(y)) ->    
                     minus#(x,y)                   
                4: if_mod#(true(),s(x),s(y)) ->    
                     mod#(minus(x,y),s(y))         
                5: mod#(s(x),s(y)) -> if_mod#(le(y 
                                                ,x)
                                             ,s(x) 
                                             ,s(y))
              Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
              SPACE(?,?)on application of the dependency pairs
                {1}
              These cover all (indirect) predecessors of dependency pairs
                {1,2}
              their number of applications is equally bounded.
              The dependency pairs are shifted into the weak component.
          *** 1.1.1.1.1.1.2.2.1.1.2.1 Progress [(?,O(n^1))]  ***
              Considered Problem:
                Strict DP Rules:
                  minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                  if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                  if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                  mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
                Weak TRS Rules:
                  if_minus(false(),s(x),y) -> s(minus(x,y))
                  if_minus(true(),s(x),y) -> 0()
                  le(0(),y) -> true()
                  le(s(x),0()) -> false()
                  le(s(x),s(y)) -> le(x,y)
                  minus(0(),y) -> 0()
                  minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
                Signature:
                  {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
                Obligation:
                  Innermost
                  basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
              Applied Processor:
                NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
              Proof:
                We apply a matrix interpretation of kind constructor based matrix interpretation:
                The following argument positions are considered usable:
                  uargs(c_1) = {1},
                  uargs(c_9) = {1}
                
                Following symbols are considered usable:
                  {if_minus,minus,if_minus#,if_mod#,le#,minus#,mod#}
                TcT has computed the following interpretation:
                          p(0) = [0]                           
                      p(false) = [0]                           
                   p(if_minus) = [1] x2 + [2]                  
                     p(if_mod) = [1] x1 + [8] x2 + [8] x3 + [2]
                         p(le) = [0]                           
                      p(minus) = [1] x1 + [2]                  
                        p(mod) = [0]                           
                          p(s) = [1] x1 + [2]                  
                       p(true) = [0]                           
                  p(if_minus#) = [1] x2 + [0]                  
                    p(if_mod#) = [8] x2 + [4] x3 + [2]         
                        p(le#) = [2] x2 + [2]                  
                     p(minus#) = [1] x1 + [1]                  
                       p(mod#) = [8] x1 + [4] x2 + [2]         
                        p(c_1) = [1] x1 + [0]                  
                        p(c_2) = [1]                           
                        p(c_3) = [0]                           
                        p(c_4) = [0]                           
                        p(c_5) = [1]                           
                        p(c_6) = [1]                           
                        p(c_7) = [1] x1 + [0]                  
                        p(c_8) = [0]                           
                        p(c_9) = [1] x1 + [0]                  
                       p(c_10) = [0]                           
                       p(c_11) = [2]                           
                       p(c_12) = [2]                           
                
                Following rules are strictly oriented:
                minus#(s(x),y) = [1] x + [3]             
                               > [1] x + [2]             
                               = c_9(if_minus#(le(s(x),y)
                                              ,s(x)      
                                              ,y))       
                
                
                Following rules are (at-least) weakly oriented:
                if_minus#(false(),s(x),y) =  [1] x + [2]                
                                          >= [1] x + [1]                
                                          =  c_1(minus#(x,y))           
                
                if_mod#(true(),s(x),s(y)) =  [8] x + [4] y + [26]       
                                          >= [1] x + [1]                
                                          =  minus#(x,y)                
                
                if_mod#(true(),s(x),s(y)) =  [8] x + [4] y + [26]       
                                          >= [8] x + [4] y + [26]       
                                          =  mod#(minus(x,y),s(y))      
                
                          mod#(s(x),s(y)) =  [8] x + [4] y + [26]       
                                          >= [8] x + [4] y + [26]       
                                          =  if_mod#(le(y,x),s(x),s(y)) 
                
                 if_minus(false(),s(x),y) =  [1] x + [4]                
                                          >= [1] x + [4]                
                                          =  s(minus(x,y))              
                
                  if_minus(true(),s(x),y) =  [1] x + [4]                
                                          >= [0]                        
                                          =  0()                        
                
                             minus(0(),y) =  [2]                        
                                          >= [0]                        
                                          =  0()                        
                
                            minus(s(x),y) =  [1] x + [4]                
                                          >= [1] x + [4]                
                                          =  if_minus(le(s(x),y),s(x),y)
                
          *** 1.1.1.1.1.1.2.2.1.1.2.1.1 Progress [(?,O(1))]  ***
              Considered Problem:
                Strict DP Rules:
                  
                Strict TRS Rules:
                  
                Weak DP Rules:
                  if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                  if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                  if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                  minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
                  mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
                Weak TRS Rules:
                  if_minus(false(),s(x),y) -> s(minus(x,y))
                  if_minus(true(),s(x),y) -> 0()
                  le(0(),y) -> true()
                  le(s(x),0()) -> false()
                  le(s(x),s(y)) -> le(x,y)
                  minus(0(),y) -> 0()
                  minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
                Signature:
                  {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
                Obligation:
                  Innermost
                  basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
              Applied Processor:
                Assumption
              Proof:
                ()
          
          *** 1.1.1.1.1.1.2.2.1.1.2.2 Progress [(O(1),O(1))]  ***
              Considered Problem:
                Strict DP Rules:
                  
                Strict TRS Rules:
                  
                Weak DP Rules:
                  if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                  if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                  if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                  minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
                  mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
                Weak TRS Rules:
                  if_minus(false(),s(x),y) -> s(minus(x,y))
                  if_minus(true(),s(x),y) -> 0()
                  le(0(),y) -> true()
                  le(s(x),0()) -> false()
                  le(s(x),s(y)) -> le(x,y)
                  minus(0(),y) -> 0()
                  minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
                Signature:
                  {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
                Obligation:
                  Innermost
                  basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
              Applied Processor:
                RemoveWeakSuffixes
              Proof:
                Consider the dependency graph
                  1:W:if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
                     -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y)):4
                  
                  2:W:if_mod#(true(),s(x),s(y)) -> minus#(x,y)
                     -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y)):4
                  
                  3:W:if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y))
                     -->_1 mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y)):5
                  
                  4:W:minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y))
                     -->_1 if_minus#(false(),s(x),y) -> c_1(minus#(x,y)):1
                  
                  5:W:mod#(s(x),s(y)) -> if_mod#(le(y,x),s(x),s(y))
                     -->_1 if_mod#(true(),s(x),s(y)) -> mod#(minus(x,y),s(y)):3
                     -->_1 if_mod#(true(),s(x),s(y)) -> minus#(x,y):2
                  
                The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                  3: if_mod#(true(),s(x),s(y)) ->    
                       mod#(minus(x,y),s(y))         
                  5: mod#(s(x),s(y)) -> if_mod#(le(y 
                                                  ,x)
                                               ,s(x) 
                                               ,s(y))
                  2: if_mod#(true(),s(x),s(y)) ->    
                       minus#(x,y)                   
                  1: if_minus#(false(),s(x),y) ->    
                       c_1(minus#(x,y))              
                  4: minus#(s(x),y) ->               
                       c_9(if_minus#(le(s(x),y)      
                                    ,s(x)            
                                    ,y))             
          *** 1.1.1.1.1.1.2.2.1.1.2.2.1 Progress [(O(1),O(1))]  ***
              Considered Problem:
                Strict DP Rules:
                  
                Strict TRS Rules:
                  
                Weak DP Rules:
                  
                Weak TRS Rules:
                  if_minus(false(),s(x),y) -> s(minus(x,y))
                  if_minus(true(),s(x),y) -> 0()
                  le(0(),y) -> true()
                  le(s(x),0()) -> false()
                  le(s(x),s(y)) -> le(x,y)
                  minus(0(),y) -> 0()
                  minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
                Signature:
                  {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/1,c_10/0,c_11/0,c_12/2}
                Obligation:
                  Innermost
                  basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
              Applied Processor:
                EmptyProcessor
              Proof:
                The problem is already closed. The intended complexity is O(1).
          
  *** 1.1.1.1.1.2 Progress [(?,O(n^1))]  ***
      Considered Problem:
        Strict DP Rules:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
        Strict TRS Rules:
          
        Weak DP Rules:
          if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
          le#(s(x),s(y)) -> c_7(le#(x,y))
          minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
        Weak TRS Rules:
          if_minus(false(),s(x),y) -> s(minus(x,y))
          if_minus(true(),s(x),y) -> 0()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(0(),y) -> 0()
          minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        Signature:
          {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
        Obligation:
          Innermost
          basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
      Applied Processor:
        RemoveWeakSuffixes
      Proof:
        Consider the dependency graph
          1:S:if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
             -->_2 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):5
             -->_1 mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x)):2
          
          2:S:mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
             -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):4
             -->_1 if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y)):1
          
          3:W:if_minus#(false(),s(x),y) -> c_1(minus#(x,y))
             -->_1 minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y)):5
          
          4:W:le#(s(x),s(y)) -> c_7(le#(x,y))
             -->_1 le#(s(x),s(y)) -> c_7(le#(x,y)):4
          
          5:W:minus#(s(x),y) -> c_9(if_minus#(le(s(x),y),s(x),y),le#(s(x),y))
             -->_2 le#(s(x),s(y)) -> c_7(le#(x,y)):4
             -->_1 if_minus#(false(),s(x),y) -> c_1(minus#(x,y)):3
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          5: minus#(s(x),y) ->                 
               c_9(if_minus#(le(s(x),y),s(x),y)
                  ,le#(s(x),y))                
          3: if_minus#(false(),s(x),y) ->      
               c_1(minus#(x,y))                
          4: le#(s(x),s(y)) -> c_7(le#(x,y))   
  *** 1.1.1.1.1.2.1 Progress [(?,O(n^1))]  ***
      Considered Problem:
        Strict DP Rules:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          if_minus(false(),s(x),y) -> s(minus(x,y))
          if_minus(true(),s(x),y) -> 0()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(0(),y) -> 0()
          minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        Signature:
          {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/2,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/2}
        Obligation:
          Innermost
          basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
      Applied Processor:
        SimplifyRHS
      Proof:
        Consider the dependency graph
          1:S:if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y))
             -->_1 mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x)):2
          
          2:S:mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)),le#(y,x))
             -->_1 if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)),minus#(x,y)):1
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)))
  *** 1.1.1.1.1.2.1.1 Progress [(?,O(n^1))]  ***
      Considered Problem:
        Strict DP Rules:
          if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)))
          mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          if_minus(false(),s(x),y) -> s(minus(x,y))
          if_minus(true(),s(x),y) -> 0()
          le(0(),y) -> true()
          le(s(x),0()) -> false()
          le(s(x),s(y)) -> le(x,y)
          minus(0(),y) -> 0()
          minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
        Signature:
          {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/1,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/1}
        Obligation:
          Innermost
          basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
      Applied Processor:
        PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
      Proof:
        We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
          1: if_mod#(true(),s(x),s(y)) ->
               c_4(mod#(minus(x,y),s(y)))
          
        Consider the set of all dependency pairs
          1: if_mod#(true(),s(x),s(y)) ->      
               c_4(mod#(minus(x,y),s(y)))      
          2: mod#(s(x),s(y)) ->                
               c_12(if_mod#(le(y,x),s(x),s(y)))
        Processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}induces the complexity certificateTIME (?,O(n^1))
        SPACE(?,?)on application of the dependency pairs
          {1}
        These cover all (indirect) predecessors of dependency pairs
          {1,2}
        their number of applications is equally bounded.
        The dependency pairs are shifted into the weak component.
    *** 1.1.1.1.1.2.1.1.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)))
            mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            if_minus(false(),s(x),y) -> s(minus(x,y))
            if_minus(true(),s(x),y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(0(),y) -> 0()
            minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
          Signature:
            {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/1,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/1}
          Obligation:
            Innermost
            basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
        Applied Processor:
          NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
        Proof:
          We apply a matrix interpretation of kind constructor based matrix interpretation:
          The following argument positions are considered usable:
            uargs(c_4) = {1},
            uargs(c_12) = {1}
          
          Following symbols are considered usable:
            {if_minus,minus,if_minus#,if_mod#,le#,minus#,mod#}
          TcT has computed the following interpretation:
                    p(0) = [0]                  
                p(false) = [0]                  
             p(if_minus) = [1] x2 + [0]         
               p(if_mod) = [1] x1 + [1] x3 + [1]
                   p(le) = [0]                  
                p(minus) = [1] x1 + [0]         
                  p(mod) = [2] x1 + [1] x2 + [1]
                    p(s) = [1] x1 + [4]         
                 p(true) = [0]                  
            p(if_minus#) = [2] x1 + [0]         
              p(if_mod#) = [4] x2 + [3] x3 + [0]
                  p(le#) = [1] x2 + [0]         
               p(minus#) = [0]                  
                 p(mod#) = [4] x1 + [3] x2 + [0]
                  p(c_1) = [1] x1 + [2]         
                  p(c_2) = [0]                  
                  p(c_3) = [1]                  
                  p(c_4) = [1] x1 + [15]        
                  p(c_5) = [1]                  
                  p(c_6) = [1]                  
                  p(c_7) = [8] x1 + [2]         
                  p(c_8) = [0]                  
                  p(c_9) = [1] x2 + [0]         
                 p(c_10) = [2]                  
                 p(c_11) = [1]                  
                 p(c_12) = [1] x1 + [0]         
          
          Following rules are strictly oriented:
          if_mod#(true(),s(x),s(y)) = [4] x + [3] y + [28]      
                                    > [4] x + [3] y + [27]      
                                    = c_4(mod#(minus(x,y),s(y)))
          
          
          Following rules are (at-least) weakly oriented:
                   mod#(s(x),s(y)) =  [4] x + [3] y + [28]            
                                   >= [4] x + [3] y + [28]            
                                   =  c_12(if_mod#(le(y,x),s(x),s(y)))
          
          if_minus(false(),s(x),y) =  [1] x + [4]                     
                                   >= [1] x + [4]                     
                                   =  s(minus(x,y))                   
          
           if_minus(true(),s(x),y) =  [1] x + [4]                     
                                   >= [0]                             
                                   =  0()                             
          
                      minus(0(),y) =  [0]                             
                                   >= [0]                             
                                   =  0()                             
          
                     minus(s(x),y) =  [1] x + [4]                     
                                   >= [1] x + [4]                     
                                   =  if_minus(le(s(x),y),s(x),y)     
          
    *** 1.1.1.1.1.2.1.1.1.1 Progress [(?,O(1))]  ***
        Considered Problem:
          Strict DP Rules:
            mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)))
          Strict TRS Rules:
            
          Weak DP Rules:
            if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)))
          Weak TRS Rules:
            if_minus(false(),s(x),y) -> s(minus(x,y))
            if_minus(true(),s(x),y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(0(),y) -> 0()
            minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
          Signature:
            {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/1,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/1}
          Obligation:
            Innermost
            basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
        Applied Processor:
          Assumption
        Proof:
          ()
    
    *** 1.1.1.1.1.2.1.1.2 Progress [(O(1),O(1))]  ***
        Considered Problem:
          Strict DP Rules:
            
          Strict TRS Rules:
            
          Weak DP Rules:
            if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)))
            mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)))
          Weak TRS Rules:
            if_minus(false(),s(x),y) -> s(minus(x,y))
            if_minus(true(),s(x),y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(0(),y) -> 0()
            minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
          Signature:
            {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/1,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/1}
          Obligation:
            Innermost
            basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
        Applied Processor:
          RemoveWeakSuffixes
        Proof:
          Consider the dependency graph
            1:W:if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y)))
               -->_1 mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y))):2
            
            2:W:mod#(s(x),s(y)) -> c_12(if_mod#(le(y,x),s(x),s(y)))
               -->_1 if_mod#(true(),s(x),s(y)) -> c_4(mod#(minus(x,y),s(y))):1
            
          The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
            1: if_mod#(true(),s(x),s(y)) ->      
                 c_4(mod#(minus(x,y),s(y)))      
            2: mod#(s(x),s(y)) ->                
                 c_12(if_mod#(le(y,x),s(x),s(y)))
    *** 1.1.1.1.1.2.1.1.2.1 Progress [(O(1),O(1))]  ***
        Considered Problem:
          Strict DP Rules:
            
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            if_minus(false(),s(x),y) -> s(minus(x,y))
            if_minus(true(),s(x),y) -> 0()
            le(0(),y) -> true()
            le(s(x),0()) -> false()
            le(s(x),s(y)) -> le(x,y)
            minus(0(),y) -> 0()
            minus(s(x),y) -> if_minus(le(s(x),y),s(x),y)
          Signature:
            {if_minus/3,if_mod/3,le/2,minus/2,mod/2,if_minus#/3,if_mod#/3,le#/2,minus#/2,mod#/2} / {0/0,false/0,s/1,true/0,c_1/1,c_2/0,c_3/0,c_4/1,c_5/0,c_6/0,c_7/1,c_8/0,c_9/2,c_10/0,c_11/0,c_12/1}
          Obligation:
            Innermost
            basic terms: {if_minus#,if_mod#,le#,minus#,mod#}/{0,false,s,true}
        Applied Processor:
          EmptyProcessor
        Proof:
          The problem is already closed. The intended complexity is O(1).