MAYBE
Time: 0.032818
TRS:
 {         minus(x, 0()) -> x,
         minus(s x, s y) -> minus(x, y),
              le(0(), y) -> true(),
            le(s x, 0()) -> false(),
            le(s x, s y) -> le(x, y),
   if_quot(true(), x, y) -> s quot(minus(x, y), y),
  if_quot(false(), x, y) -> 0(),
            quot(x, s y) -> if_quot(le(s y, x), x, s y)}
 DP:
  DP:
   {      minus#(s x, s y) -> minus#(x, y),
             le#(s x, s y) -> le#(x, y),
    if_quot#(true(), x, y) -> minus#(x, y),
    if_quot#(true(), x, y) -> quot#(minus(x, y), y),
             quot#(x, s y) -> le#(s y, x),
             quot#(x, s y) -> if_quot#(le(s y, x), x, s y)}
  TRS:
  {         minus(x, 0()) -> x,
          minus(s x, s y) -> minus(x, y),
               le(0(), y) -> true(),
             le(s x, 0()) -> false(),
             le(s x, s y) -> le(x, y),
    if_quot(true(), x, y) -> s quot(minus(x, y), y),
   if_quot(false(), x, y) -> 0(),
             quot(x, s y) -> if_quot(le(s y, x), x, s y)}
  UR:
   {  minus(x, 0()) -> x,
    minus(s x, s y) -> minus(x, y),
         le(0(), y) -> true(),
       le(s x, 0()) -> false(),
       le(s x, s y) -> le(x, y)}
   EDG:
    {(le#(s x, s y) -> le#(x, y), le#(s x, s y) -> le#(x, y))
     (quot#(x, s y) -> if_quot#(le(s y, x), x, s y), if_quot#(true(), x, y) -> quot#(minus(x, y), y))
     (quot#(x, s y) -> if_quot#(le(s y, x), x, s y), if_quot#(true(), x, y) -> minus#(x, y))
     (quot#(x, s y) -> le#(s y, x), le#(s x, s y) -> le#(x, y))
     (if_quot#(true(), x, y) -> quot#(minus(x, y), y), quot#(x, s y) -> le#(s y, x))
     (if_quot#(true(), x, y) -> quot#(minus(x, y), y), quot#(x, s y) -> if_quot#(le(s y, x), x, s y))
     (if_quot#(true(), x, y) -> minus#(x, y), minus#(s x, s y) -> minus#(x, y))
     (minus#(s x, s y) -> minus#(x, y), minus#(s x, s y) -> minus#(x, y))}
    STATUS:
     arrows: 0.777778
     SCCS (3):
      Scc:
       {if_quot#(true(), x, y) -> quot#(minus(x, y), y),
                 quot#(x, s y) -> if_quot#(le(s y, x), x, s y)}
      Scc:
       {le#(s x, s y) -> le#(x, y)}
      Scc:
       {minus#(s x, s y) -> minus#(x, y)}
      
      SCC (2):
       Strict:
        {if_quot#(true(), x, y) -> quot#(minus(x, y), y),
                  quot#(x, s y) -> if_quot#(le(s y, x), x, s y)}
       Weak:
       {         minus(x, 0()) -> x,
               minus(s x, s y) -> minus(x, y),
                    le(0(), y) -> true(),
                  le(s x, 0()) -> false(),
                  le(s x, s y) -> le(x, y),
         if_quot(true(), x, y) -> s quot(minus(x, y), y),
        if_quot(false(), x, y) -> 0(),
                  quot(x, s y) -> if_quot(le(s y, x), x, s y)}
       Fail
      
      
      SCC (1):
       Strict:
        {le#(s x, s y) -> le#(x, y)}
       Weak:
       {         minus(x, 0()) -> x,
               minus(s x, s y) -> minus(x, y),
                    le(0(), y) -> true(),
                  le(s x, 0()) -> false(),
                  le(s x, s y) -> le(x, y),
         if_quot(true(), x, y) -> s quot(minus(x, y), y),
        if_quot(false(), x, y) -> 0(),
                  quot(x, s y) -> if_quot(le(s y, x), x, s y)}
       POLY:
        Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true
        Interpretation:
         [if_quot](x0, x1, x2) = 0,
         
         [minus](x0, x1) = x0 + 1,
         
         [le](x0, x1) = x0 + 1,
         
         [quot](x0, x1) = x0 + 1,
         
         [s](x0) = x0 + 1,
         
         [0] = 1,
         
         [true] = 0,
         
         [false] = 0,
         
         [le#](x0, x1) = x0
        Strict:
         le#(s x, s y) -> le#(x, y)
         1 + 0x + 1y >= 0 + 0x + 1y
        Weak:
         quot(x, s y) -> if_quot(le(s y, x), x, s y)
         1 + 1x + 0y >= 0 + 0x + 0y
         if_quot(false(), x, y) -> 0()
         0 + 0x + 0y >= 1
         if_quot(true(), x, y) -> s quot(minus(x, y), y)
         0 + 0x + 0y >= 3 + 0x + 1y
         le(s x, s y) -> le(x, y)
         2 + 1x + 0y >= 1 + 1x + 0y
         le(s x, 0()) -> false()
         2 + 1x >= 0
         le(0(), y) -> true()
         2 + 0y >= 0
         minus(s x, s y) -> minus(x, y)
         2 + 0x + 1y >= 1 + 0x + 1y
         minus(x, 0()) -> x
         2 + 0x >= 1x
       Qed
     SCC (1):
      Strict:
       {minus#(s x, s y) -> minus#(x, y)}
      Weak:
      {         minus(x, 0()) -> x,
              minus(s x, s y) -> minus(x, y),
                   le(0(), y) -> true(),
                 le(s x, 0()) -> false(),
                 le(s x, s y) -> le(x, y),
        if_quot(true(), x, y) -> s quot(minus(x, y), y),
       if_quot(false(), x, y) -> 0(),
                 quot(x, s y) -> if_quot(le(s y, x), x, s y)}
      POLY:
       Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true
       Interpretation:
        [if_quot](x0, x1, x2) = 0,
        
        [minus](x0, x1) = x0 + 1,
        
        [le](x0, x1) = x0 + 1,
        
        [quot](x0, x1) = x0 + 1,
        
        [s](x0) = x0 + 1,
        
        [0] = 1,
        
        [true] = 0,
        
        [false] = 0,
        
        [minus#](x0, x1) = x0
       Strict:
        minus#(s x, s y) -> minus#(x, y)
        1 + 0x + 1y >= 0 + 0x + 1y
       Weak:
        quot(x, s y) -> if_quot(le(s y, x), x, s y)
        1 + 1x + 0y >= 0 + 0x + 0y
        if_quot(false(), x, y) -> 0()
        0 + 0x + 0y >= 1
        if_quot(true(), x, y) -> s quot(minus(x, y), y)
        0 + 0x + 0y >= 3 + 0x + 1y
        le(s x, s y) -> le(x, y)
        2 + 1x + 0y >= 1 + 1x + 0y
        le(s x, 0()) -> false()
        2 + 1x >= 0
        le(0(), y) -> true()
        2 + 0y >= 0
        minus(s x, s y) -> minus(x, y)
        2 + 0x + 1y >= 1 + 0x + 1y
        minus(x, 0()) -> x
        2 + 0x >= 1x
      Qed