TRS:
 {                       le(0(), y) -> true(),
                      le(s(x), 0()) -> false(),
                     le(s(x), s(y)) -> le(x, y),
                        minus(x, x) -> 0(),
                      minus(x, 0()) -> x,
                      minus(0(), x) -> 0(),
                  minus(s(x), s(y)) -> minus(x, y),
                        isZero(0()) -> true(),
                       isZero(s(x)) -> false(),
                          mod(x, y) -> if_mod(isZero(y), le(y, x), x, y, minus(x, y)),
         if_mod(true(), b, x, y, z) -> divByZeroError(),
  if_mod(false(), false(), x, y, z) -> x,
   if_mod(false(), true(), x, y, z) -> mod(z, y)}
 Fail