На что разделить число чтобы получился 0
Делить на ноль — это норма. Часть 2
В прошлой части мы расширяли алгебру и смогли делить на ноль арифметически. В качестве бонуса, способ оказался не единственным. Однако, все эти алгебры не дали ответа на вопрос: “Что там внутри или почему нам это не показывают?”
Пока древние вязали узелки, такой вопрос возникнуть не мог. Сейчас, куда не глянь, “бла-бла, для а≠0”. Значит ответ затаился где-то между узелками и настоящим. В математике все строго и последовательно, а значит и ответ не мог потеряться.
Мы попробуем приблизиться к ответу настолько близко насколько это возможно. Эта часть практически полностью посвящена философии арифметики. Скорее всего часть материала будет для Вас тривиальной. Однако у нас тут не повтор школьного курса арифметики.
Материал построен так, чтобы выделить структуру арифметики. Мы будем вгрызаться в нее с разных сторон и отрывать слои. Цель — понять, что на чем лежит.
2. Истина где-то рядом
2.1 Зачем вообще напрягаться?
Чтобы снова броситься в дебри, хотелось бы понять, почему этот вопрос периодически возникает и ради чего стоит искать ответ.
Давайте вспомним школьные годы, то время, когда нам впервые сказали: “На ноль делить нельзя, — вот так вот категорично. — Нельзя и все!”. А ведь до того в математике все было логично и последовательно. Складывали арбузы и вычитали дыни, яблоки перекатывали. Откуда не возьмись, на самом старте изучения математики, появился первый запретный плод.
Но система образования не щадит никого (пруф). Нет другого выхода, кроме как идти дальше и осваивать новые знания. В голове происходит “скачок знаний”, как будто тысячелетие эволюции математики было пропущено. И это только начало.
«… не нужно проявлять лишней поспешности, нужно дать время ученику освоиться с тем внутренним переворотом, который в нем совершается в результате акта познания”, — Ф. Клейн, “Элементарная математика с точки зрения высшей”
В старших классах, откуда ни возьмись, появляются формулы окружности и треугольников, дискриминант, тригонометрические тождества и т.п. Что их объединяет? Все они пришли сверху, совершенно неизвестно откуда. Их нужно просто использовать, в худшем случае зазубрить.
Оказавшись в ВУЗе, большинство, вместо возвращения к пропущенному материалу, изучает «вышку» с уклоном в специальность. Объем формул, пришедших свыше, уже совершенно не смущает.
Да, систему образования понять можно. Специалисту платят за результат, а не за то что он знает откуда экспонента в его расчетах.
В итоге мы не приходим к выводам, так как это делают математики. В момент “скачка знаний”, то есть когда мы отбрасываем часть логических цепочек, вершится таинство. Мы принимаем на веру то что нам говорят. Учебник превращается в священное писание!
Запрет деления на ноль — это первый и самый навязчивый запрет математики. Поэтому он запоминается на всю жизнь. Это так же педагогическая проблема, которая оставляет отпечаток на всю математику, как на “тайну покрытую мраком”. Это сложная проблема, по сравнению с ней найти большинство пропущенных логических цепочек не составляет труда.
Превратить священное писание назад в учебник можно. Причина запрета должна стать строго определенной. Задача педагогов преподнести ее ясно. Наука не должна сеять сомнения.
2.2 Что такое деление?
Деле́ние (операция деления) — одно из четырёх простейших арифметических действий, обратное умножению. Деление — это такая операция, которая считает сколько раз одно содержится в другом.
Похоже, самое полезное, что мы здесь нашли — это связь между операциями. Можно сказать что деление — вино третьего отжима, умножение и вычитание — второго, а сложение — первого. Возможно, именно по этой причине деление стало давать сбой при работе с нулем.
2.3 Порождающие операции
Итак, только операция сложения содержит правило о том, как по двум исходным аргументам (слагаемым) определить результат операции (сумму). Все остальные арифметические операции используют данное правило (соответствие чисел), но вдобавок накладывают свои “дополнительные условия”.
Определение результата операции, в общем случае, задача не тривиальная.
Все прямые операции обладают одним свойством. Они являются замкнутыми. То есть тип результата полностью определяется типами входных чисел (невозможно получить из произведения двух целых чисел дробный результат).
Обратные операции являются замкнутыми только частично (значение корня из целого числа может оказаться целым числом, а может и не оказаться). В тех случаях, где подобрать результат не удается операция оказывается не определена. Данную проблему издавна решают простым способом: рассматривают получившуюся запись операции и числа как новый тип чисел: .
Таким образом, можно сказать что обратные операции и “порождают” новые типы чисел.
Деление одна из порождающих операций. Возможно, в процессе рождения что-то пошло не так и новорожденный получил травму. Для того чтобы ответить на это вопрос нужно понять откуда взялось деление и откуда взялся ноль.
2.4 Эволюция арифметики
Попробуем структурировать наше представление об арифметических операциях и порождаемых ими типах чисел. Для наглядности представим один из вариантов, как может идти эволюция арифметики.
2.4.1 Область определения
Мы в пещере. С умением считать никто не родился. Однако в процессе “созерцания” появилось понимание, что такое понятие “количество”. То есть мы знаем что два мамонта и два яблока имеют нечто общее и можем это выразить, загибая пальцы. Соответственно ничего, кроме натуральных чисел на этом этапе мы не знаем.
Множество натуральных чисел помечено звездочкой “*” для однозначности. Здесь и далее подчеркивается отсутствие понятия “ноль”.
Есть несколько формальных определений последовательности натуральных чисел. Мы возьмем за основу аксиомы Пеано. Примечательно что эти определения не были описаны древними. Они появились только в 19 веке, а после прошли процедуру уточнения (в первоначальном варианте их было девять, в современном виде уже пять).
Рассмотрим формальные определения и их суть в рамках нашей задачи (традиционное словесное описание можно найти на Википедии):
Например. Для чисел 2 и 3, верно что между ними есть один средний элемент 2.5, для 3 и 4 это 3.5 и т.д. Делаем вывод, между любыми соседними натуральными числами есть средний элемент и он единственный.
Какой вывод можно сделать из этих аксиом? Вводится запрет на закольцованность в любом виде (глобальную или локальную). Запрет на закольцованность всегда требует наличие следующего элемента. Так появляется математическое понятие “бесконечность” основанное на понятии «количество”. Понятие “бесконечность” не может существовать без понятия „количество”.
Довольно часто за “стартовый элемент” в аксиомах Пиано берут ноль. Почему так делать нельзя, будет раскрыто при описании операции “вычитание” (уже совсем скоро).
Функция следования не использует операцию сложения в прямом смысле этого слова. Это фундаментальная функция, которая используется как для построения множества натуральных чисел, так и для формального определения операции сложения.
То есть и числа и арифметические операции определены при помощи функции следования.
Функция следования входит в класс примитивно рекурсивных функций, рассматриваемых в теории алгоритмов. Как известно, понятие рекурсия не содержит требования ее конечности (достижимости терминальных ветвей), а значит она так же неявно определяет понятие “бесконечность”.
2.4.2 Сложение
Первая операция, возникшая в ходе нашей эволюции. Как целые пальцы не загибай, результат будет целым. Разве что у вождя сумма пальцев может быть чуть больше чем у всех остальных. Если пальцев не хватает, всегда можно позвать научного ассистента по пещере и расширить разрядную сетку.
2.4.2 Вычитание
В четверг охотники подстрелили 12 мамонтов. За пятницу съели 5 штук. Сколько мамонтов осталось?
Задача хорошо решается путем введения разгибания пальцев. Но подход работает не всегда. Например, чтобы оценить запасы на выходные охотник загибает семь пальцев за остаток, разгибает пять пальцев за субботу (норма расхода в день) и “пытается” разжать за воскресенье.
В этот момент между “try” и “catch” возникает ArithmeticException. Результат оказывается не определен. Наша операция определена только для случая, когда уменьшаемое больше вычитаемого.
Однако определение вычитания не накладывает никаких ограничений. Чтобы избавиться от требования “a > b” введем “правило перестановки”. То есть позволим менять местами уменьшаемое и вычитаемое. Но чтобы тождество оставалось верным результат нужно пометить каким-то маркером, например знаком “минус”. Всякие маркеры для математики — дело обычное (например, признак отсутствия нуля у ).
За счет вспомогательной операции “перестановки” мы подошли к первой абстракции — “отрицательные числа”. Пометка в виде знака “минус” у натурального числа есть ничто иное как признак отложенного вычитания (но это только пока).
У нас остался всего один не определенный случай, когда уменьшаемое и вычитаемое равны. Если мы захотим определить его, то нам придется ответить на вопрос что такое понятие “ничто”. Хотя к чему все эти сложности, обозначим “ничто” символом “0” (позже вникнем по полной).
Осталось зафиксировать наше решение в виде “правил сложения/вычитания нуля”. Они следуют из определения нуля после пары нехитрых перестановок:
Посмотрим, насколько хорошо работают введенные правила. Решая уравнения, мы по двум известным числам всегда можем найти неизвестное третье. Совершенно неважно в какой части уравнения оно стоит, решение всегда однозначно.
Отрицательные числа появились в результате перестановки, ноль же заполнил “ничто”. Отрицательные числа и ноль рождены разными способами. Далее мы будем рассматривать две ветви эволюции: отдельно всех чисел без нуля и отдельно ноль.
2.4.3 Умножение
Умножение по определению является сокращенной записью сложения. Умножая натуральные числа, результат может быть только натуральным. На этом этапе эволюции для нас польза от определения заканчивается.
Для отрицательных чисел в определении нет ни слова о том как их перемножать. Эти правила сформировались постепенно в ходе решения прикладных задач. В современной трактовке они известны как дополнение к умножению в виде “правил знаков”. Они определены настолько хорошо, что применяя их к целым не нулевым числам, операция остается замкнутой.
В случае нуля ситуация отличается кардинально. Вводится еще одно правило “правило умножения нуля“ (умножение любого числа на ноль дает ноль). Но новым это правило только кажется. Ввести какое либо иное правило мы не можем. Определение умножения жестко связывает нас со сложением. Раскрывая умножение через сложение, мы используем “правила сложения/вычитания нуля”, соответственно ничего кроме нуля мы получить не можем.
2.4.4 Деление
Деление — операция обратная умножению. В уравнениях с положительными и отрицательными числами появляется возможность подстановки не кратных чисел.
Как следствие операция порождает “рациональные числа”.
Чтобы вписать их в арифметику, в комплекте идут “правила действий с обыкновенными дробями”. К счастью, эти правила гармонично сосуществуют с введенными нами ранее “правилами знаков”. В итоге в уравнениях сохраняется возможность определить по двум известным числам неизвестное при любой расстановке.
В случае нуля его можно умножать на рациональные числа. На этом всё, гармония закончилась! Только для двух из трех видов уравнений с произвольными числами решение может быть найдено.
Во-первых, появилась возможность составить уравнение с настолько не удобными числами, что мы не сможем подобрать ни одного решения. Решение “не возможно”.
Во-вторых, появилась возможность составить уравнение в котором есть бесконечное множество решений. Выбрать какое-то одно из них так же невозможно. Решение “не однозначно”.
Несложно догадаться, корень проблемы деления на ноль лежит в “невозможности” и “неоднозначности” умножения нуля. Умножение, в свою очередь, ретранслирует “правила сложения/вычитания нуля”. По сути можно задать уравнения, обладающие такими же свойствами, используя только сложение.
В обоих уравнениях нужно определить количество нулей, которые нужно сложить чтобы получить произвольное число или ноль.
Деление не привнесло чего-то качественно нового. Произошла трансформация “невозможности” и “неоднозначности” сложения в конкретные сущности, в неопределенности вида 1/0 и 0/0 соответственно.
Получается что деление, как первый подозреваемый, не виновато в том что на ноль делить нельзя.
Пока не существует понятия “ноль” все операции, включая возведение в степень и взятие корня (логарифмирование), хорошо замкнуты (уже правда на комплексных числах) и арифметика работает великолепно. Но есть одно “но”, при такой конфигурации арифметики операция вычитания, оказывается определена не полностью.
После введения нуля сложение и вычитание неплохо работает. Для остальных операций он скорее повод для установки костылей (), нежели равноправное число.
2.5 Что такое ноль?
Отсутствие породившей операции качественно отличает ноль от всех остальных чисел.
Для того, чтобы была ясна связь не рассмотренных нами типов чисел с операциями, продолжим, максимально кратко, тему эволюции. Мы остановились на делении. Комплексные числа и часть иррациональных порождаются операцией взятия корня (логарифмированием) над отрицательным числом. Прочие иррациональные (число Пи и число Эйлера) появляются за счет введения бесконечных сумм и бесконечных умножений. Мнимые единицы кватернионов даны по определению и не выведены арифметически. Соответственно, инородны в рамках эволюции чисел.
На последнем пункте стоит остановиться поподробнее. Попробуем представить не абсолютный ноль.
Допустим, у нас есть мамонт. Для его перевозки нужна тара. Если положить мамонта в тару, а потом вытащить, то в таре окажется “ничто” (прям как на картинке со спичкой выше). Однако тара для двух мамонтов несколько отличается от тары для одного. В случае кражи есть основание выставлять обвинение в соответствии с размером оставшейся тары. А значит, существуют ситуации когда одно “ничто” другому “ничто” рознь.
Может ли “ничто” быть разным или “ничто” есть единая и абсолютная сущность? Это вопрос на который невозможно дать ответ. Аналогичен и бессмысленен спор на тему есть ли Бог, а и есть то единый он или их много. Ответа на этом свете мы не узнаем.
Таким образом, на самом дне арифметики, там где не существует ни натуральных чисел, ни сложения (а значит и прочих операций), существует ноль.
Хорошо, ответа на вопрос сколько должно быть нулей арифметика дать не может. Мы пользуемся одним нулем. В колесах, рассмотренных в первой части, использовалась арифметика с бесконечным количеством нулей. А может ли быть конечное число нулей, но больше одного.
Может и такие арифметики успешно используются. Один из ярких примеров арифметика со “знаковым нулем”, реализованная в JavaScript.
Введение знакового нуля является еще одним вариантом расширения числовой прямой. В общей топологии существует очень близкое (но не тождественное) пространство “линия с двумя началами” (не хаусдорфово).
Однако и эта арифметика грешит неопределенностями.
Можно сделать вывод, что неопределенности в арифметике будут сохраняться до тех пор, пока количество нулей конечно.
По большому счету неважно как мы будем относиться к нулю. Нужен ли нам единый и абсолютный ноль, а может парочка или вообще бесконечное количество, арифметика всегда сможет под нас подстроиться.
2.6 Бесконечность наше всё
Напоследок, хотелось бы представить хотя бы один вариант числовой оси содержащей бесконечное количество нулей (данный пример описывает концепцию и не претендует на математическую строгость).
Для вычитания, когда уменьшаемое и вычитаемое равны, вместо ввода нуля определим операцию “сокращения”. То есть разрешаем вычеркивать эквивалентные выражения с противоположным знаком. Но если мы сократили все, то результат уже не пригоден к дальнейшему использованию.
Отсчет в числовой оси начнем с единицы (от первого числа зародившего понятие “количество”). Для генерации остальных чисел воспользуемся бесконечной последовательностью, определенной функцией следования (она же использована в аксиомах Пеано). Это будет наш эталонный генератор бесконечной последовательности.
Чтобы получить очень маленькое число при помощи функции следования нужно затратить столько же сил сколько и на генерацию очень большого. Используем функции f(x)=1/x и f(x)=x. Приводить в десятичный вид рациональную дробь задача не стоит, соответственно вычислительная сложность функций одинакова.
Так как ни “абсолютный ноль“ (отмечен символом ноль), ни »потенциальная бесконечность» (отмечена символом беззнаковой бесконечности) недостижимы, ось растет из единицы бесконечно в обоих направлениях (масштаб неравномерный).
При определении вычитания определено “правило перестановки”. Мы же, в свою очередь, делаем копию нашей прямой и отображаем ее зеркально. Числа-близнецы и недостижимые для них пределы помечаем знаком “минус”. Положительная прямая, не соединена с отрицательной. Переход из одной прямой в другую выполняется только за счет “правила перестановки”.
Для наглядности изобразим полученную числовую прямую в виде круга. Так же, как мы делали при проективном расширении. Однако, предельные значения не смыкаем (компактификацию не выполняем). Данная трансформация смысловой нагрузки не несет и выполнена только для улучшения восприятия.
Теперь мы готовы к самому главному. Выполним переход от единой потенциальной бесконечности к бесконечному множеству актуальных бесконечностей (аналогичный подход используется в нестандартном анализе).
Будем относится к бесконечно большим величинам как к полноправным числам. За эталонную актуальную бесконечность возьмем “скорость” с которой функция следования достигает любого произвольного числа. Обозначим это число . Не стоит его путать с потенциальной бесконечностью , она все так же недостижима.
Для получения различных актуальных бесконечностей будем использовать понятие предела функции при стремлении к числу . Мы не будем отбрасывать бесконечно малые (низшего порядка) и не будем поглощать константы бесконечно большими величинами, как это принято в классическом анализе. Мы будем сохранять всю информацию, составляющую число. Соответственно, у нас появляется возможность сравнения бесконечно больших чисел.
Возводя число в отрицательные степени, мы получаем бесконечно малые числа. По сути это и есть наше бесконечное множество нулей, которые можно сравнить между собой и использовать в арифметике (в отличие от бесконечно малой величины в классическом анализе).
С точки зрения общей алгебры, наша алгебраическая система, не является полем, так как отсутствует ноль (нейтральный элемент). Нестандартный анализ оперирует аналогичными актуальными бесконечностями, они называются гиперреальными числами. Ноль (нейтральный элемент) является одним из гиперреальных чисел. Соответственно алгебраическая система нестандартного анализа оперирует полем.
Наша эталонная бесконечность представляет собой одно из чисел нестандартного анализа. Однако, вместо упрощенного понятия “скорость”, в нестандартном анализе числами являются классы эквивалентности бесконечных последовательностей. Так как в нашем концепте все алгебраические операции можно выразить через функцию следования, значит любую актуальную бесконечность, образованную арифметически, можно выразить через .
По факту пределы практически перестают упрощаться, в том виде к которому мы привыкли. Сейчас мы просто производим замену переменной на . Правило Лопиталя так же не применимо. В первой части было показано как в классике, при определении производной, отбрасывается бесконечно малая величина. Однако стоит отметить, понятие предела в нестандартном анализе все же существует, но определено несколько шире.
Если возникнет практическая необходимость, можно определить операцию вычитания и для равных чисел (вместо “сокращения” определенного нами выше). Например, это может быть число низшего порядка, нежели исходные числа (аналог уравнения из колеса). Арифметика окажется замкнутой. Но нужно отдавать себе отчет, что сумма двух двоек тут же окажется равной четырем с хвостиком. Это чем-то похоже на сложение скоростей в теории относительности. Еще один пример, термодинамика и понятие абсолютного нуля температуры. Остановив молекулы, атомы продолжают движение. Остановив атомы, кварки все еще двигаются и т.д. Погружение бесконечно.
Эпилог
Мы находимся между прошлым и будущим, между микро и макро миром. Во всех областях рано или поздно мы находим предел за который мы не сможем зайти и это нормально.
В математике все не так. Нам говорят что ноль — это число. Затем ставят его в один ряд со всеми остальными числами. Затем нам говорят, длина пути от минус единицы до единицы равна двум. И в этот момент наше сознание окончательно растворяет ноль среди остальных чисел.
Мы не можем делить на ноль, потому что забыли что однажды смешали понятие “ничто” и понятие “количество”.