TRS:
 {                 le(0(), y) -> true(),
                le(s(x), 0()) -> false(),
               le(s(x), s(y)) -> le(x, y),
                minus(x, 0()) -> x,
            minus(s(x), s(y)) -> minus(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)),
         if_mod(true(), x, y) -> mod(minus(x, y), y),
  if_mod(false(), s(x), s(y)) -> s(x)}
 Fail