Математика это инструмент. А инструмент должен удовлетворять двум условиям: выполнять свою функцию и не представлять опасности для владельца. Поскольку одновременно они не всегда выполняются, опасные действия запрещаются, и запрет вводится, как абсолютный, и для всех случаев, заучиваясь наизусть. А когда выясняется, что в определённой задаче надо его нарушить, у заучивших возникает когнитивный диссонанс, "Нам всё врали!": написано "не стой под стрелой!", а стропальщик именно там стоит, строго приказано "не курить рядом со взрывчаткой", а у взрывотехника в зубах папироска, он ею бикфордов шнур поджигает. Но общее правило такими примерами не отменяется, просто люди понимают, почему оно введено, к чему приведёт нарушение, и почему в данном частном случае можно и нарушить.
Позволив делить вещественные на ноль, мы сталкиваемся с тем, что деление - обратная операция к умножению,
, но если делить на ноль, либо частное это обычное число
, то есть
, либо частное есть "особое число", дополнительно введенное,
, но тогда с этим "числом" нельзя производить операций:
равно всем мыслимым числам. То есть для вещественных чисел делить на ноль бессмысленно. Для других числовых систем иногда можно, но всегда понимая зачем и чем за это платим.
Скажем, весь матанализ это "деление на ноль" при вычислении производных. Только это не число 0, а последовательность, сходящаяся к пределу 0. Или при обращении матриц - если ранг неполон, это аналог деления на ноль (а в плане вычислений - там явно появится ноль в знаменателе). Но если отказаться от обращения, заменив псевдообращением, то есть вместо
и
, вычисляем
такое, что
Ещё ситуация относится не к собственно математике, а к программированию математических алгоритмов. На ноль делить по-прежнему нельзя, но вдруг попался ноль в знаменателе. Остановить счёт, зажёгши лампочку "АвОст" нельзя, прерывание, обработка, а что в ячейку результата писать? Ну и пишем NaN, Not a Numerics. То есть не "поделили, получив NaN", а не смогли поделить и оставили об этом отметку.