
Почему запрещают делить на ноль в школьных учебниках мне было ясно: их авторы не хотят грузить детей той математикой, которая им не по зубам. Так в начальной школе могут научить, что нельзя из меньшего числа вычесть большее, например, из 7 нельзя вычесть 9, но в средней уже всё прекрасно вычитается, и получаются отрицательные числа: 7 – 9 = –2. Калькуляторы могли вычитать бóльшие числа из меньших, но выдавали ошибку в случае деления на ноль. В то же время калькуляторы выдавали ошибку, если я пытался возвести очень большое число в квадрат. Но это же не означало, что натуральные числа конечны и существует «самое большое число», к которому уже никак нельзя прибавить ещё единицу. Очевидно, что в калькуляторах было запрограммировано максимальное отображаемое число. Как мне было не предположить, что их нежелание делить на ноль – это столь же искусственное ограничение, заложенное не математикой, а разработчиками калькуляторов.

Помню, как в своё время меня поразило наблюдение, что когда мы делим единицу на всё уменьшающиеся по модулю числа, результат становится всё больше и больше: 1 / 0,01 = 100, 1 / 0,001 = 1000, а 1 / 10–100 = 10100. Я уже знал, что в математике есть понятие бесконечности, обозначаемое красивым значком ∞ в виде восьмёрки, повёрнутой на угол π/2. И мне казалось абсолютно логичным заключить, что при уменьшении делителя до нуля частное увеличится до бесконечности: 1/0 = ∞. Всё просто: учебники и калькуляторы боялись бесконечности. И я пребывал в уверенности, что наконец умею делить на ноль, пока не познакомился с понятием предела и попытался понять тонкое различие между фразами «равняется» и «в пределе стремится к». От моей уверенности не осталось и следа.
У меня оставалась надежда, что если деление на ноль не бесконечность, то какое-нибудь другое, «обнулённое» число. Я продолжал верить в способность математиков доставить из математической вселенной новые сущности как кроликов из шляпы Фибоначчи. Выдумали же, что «невозможный» квадратный корень из отрицательного числа –1 – это всего лишь мнимая единица i. Почему бы и с делением на ноль не заявить, что 1/0 = некоторому числу ξ' с такими-то и такими-то свойствами? Краем уха я слыхал о некоей «теории колеса», которая обещала объяснить и включить деление на ноль – не это ли тот грааль, который я ищу?

Итак, нам надо решить уравнение 1/0 = x, выглядящее как задача на уровне начальной школы. Вариант, что на ноль делить нельзя, ни в каких обстоятельствах и ни в каких числах, я считал обидным для математического сообщества, которое на каждое хитрое уравнение найдёт свой корень с индексом. Варианты, что 1/0 = 0 или 1/0 = 1, я отвергал, как слишком простые. Если бы так можно было, об этом рассказывали бы во втором классе. Заманчиво, но опасно выглядел вариант, что 1/0 = ∞. И, в худшем случае, приходилось признать, что разделив на ноль, мы перенесёмся в область совершенно новых и необычных чисел, где можно для начала заявить, что 1/0 = колесо, а потом уже разбираться, с чем это колесо едят. Один из этих вариантов должен быть правильный, но какой?
Я попробовал разобраться на бытовом примере. Начнём с деления, которое мы знаем, как осуществить. Нам надо разделить семь колец среди семи драконов, сколько колец получит каждый дракон?

Любому хоббиту понятно, что 7/7 = 1, по одному кольцу.
Мы настолько ловки в математике, что можем разделить и ноль колец среди 7 драконов.

Тогда каждому дракону достанется 0/7 = 0 колец, то есть ничего не достанется.
А теперь допустим, что 7 колец у нас есть, а драконов не существует, если разделить 7 колец среди нуля драконов, сколько колец достанется каждому дракону?

И здесь я завис. Такое впечатление, что сама природа не терпит деления на ноль. Но в математике же всё никак в жизни. Она оперирует не бытовыми, а абстрактно-фантастическими понятиями. Если у вас было 7 колец и дракон украл 9 из них, сколько колец у вас осталось? Ни одного? А вот и нет! Математика говорит, что у вас осталось 7 – 9 = –2 кольца. Вот когда вам дракон вернёт два кольца, тогда у вас ничего не останется. Почему же математика не может придумать аналогичную лазейку с делением на ноль?
Если королю надо разделить королевство между семью сыновьями – это проблема политическая. А если ему надо разделить то же королевство между нулём сыновей – это проблема совсем другого порядка, не только политическая и семейная, но и математическая.

Король вызвал главного придворного математика и приказал ему разрешить загадку деления на ноль, если тот хочет сохранить своё тёплое местечко.

Мудрец начал рассуждать так:
«Если мы разделим одно королевство на ноль сыновей, то мы получим некий х.
1/0 = х.
Умножим обе части этого равенства на 2: мы же можем себе такое позволить.
2 * 1/0 = 2 * х
2/0 = 2х
Теперь в дроби, стоящей в левой части, разделим и числитель, и знаменатель на 2 или, что то же самое, умножим на 1/2.
(2/2) / (0/2) = 2х
1/0 = 2х
Но мы начали с того, что 1/0 – это х.
х = 2х.
Разделим обе части этого равенства на х, и получим, что 1 = 2. Хм… Нехорошо получилось».
– Это же ересь, без суда понятно, что ересь, – разозлился король. – Что же получается: если начать делить королевство на ноль, то всё позволено? Единица станет равной двойке, а последний крестьянин равен королю?
Временно исполняющим должность главного придворного математика король назначил своего казначея. Кто как не он должен уметь манипулировать с числами, чтобы каждый раз получать удобный для короля результат.

Казначей для начала заметил:
«Деление представляет собой последовательное вычитание, аналогично тому, как умножение есть последовательное сложение. Вопрос “Сколько будет 2 х 3?” эквивалентен тому, чтобы спросить “Сколько получится, если к нулю три раза прибавить число 2?”:
2 * 3 = 0 + 2 + 2 + 2 = 6.
А “Сколько будет 6 / 2?” тогда эквивалентно вопросу “Сколько раз надо вычесть число 2 из 6, чтобы получить 0?”:
6 / 2 = 6 – 2 – 2 – 2 = 0.
Три раза. Поэтому 6/2 = 3.
Чему же тогда будет равно 6/0? Тому, сколько раз надо вычесть ноль из шести, чтобы получился ноль. Начинаем вычитать: 6 минус 0, равно 6. Минус 0, минус 0. Трёх раз, как видно, недостаточно. Продолжим, минус 0, минус 0…»
6 – 0 – 0 –… – 0 = 6.
Казначей начал подозревать, что вычитать ноль из шести можно бесконечно много раз, и так и не достигнуть нуля, и очень этому факту обрадовался. Получается, что деление на ноль не число, а процесс. И этот процесс обещал быть долгим и обеспечить его непыльной бюрократической работой при дворе в качестве главного делителя на ноль. Лишь бы за неё вовремя платили зарплату. А там или он помрёт, или король.
Но знаете, что не было бесконечным? Королевское терпение. После сотого вычитания король спросил:
– По этому алгоритму 0 / 0 = 0, потому что из нуля не надо ни сколько раз вычитать ноль, чтобы получить ноль. Так ли это?
– О, ваше величество, вы очень наблюдательны, – ответил казначей, прервав свои вычитания. – Точно так же определил деление нуля на ноль индийский математик Брахмагупта, который в 7 веке нашей эры одним из первых признал ноль за отдельное число. Умные были эти древние математики, не чета нынешним.
И казначей насмешливо посмотрел на бывшего главного придворного математика.

Но от короля последовал новый вопрос:
– И как этот Брахмагупта делил 1 на 0?
– Никак, ваше величество. Он определил результат деления положительного или отрицательного числа на ноль как дробь с нулём в знаменателе.
– Через это мы уже проходили, – сердито сказал король. – Кончайте ваши глупости с вычитанием, вы так до утра не дойдёте до нуля.
После того, как второй придворный мудрец остался с нулём, во дворец пригласили стороннего эксперта. Седобородый глава Гильдии Математиков предложил подойти к проблеме графически с привлечением основ матанализа и начал объяснять как можно понятнее:

«График функции y = 1 / x при приближении к x = 0 справа улетает в высь, по направлению к «y равняется очень-очень большому числу» или y = +∞.

С этим графиком существует одно наивное объяснение, почему якобы нельзя делить на ноль. Посмотрите сами: график функции y = 1/x состоит из двух ветвей гиперболы. Одна находится в области положительных значений, где по мере того, как мы приближаемся к нулю справа по оси абсцисс, значение функции уходит в плюс бесконечность. А вот если мы проделаем тот же трюк с левой ветвью того же графика, в области отрицательных значений, то при приближении к нулю слева мы резко уходим вниз к y = –∞. И я однажды слышал “объяснение”, что раз пределы при приближении к нулю справа и слева не совпадают, то предела не существует, то есть существуют два разных односторонних предела, и поэтому делить на ноль нельзя. Ха-ха-ха!

Если бы дело было только в знаке бесконечности, к которой мы стремимся, то мы могли бы взять другой график, например y = 1 / x2:

Или, что ещё проще, y = 1 / |x|.
.png)
Здесь значения функции только положительны, и при приближении к x = 0 что справа, что слева, значение функции y стремится к +∞. Значит ли, что на ноль мы делить не можем, а вот на ноль в квадрате или на модуль нуля – пожалуйста, и мы получим +∞?
Нет, не значит. Проблема не в том, что предела не существует. При желании мы можем записать, что предел 1/x при x, стремящемся к нулю, есть беззнаковая бесконечность ∞ или ±∞.

Отвлечёмся на минуту от вопроса, что это за зверь «бесконечность» и почему она является не числом, а философской концепцией. Проблема в самом определении предела. Мы получаем бесконечность, когда делим 1 на число очень-очень близкое к нулю, но не на сам ноль. Я не хочу клеветать на математический анализ. Он очень полезен для раскрытия некоторых неопределённых форм. Если мы рассмотрим пределы других функций, чей знаменатель стремится к нулю при x → 0, мы можем получить самые разные значения: ноль, единицу, бесконечность:

Нет же ничего удивительного в том, что даже очень маленькое по модулю число, разделённое на само себя, даст единицу? Но предел функции – это всего лишь предел. Функция y = 1/x не непрерывна в нуле, поэтому мы можем описать поведение функции сколь угодно близко к нулю, но не в самом нуле. Здесь в нуле, вне области определения функции y = 1/x, математический анализ оказывается бессилен».
Глава Гильдии Математиков умолк и развёл руками, а король воскликнул:
– Воистину, если бог создал всё, то кто создал ничего, то есть ноль? Дьявол! Неужели в этой стране не найдётся никого, кто мог с ним совладать и разделить единицу на проклятый ноль?
Слово взял королевский астролог, хитрец и льстец.

Помня о судьбе первых трёх мудрецов, он сразу сказал: «На ноль делить можно! Говорят, что чёрные дыры – это места, где боги поделили на ноль».
И, завладев всеобщим вниманием, астролог продолжил:
«Если на нашей числовой оси нет числа, которое бы отображало результат деления на ноль, его надо добавить. Обозначим его ∞ и назовём его “королевская бесконечность”, потому что всё могут короли, даже делить на ноль. Для этого ось действительных чисел надо изогнуть так, что за самым-самым большим числом будет идти ∞, и за самым-самым маленьким числом будет идти та же ∞. Налево пойдёшь, придёшь в ∞. Направо пойдёшь, придёшь в ∞.

Числовая ось из бесконечно длинной прямой замкнулась в окружность, которую мы назовём проективно расширенной числовой прямой. Она всё ещё содержит бесконечно много чисел: все вещественные числа, которые были на оси, плюс новое число ∞. А если бы мы оперировали комплексной плоскостью, то четыре прямые, уходящие из нуля соответственно в сторону 1, –1, i и –i, замкнулись бы в новой точке ∞ в сферу Римана. Какая красота.

Такой процесс ещё называется одноточечной компактификацией. И в этом случае мы можем смело утверждать, что 1/0 строго равно ∞».
– А чему тогда равно 2/0? – не менее строго спросил король.
– Тоже ∞.
– А если тоже ∞, то не получится ли, что 1/0 = ∞ и 2/0 = ∞; 1 = ∞ * 0 и 2 = ∞ * 0. Не придём ли мы к той же ереси, что 1=2?
– Нет, о король, – ответил хитрый астролог. – Разве из того, что 22 = 4 и (–2)2 = 4, следует, что 2 = –2? И как мы не можем по четвёрке однозначно предсказать, какое число было возведено в квадрат, положительное или отрицательное, так и мы не можем по ∞ предсказать, какое число было разделено на ноль. Деление на ноль в нашей системе – особая функция, у которой нет обратной к ней операции.
– У нас было, что каждое число, умноженное на ноль, даёт ноль. Значит ли, что ∞ * 0 = 0?
– Э-э-э, не совсем, – ответил мудрец. – Выражение ∞ * 0 остаётся не определено, как и 0/0, ∞/∞, ∞ + ∞, ∞ – ∞ и…
– Хватит! – закричал рассерженный король. – Я вижу, что мы научились делить на ноль, но разучились на него умножать. Правы были математики древности, которые боялись бесконечности не меньше нуля и драконов. У вас вечно, если можно одно, то нельзя другое, а если всё можно, тогда 1 = 2, и любой крестьянин не хуже придворного мудреца.
С этими словами во дворец зашёл простой крестьянский парень, который нёс с собой огромное деревянное колесо.

Он рассказал, как чинил под городской стеной телегу и услышал, что король никак не может разделить на ноль. Тогда он решил подсобить своему монарху и в процессе починки телеги придумал новую алгебраическую структуру под названием «колесо». Для этого помимо элемента 1/0 = ∞, предложенного астрологом, добавлялся ещё один нижний (или народный) элемент ⊥ = 0/0, который служил осью для обода из проективно расширенной числовой прямой.
.png)
Парень объяснил, что отныне x – x ≠ 0, а x – x = 0x2 и что x / x больше ≠ 1, а x / x = 1 + 0x / x. На словах «заменим бинарный оператор деления, обратный к умножению, на унарный оператор с одним аргументом» король попросил не выражаться. Он велел выдать крестьянину пару золотых за попытку и старания и отправил его чинить телегу дальше.
– Может быть крестьяне не хуже мудрецов, – заключил король, – но и не лучше. Мудрецы хотя бы понятнее объясняют. Мне надо упростить существующую математику, а не усложнить её. Если люди не могут решить мою загадку, то может быть помогут машины?
С этими словами король велел позвать королевского программиста, чтобы тот принёс в тронный зал главный королевский компьютер.

Когда программист и компьютер предстали перед королём и выслушали, что от них требуется, программист спросил компьютер на языке Java: «int x = 1; int y = 0; сколько будет x / y?» Самый большой компьютер подумал-подумал и вылетел, выдав ошибку деления на ноль.

И только король нахмурился, спросив, нет ли в королевстве другого компьютера поумнее, как программист вспомнил, что надо задать вопрос не в целых числах, а в так называемых числах с плавающей запятой, у которые свои инженерные стандарты. На этот раз компьютер напечатал, что 1/0 равняется +Infinity, то есть той же +∞, от которой король успел отказаться. А –1/0 или 1/–0.0 равняются –Infinity.

Тогда король задал компьютеру свой коронный вопрос, чему равно 0/0, и компьютер ответил, что получится NaN (Not-a-Number) или по-русски «нечисло».

– Что такое нечисло?
– Некий новый объект с частью математических свойств определённых, а частью неопределённых. Например, «нечисло» не равно никакому другому числу, включая самого себя NaN ≠ NaN.
– А сколько будет 0 * ∞?
– NaN .
– А сколько будет 1/0 – 1/0?
– NaN .
Последний ответ особенно возмутил короля. Как так: мы вычитаем одно и то же выражение из себя самого, а получаем «нечисло». Что-то здесь нечисто.
– Унесите компьютер, – приказал король. – Можно заставить машину делить на ноль, но что делать с полученным мусором?
– Компьютер не виноват: он выдаёт только то, чему его научили люди, – раздался спокойный женский голос.

Король обернулся и увидел, как девушка, стоявшая всё это время в тени, сняла капюшон и сказала:
«Меня зовут Изабель, я представитель Ордена формальных доказательств. Мы создаём доказательства математических теорем на языке, который компьютер может проверить на отсутствие логических и лингвистических ошибок, столь свойственных языку человеческому, на котором те же теоремы доказывались у вас в школе.
В чём главная загадка деления на ноль? Если деление обратно умножению, то процедура обратная делению на ноль есть умножение на ноль. Мы знаем, что все числа, будучи умноженные на ноль, дают ноль. Поэтому кажется, что только выражение 0/0 имеет смысл, но и оно представляет собой неопределённую форму (indetermined). Как показал мой коллега из Гильдии Математиков, эта форма в пределе может быть сведена к любому числу. Выражение 1/0 при этом полностью не определено (undefined). Что это означает? В той формальной системе, в которой мы работаем, нельзя найти его значение. Мои коллеги пытались перейти от реальных чисел к «нереальным», но при этом им приходилось жертвовать некоторыми свойствами реальных чисел. Если жертвовать всё равно придётся, не проще ли переопределить саму процедуру деления, не изобретая новых чисел?
Что есть деление? Умножение на элемент обратный делителю. Деление на 2 есть умножение на 1/2, не так ли? Поэтому деление на ноль есть умножение на элемент обратный нулю: N / 0 = N * 1/0. Нам осталось только определить, чему 1/0 равно. Для формальных доказательств теорем оказалось удобным принять, что 1/0 = 0, каким бы странным этот шаг ни казался. Признание нуля как отдельного числа тоже когда-то казалось странным. И тогда N / 0 = N * 1/0 = 0. Все числа, делённые на ноль, есть ноль. Зачем нам это? Ради упрощения некоторых утверждений, где в случае дробей проверка, что их знаменатель не равен нулю становится необязательна. Например, при умножении дробей (a / b) * (c / d) = ac / bd мы раньше должны были явно обговорить, что эта операция верна, только если b ≠ 0 и d ≠ 0. Но если N / 0 = 0, то пусть b или d будут нулём, выражение (a / b) * (c / d) = ac / bd само сведётся к 0 = 0 без ограничений на значения b и d».
– Но чему тогда равно 0 * 0? – встрял король. – Если 1 / 0 = 0 и 2 / 0 = 0, то не получится ли тогда…
– Не получится ли тогда у нас тривиальное кольцо R = {0}, 0 / 0 = 0, в котором все элементы равны друг другу, потому что элемент всего один и он равен нулю? – переспросила Изабель. – Не получится. После определения 1/0 = 0, 0 * 0 останется равным 0, а не 1 или 2. Мы потеряли обратимость деления в случае деления на ноль, но это не такая большая жертва по сравнению с выдумыванием новых чисел и сущностей. Тем более, что раньше мы делить на ноль вообще не могли.
– Тогда получается, что деля моё королевство на ноль, я останусь ни с чем?
– Получается.
Все замолчали, и король впал в печальную задумчивость. И тут королевский шут запел песенку:

Один король делил на ноль,
Никто не знал отгадки.
Любым числом ответь изволь,
Корону спрячь в остатке.
– Как это «корону в остатке»? – очнулся король. – Разве вы не знаете определения остатка от деления? – спросил шут. – «Делимое = частное * делитель + остаток». И вы не будете спорить, что:
1 = (любое число) * 0 + 1
1 = 0 + 1
1 = 1.
Значит, результатом деления 1/0 будет любое число, например, 42, а единица, с которой мы начинали, останется в остатке. Я всю жизнь так делю на ноль безо всяких колёс и переопределений.
***
Вот к такому выводу я пришёл, изучив доступные моему пониманию материалы о делении на ноль. Мой брат математик, который сам много работал над формальным доказательством теорем, принимает, что 1/0 = 0, а меня что-то смущает. Если бы строгий учитель или, что хуже, любопытный ученик спросил меня, чему равно 1/0, я бы всё равно ответил, что в арифметике эта операция не определена. Но если очень хочется её определить, то существует непустое множество математиков, которые определяют её как 1/0 = 0.
Если кольца существуют, а драконы нет, то каждый несуществующий дракон получит ноль колец. Но они не рассердятся, потому что как могут рассердиться те, кого не существует.

А вы что думаете? Научилось человечество к 21 веку делить на ноль? А если нет, то научится ли когда-нибудь?