распухший ноль у математиков считается идеалом.
диалог Алисы с папой-математиком

от мэтра хахама


- Пап, а почему на ноль делить нельзя?
- А зачем это надо?
- Ну как это? На все числа делить можно, а на ноль нельзя. Чем он такой особенный?
- Ну ладно, давай по порядку. Что такое вообще число?
- Ну ты даёшь! Это же мы в первом классе проходили: 1,2,3,4 и так далее.
- А как далее? В сутках 86400 секунд, считая по числу в секунду, ты до завтра не досчитаешь до ста тысяч, за год - до 50 миллионов, за сто лет - до 5 миллиардов. Конец какой-то этому всему будет? Ведь нет же самого большого числа - всегда можно к предыдущему прибавить ещё единичку и увеличить его. Над этим задумывались Эвклид и Архимед, и как им ни страшно было, пришлось им признать, что чисел не просто много, а бесконечно много. Так с чего мы начинали? Почему на ноль делить нельзя? А что такое ноль? Ну, и чтоб два раза не вставать, а что, на четыре всегда делить можно?
- Ну вот смотри, берём яблоко и делим его на четыре части ножом…
- Ты жульничаешь. Если я разрежу яблоко на части, оно перестанет быть яблоком.
- А чем же оно станет?
- Множеством яблочных долек. Согласись, ведь долька - не яблоко.
- Множество - это когда чего-то много?
- Не обязательно. Иногда удобно считать, что множество состоит из единственной дольки, и есть даже пустое множество, в котором нет ничего. Заметь занятное свойство: пустое множество яблочных долек, пустое множество кусков пиццы и пустое множество семиглавых грифонов, - одно и то же множество: мы их никак не можем отличить. Но это так, к слову.
- Так что, мы заменили яблоки дольками, назвали дольки дробями - и всё?
- Почти. А на три части ты ножом яблоко сможешь разрезать? Как разрезать яблоко на три части? Проще всего разрезать взмахами ножа яблоко на 6 маленьких долек, и выдать каждому из трех человек вместо одной большой по две маленьких дольки.
- Постой, этак получается, что нам кроме просто дробей понадобятся маленькие дроби, потом совсем маленькие дроби, - и мы так никогда не доберёмся до конца?
- Слава богу, нет. Мы уже один раз решили для себя, что у нас обычных ("натуральных") чисел - бесконечное множество, и то, что мы не можем их все сразу написать, не должно нас останавливать. Давай добавим к этому множеству чисел-яблок множество (тоже бесконечное) дробей-долек. Мы примерно знаем, как они выглядят, осталось только выписать на бумажке перечень свойств, чтоб вместо яблок можно было подставить груши, а смысл происходящего при этом не изменился.
Определение. Дроби - это множество "долек", содержащее в себе все (натуральные) числа-"яблоки" и такие, что каждая дробь после умножения на подходящее число ("едоков") становится целым числом ("яблок").
- И всё?
- Почти. "Всё не так просто", как говаривают в интернетах. Во-первых, мы вдруг заговорили об умножении. А что это такое?
- Пап, ты за своё. Второй класс, а я уже в шестом.
- Ну тогда скажи, что такое умножение.
- Это… это… это таблица такая, на обложке тетради напечатана. Семью восемь - пятьдесят шесть, трижды семь - двадцать один, я её всю наизусть помню.
- Умница, дочка. Если меня спросят, что такое съедобные вещи, я тоже скажу: на завтрак, обед и ужин мы едим только съедобные вещи.
- А чего ты от меня хочешь?
- Вернуться немного назад, к таким простым и понятным натуральным числам. Ты помнишь, с чего всё начиналось? Мы считали: 1,2,3,4,… - т.е., договорились о том, как называть число, следующее за любым данным. Никакого сложения там сначала не было. А без сложения плохо: если у тебя в корзине 5 яблок (пересчитали, убедились), а у меня в рюкзаке 25 (на, считай!), то чтобы узнать, сколько яблок у нас с тобой вдвоём, по-хорошему надо было бы вывалить их все на стол и пересчитать заново. Не нужно было быть семи пядей во лбу, чтобы сообразить, что ответ не будет зависеть от того, в каком порядке (сначала твои, потом мои, или вперемешку) мы будем считать. Так мы приходим к понятию арифметической операции: есть два числа, мы что-то делаем с ними и получаем третье число. Назовём операцию "сложением" и будем её обозначать знаком "плюс". Какими свойствами этот плюс обладает? Проще всего объяснить, что такое "плюсодин". "Плюсодин" к числу А означает число, следующее за А в процессе счёта. "Плюсодин" к тройке - четвёрка, "плюсодин" к семёрке называется восьмёркой. "Плюсодин" к ста - сто один. Не бог весть какая премудрость. А что такое "плюсдва"? Это "плюсодин" и ещё раз "плюсодин". Что такое "плюстри"? Это "плюс два" и потом "плюсодин", потому что тройка следует за двойкой.
- ???
- Не смотри на меня такими круглыми глазами. Всё, что я хотел сказать, - это то, что операция сложения "спрятана" внутри процесса счёта. Я помню, как вы мучились с примерами на сложение в первом классе, - так вот, на самом деле вы учились не складывать, а запоминать имена чисел, сначала в первом десятке, потом в первой сотне. Сколько раз надо сказать "плюсодин", чтобы тройка стала семёркой? Что будет, если пять раз сказать "плюсодин" двойке? А потом вы привыкли, и позже вас научили складывать числа в столбик, и вам стало наплевать, откуда что взялось.
- Ты хочешь сказать, что и с умножением та же история?
- В точности. Если сложение - это многократно повторённое "плюсодин", то умножение - это многократно повторённое сложение. Что такое трижды семь? Это 7+7+7. Что такое семью три? это 3+3+3+3+3+3+3. Подумай, кстати, почему результат один и тот же.
- А откуда берутся правила действия с дробями? Я знаю, что за тройкой следует четвёрка, за семёркой - восьмёрка. А какая дробь следует за дробью 3/7? неужели 4/8? Что-то мне это не нравится…
- Правильно не нравится. Зачем нам понадобилась операция "плюсодин"? Чтобы объяснить, что такое сложение и умножение натуральных чисел, которые мы обозначили буквой ℕ. Значит, мы теперь можем пользоваться обозначениями ℕ, +, * без опаски. Эти операции обладают простыми и полезыми свойствами, которые вам рассказывали в младших классах: какие бы ни были натуральные числа а,х,у, всегда х*у=у*х, х+у=у+х, х*0=х. Если мы хотим применить не одну операцию, а несколько, то там тоже есть полезные свойства: (х*у)*а=х*(у*а) и (х+у)*а=(х*а)+(у*а). Все эти равенства суть маленькие теоремы, и могут быть строго доказаны, исходя из наших определений сложения и умножения. Но вы узнали про эти свойства гораздо раньше, чем услышали слово "теорема", поэтому если я начну сейчас их доказывать, тебе покажется, что я переливаю из пустого в порожнее, - какой смысл доказывать очевидное? Поэтому оставим доказательства. Ты, кстати, понимаешь, что означают скобки? Это всего-навсего указание на то, в какой последовательности выполняются действия. Вас учили, что умножение всегда "сильнее" сложения и если никаких скобок не стоит, то надо сначала выполнить все умножения, а только потом - сложения. Это как раз никакая не теорема, а просто условное соглашение, - типа правила очередности проезда на перекрёстке, где не стоит никаких знаков.
- Ну хорошо, а как быть с правилами действия с дробями? Откуда они берутся?
- По наследству. У нас есть целые числа с операциями (ℕ,+,*), "яблоки". Мы расширяем множество "яблок" до множества "долек" D, на котором определены две операции с теми же свойствами, которые мы будем обозначать теми же значками. Что значит, что x является "долькой"? Это значит, что после умножения на некоторое целое число q из него получится целое число p. Ты про уравнения слыхала? Так вот "дольки" - это решения всевозможных уравнений вида q*x=p. Если p случайно делится нацело на q, то "долька" на самом деле - целое число, поэтому ℕ - подмножество в D. Как перемножить две "дольки"? Пусть одна из них задаётся уравнением q*x=p, а другая - уравнением b*y=a. "Перемножим" уравнения, помножив друг на друга отдельно левые и отдельно правые части и приравняв результаты. Получится уравнение, которое можно записать в виде (q*b)*(x*y)=p*a. Это такое же "дольковое" уравнение для произведения x*y. Кстати, уравнение, которому удовлетворяет каждая долька, никогда не бывает единственным: если q*x=p, то и (a*q)*x=a*p при любом натуральном числе a. Об этом надо помнить. Ты привыкла записывать "дольки" при помощи дробной черты, горизонтальной или косой (между ними нет никакой разницы). "Равенство" x=p/q означает (обозначает!), что "долька" x удовлетворяет уравнению q*x=p и ничего больше, а "правило сокращения" p/q=(a*p)/(a*q) есть не более, чем неединственность уравнения с заданным решением.
- Ну хорошо, а как со сложением дробей? Почему нельзя складывать числитель с числителем, а знаменатель со знаменателем?
- Со сложением чуть больше возни, но смысл примерно тот же. Есть уравнения для икса отдельно, для игрека отдельно. Как написать уравнение для их суммы? Это небольшой трюк. Пусть b*x=a, q*y=p. Умножим первое уравнение на q, второе - на b и сложим их. Получим (q*b)*x+b*q*y=(q*a)*(b*p). Осталось заметить, что левая часть раскладывается на множители (b*q)*(x+y). Иными словами, мы написали уравнение для суммы "долек" в виде B*(x+y)=A, где B=b*q, A=(a*q)+(b*p). Записать такую "дольку" с помощью дробной черты сможешь? Узнаешь знакомый ответ?
- Пап, мы уже час с тобой разговариваем, а на мой вопрос ты ответа так и не дал. Почему на ноль делить нельзя?
- А где ты, киса, тут ноль видишь? В нашем множестве долек любую дольку можно сложить или помножить на любую, а также любую дольку поделить на любую (мы это не доказали, но легко видеть, что это так). Полное равноправие, всё справедливо. Мы раньше дробную черту использовали только для обозначения "долек", т.е., в числителе и в знаменателе разрешалось писать только натуральные числа. Но на самом деле можно использовать её и для обозначения деления дольки на дольку.
- Вот скажи, что такое деление, о котором мы столько говорили?
- Ну, это операция, обратная умножению: если a*b=c, то c/b=a.
- А где же ноль? Он же есть, я знаю!
- А ноль и отрицательные числа - это по отдельному спецзаказу. Если ты захочешь вычитать.
- Хочу вычитать!
- Ну, теперь ты сама знаешь, что делать. Давай для простоты начнём снова с натуральных чисел ℕ. Попробуй сама.
- Ну, вычитать - значит, по результату сложения и одному из слагаемых найти второе.
- Правильно. А уравнение слабо написать?
- Снова с иксом? Да пожалуйста: x+b=a
- А как насчёт решения?
- Ну, если b меньше a, то надо просто начать прибавлять к b по единичке ("плюсодин"), пока не получится a.
- А почему это когда-нибудь произойдёт?
- Потому, что прибавляя по единичке, мы когда-нибудь получим ооо-чень большое число, больше, чем a. А значит, мы по дороге должны были получить в точности a.
- Ты не представляешь себе, сколько глубоких свойств натуральных чисел используется в этом рассуждении. Но тут уж придётся подождать до университета. А пока давай учиться вычитать. Ну, как и с делением, придётся какую-нибудь черту использовать, чтобы обозначить решение уравнение. Раньше мы дробную черту использовали, давай в этот раз маленькую чёрточку использовать. Будем писать, что x=a-b, если икс удовлетворяет уравнению x+b=a. Отлично! А какими ещё свойствами обладает этот "минус"? Поскольку к обеим частям уравнения можно прибавить одно и то же натуральное число c, то (a+c)-(b+c)=a-b. Это ведь как сокращение дробей, правда?
- Правда. А теперь, значит, надо научиться решать уравнение x+b=a в остальных случаях, когда a меньше, чем b.
- Ты ничего не забыла?
- Ах да, ещё может быть, что a=b
- А такое уравнение решается? В натуральных числах - нет. Дай я тебе подскажу. Давай обозначим решение уравнения x+b=b специальным значком. Ну, например, кружочком, будем писать О.
- Это и есть ноль?
- Да, но пока мы про него не всё поняли, давай всё-таки будем осторожны, чтоб не свалиться в логическое противоречие.
- А какие тут логические противоречия?
- Ну например, если мы возьмём другое уравнение, x+a=a. Его решением будет тот же самый кружочек?
- Вроде да. Если, например, a меньше b, то мы можем взять уравнение x+a=a и прибавить к обеим частям число b-a. Получится уравнение x+b=b, а икс остался тем же самым.
- Умница. А как сформулировать свойства нашего кружочка без уравнений?
- Фигня вопрос. Если кружочек решает уравнение x+a=a при любом а, значит, всегда a+O=a
- А теперь смотри, как можно быстро объяснить, почему "число" с такими свойствами в самом деле единственно. Предположим, было бы их два, О и о. Сложение с каждым из них не меняет ничего, значит. сумма О+о с одной стороны равна О, с другой - о. Значит, О=о. Теперь самое время обозначить, наконец, специальным значком 0 что число, назвать его нулём и перестать притворяться.
- Это тот самый ноль, который мы пишем в числе 100?
- Тот самый. Запись 100 означает число, в котором одна сотня, ноль десятков и ноль единиц. А запись 1020 означает… впрочем, это какой там класс, второй или уже третий?
- Так, а что с уравнением x+b=a, если а меньше, чем b?
- Вычти из обеих частей a. Что получится?
- Уравнение x+c=0, где c=b-a - какое-то "обычное", натуральное число.
- Давай воспользуемся ещё раз обозначением "чёрточка"-минус, и будем писать, что в этом случае x=0-c. До сих пор это выражение было бессмысленным, а сейчас мы добавили новый элемент к множеству натуральных чисел и нулю, чтобы сделать уравнение разрешимым. Если хочешь, можешь называть это "античислом", или "анти-с", если быть точнее. Почему? да потому, что если сложить с и "анти-с", то получится как раз ноль, всё исчезнет. Обозначение при помощи чёрточки, кстати, не единственное возможное. Например, можно писать обычные числа чёрным цветом, а античисла - красным, так некоторые банки делают: если у тебя на счету красное число долларов, значит, у тебя есть долг банку в этом размере, и чтобы его "погасить", нужно вложить на счёт такую же сумму, но чёрным цветом. Получились у нас новые числа, - натурально чёрные, ноль и красные античисла. Все они вместе называются "целые числа" и обозначаются ℤ. Чем они хороши? Да тем, что теперь вычитание возможно выполнить всегда, а не только тогда, когда вычитаемое меньше уменьшаемого. Иными словами, любое уравнение вида x+b=a разрешимо: если a больше b, то решением будет обычная разность c=b-a, если a=b, то ответ - 0, а если a меньше b, то ответом будет число "анти-(b-a)", 0-(b-a). заметь, что здесь b-a - "чёрное" число.
- А что будет, когда мы начнём перемножать красные и чёрные числа?
- Замечательный вопрос. Помнишь ли ты, как были связаны сложение и умножение для натуральных чисел?
- Да, было такое правило раскрытия скобок, a*(b+c)=(a*b)+(a*c)
- Ну так давай им и будем пользоваться для всех чисел, и для красных, и для чёрных. Возьмём, например, равенство 1+0=1 и умножим его на любое натуральное число a. Получим равенство а+(а*0)=а. Что это значит? Что прибавление а*0 не меняет числа а. Таким свойством (не менять чисел при сложении) обладает только ноль. Значит, какое бы ни было натуральное число a, a*0=0.
- А если бы а было "красным" античислом 0-b (b - чёрное)?
- Ну, давай проверим: по определению, a+b=0. Умножим на ноль, получим a*0+b*0=0*0, т.е., согласно предыдущему, a*0=0 и для красных чисел тоже. Повозившись так, можно проверить, что вообще вычитание целых чисел удовлетворяет тому же правилу a*(b-c)=(a*b)-(a*c), каких бы цветов не были числа.
- Ну ладно, мы вроде бы разобрались с тем, что такое ноль. Так почему всё-таки делить на ноль нельзя?
- Ещё минуточку терпения, дорогая. Мы с тобой сделали две важных вещи: отталкиваясь от натуральных чисел, которые изначально предназначались только для счёта, мы построили (да-да, именно так математики называют то, что мы делали) два других множества: "дольки" D, - положительные простые дроби, которые всегда можно перемножать и складывать между собой и всегда делить, но не всегда вычитать, и целые числа ℤ, которые всегда можно складывать, вычитать и перемножать, но не всегда делить. А можно ли объединить эти два построения и построить множество, в котором все четыре операции всегда выполняются? Почти. Давай возьмём все числа-дольки и добавим к ним "анти-дольки", - выражения вида 0-r, где r - положительная "долька" (можно для удобства антидольки в красный цвет красить). Полученное множество называется множеством рациональных чисел и обозначается ℚ. Легко проверить, что в таких чёрно-красных дольках всегда выполнимы операции сложения, вычитания и умножения так же, как в целых числах. А как насчёт деления? Если и делимое и делитель - чёрные, это возможно. Если же среди них есть красные дольки, то их всегда можно превратить в чёрные, умножив на -1 и воспользовавшись тем, что делить/умножать на -1 то же самое, что менять знак ("цвет"), то деление разноцветных долек всегда возможно.
- Так что, получается, что в рациональных числах всегда выполнимы все четыре арифметические операции?
- Почти. Мы не покрасили ноль ни в чёрный, ни в красный цвета. С ним надо обращаться отдельно, в частности, отдельно надо учиться делить ноль на другие числа, другие числа на ноль и ноль делить на ноль.
- Так я ж с этим вопросом к тебе с самого начала пришла!
- Да, но зато ты теперь понимаешь, что вопрос этот совершенно не случайный, а очень даже принципиальный: даже если бы ты и не хотела, он сам бы вылез. Проще всего делить ноль на неноль: это означает решить уравнение x*a=0. Если а не равно нулю, то необходимо, чтобы x=0. С двумя другими задачами есть проблема. Уравнение 0*x=1, как мы знаем, неразрешимо, потому что 0*x=0 при любом рациональном x. И наоборот, уравнение 0*x=0 имеет слишком много решений, - любое число удовлетворяет этому уравнению, а мы хотим, чтобы любая операция имела бы единственный результат.
- Пап, мы тут с тобой уже второй час упражняемся в том, что добавляем к известным числам ("строим") новые числа с тем, чтобы уравнения, которые раньше не имели решений, решились бы. Давай добавим ещё одно новое число, - решение уравнения 0*x=1, и все будем в шоколаде!
- Давай попробуем, в самом деле! Ты быстро убедишься, что за разрешимость такого уравнения придётся заплатить дорогую цену. Возьмём с потолка новый элемент, обозначим его Б ("бесконечность") и попробуем добавить к рациональным числам так, чтобы Б*0=1. Что получится?
- А что должно получиться?
- Ну, для начала мы должны понять, как этот новый элемент складывать/вычитать и делить/умножать на рациональные числа. Начнём со сложения. Напишем Б как дробь, Б=1/0, и сложим с дробью 1=1/1. По правилам сложения дробей, у нас получилась бы дробь (1*1+0*1)/(0*1), равная 1/0. Иными словами, Б+1 удовлетворяет тому же самому уравнению, что и Б. Если б мы настаивали на том, что Б - единственный такой элемент, пришлось бы согласиться с тем, что Б=Б+1. Но таких чисел нет, поскольку 0 и 1 - явно разные вещи. Впрочем, Б - не настоящее число… Пойдём дальше. Перемножая уравнение для Б само на себя, получаем, что Б в квадрате равно Б. Не то чтоб это было невозможно, но всё равно подозрительно. А чему равно Б-Б? а Б+Б?
- Ну, и что вся эта белиберда означает?
- Очень просто. Если ты хочешь, чтобы тебе разрешили единицу разделить на ноль, то придётся отказаться от правил арифметики, к которым ты привыкла. Разрешивши делить на ноль, ты должна согласиться с тем, что правила сложения/вычитания придётся переписывать, и некоторые из этих действий всё равно окажутся невыполнимыми. Я уж не говорю о том, что придётся отдельно разбираться с отношением "больше-меньше", - где по отношению к рациональным числам находится твоё "число" Б?
- Так что, никак?
- Никак, если мы хотим, чтобы две операции + и * продолжали сохранять свои свойства такими, какими мы их знаем (математики называют такие числовые множества "полями"). Невозможность делить на ноль - фундаментальный запрет в любом поле.
- А кроме полей, бывают ещё какие-нибудь интересные множества, чтобы там настоящая бесконечность появлялась?
- Да. Только давай до завтра отложим этот разговор. Поздно уже. Бесконечно поздно.
- Спокойной ночи!


а кстати, почему невозможность деления на 0 нельзя объяснить ребенку через само деление? я когда дочке (6 лет) деление a на b объяснял - сказал, что мы ищем, сколько b поместится в a, чтоб больше места не осталось. поэтому когда к делению на 0 пришли, сразу стало понятно, что сколько раз 0 ни бери, все равно a не заполнить. мне кажется, что она поняла - слышал, как она это кому-то из подруг впаривала

мне тот же вопрос задал нематематический ребенок четырнадцати лет. но он сразу поставил вопрос так: "Не всякие два целые числа можно поделить друг на друга. Добавляем дроби - теперь можно. Не всегда можно вычитать: добавляем отрицательные - теперь можно. Корень нельзя извлечь из отрицательного числа - расширяем до комплексных - теперь можно. Так вот нельзя ли так расширить, чтобы можно было и на ноль делить?"

вот я и описал, как можно было бы обьяснить это такому гению. добавить можно, но придётся заплатить тем, что некоторые операции с результатом будут несовместимы со свойствами арифметических операций. ровно как можно добавить корень из минус единицы, но придётся заплатить отказом от неравенств. чтобы подвести к идее того, что мы можем расширять числовые структуры, и от этого выигрывать, но есть естественные границы. например, мы можем добавить результат деления на ноль, если нас интересует не алгебраическая структура числовой прямой, а её топология

>> ... (математики называют такие числовые множества "полями").
и тут сразу дочка такая: "А давай начнём изучать поля с простейшего случая, ну, скажем, с полей из одного элемента, а? Вдруг там на ноль поделить получится..."

убил

а вот сказать, что пустое множество яблочных долек ничем не отличается от пустого множества грифонов, может далеко не всякий программист. ежели который на C++, то тот хорошо знает, что они разные. но отнюдь не всякий програмист на C++ может объяснить, что на самом деле "они разные не просто так". а разные они потому, что ноги у C++ и подобных языков растут из структурной теории множеств (как ETSC), а не из материальной (как ZFC)

неправильный какой-то программист. правильный бы сказал, что на целый ноль делить нельзя, не перехватив прерывания от CPU exception, а вот на плавающий ноль в стандарте IEEE754 - пожалуйста, если на +0.0, то выйдет +Inf, если на -0.0 то -Inf. а дедушка-программист еще бы вспомнил, что на электромеханическом арифмометре "ВМП-2" на ноль делить никто не мешал, но могли из зарплаты вычесть стоимость сгоревшего мотора.


- Ну как, Алиса, с утра желание поделить на ноль не появилось?
- Пап, ну мы ж вчера вроде обо всём договорились, ты мне объяснил, почему делить на ноль нельзя.
- Не совсем. Нельзя добавить к множеству рациональных чисел, т.е. дробей вида a/b, где a, b целые числа и b не равно нулю, дроби вида a/0, сохранив при этом все арифметические операции такими, какими мы их знаем. А вот давай я тебе покажу, как всё-таки можно добавить результат деления на ноль, чего мы лишимся при этом и чего приобретём.
Давай только ещё чуть-чуть поиграем с обозначениями. Числа (a/b) и (3*a/3*b) - разные?
- Нет, конечно: можно сокращать.
- Отлично. А теперь если я напишу дробь (r/s), где r,s - не обязательно целые, а рациональные числа (и при этом, конечно, s не равно нулю), - это будет число рациональное?
- Дай подумать. Если r=a/b, s=c/d, то r/s=(a*d)/(b*c), где все четыре числа - целые, и знаменатель не равен нулю. Значит, ответ тоже будет рациональным!
- Правильно. А верно ли, что a/b и (a*c)/(b*c) - одно и то же число, если a,b,c - рациональные и b,c оба не равны нулю?
- Конечно. А почему ты спрашиваешь?
- А потому, что любую дробь a/b с рациональными a,b можно сократить на b.
- Ну да, только глупость какая-то получится: будет дробь вида r/1, т.е. r. Чего в этом интересного?
- Интересно всё это нарисовать. Вы ведь уже проходили координаты точек на плоскости?
Давай возьмём какую-нибудь дробь a/b и отметим на плоскости точку с координатами (b,a): b по горизонтали, a по вертикали. Почему так, а не наоборот, сейчас станет понятно, хотя это снова вопрос, как изначально уговоримся. Что про эту точку можно сказать?
- ??? Мы же ничего не знаем про a,b?
- Знаем, что b не равно нулю.
- Ну, тогда это значит, что точка не лежит на вертикальной оси x=0
- Правильно. А теперь нарисуем все точки вида (a*c)/(b*c), где c - всевозможные рациональные числа, не равные нулю. Что будет? Давай начнём с натуральных c=1,2,3,4... Что получается?
- Вроде бы на одну линию ложатся.
- Правильно, а почему?
- Ну, наверное, какие-нибудь треугольники подобны?
- Верно. А что будет, если c=-1?
- Получится точка по другую сторону.
- Другую сторону чего?
- Начала координат, точки (0,0).
- А прямая та же самая останется?
- Ну конечно, это же центральная симметрия!
- Отлично. Осталось теперь рассмотреть нецелые значения c. Что будет?
- Все дырки заполнятся, получится вся прямая целиком.
- Начало координат придётся из неё выбросить, - c не равно нулю . Что у нас получилось? Взяли рациональное число a/b, добавили всё, что из него можно получить умножением, - оказалось, получилась прямая на плоскости. А что будет, если изначально возьмём другую дробь?
- Другую, - значит, не получится её сократить или домножить до первоначальной?
- Ровно так.
- Тогда будет другая прямая.
- А как бы мы могли убедиться, что она другая?
- Не знаю…
- Давай проведём третью прямую, вертикальную, x=1. В какой точке она пересечёт прямую, проходящую через и через (b,a) и через (0,0)?
- Ну первая координата будет 1, это понятно. Как найти вторую? Если она равна r, то это значит, что точки (1,r) и (b,a) лежат на одной прямой, проходящей через начало координат. Значит, из подобия треугольников, у нас есть пропорция a:b=r:1, и значит что r=a/b
- Теперь ты понимаешь, что каждую прямую, проходящую через ноль, мы можем задать единственной точкой (1,r), где r=a/b - рациональное число, т.е., фактически одним рациональным числом?
- И наоборот, каждая такая точка соответствует единственной прямой. Правильно я угадала?
- A может ли быть так, что прямая, которую ты выбрала, вообще не пересечёт прямую x=1?
- Э-э-э… Нет, не может. Ну, если только она не параллельна этой прямой.
- Умница. Значит, если прямая невертикальна, то её можно задать рациональным числом или дробью a/b с ненулевым b. А вертикальная прямая соответствовала бы дроби 1/0.
- И что все это значит?
- А это значит, что мы имеем вполне геометрически определённое множество прямых, проходящих через начало координат на плоскости, и все они, кроме одной, могут быть заданы рациональным числом вида a/b. А эта исключтельная прямая была бы задана дробью 1/0, если б такая дробь была определена. Мы умудрились добавить новый элемент к множеству рациональных чисел, который имеет все основания называться дробью 1/0.
- А что мы с ним можем делать?
- А чем вертикальная прямая на плоскости отличается от всех остальных? Вроде ничем: если мы повернём плоскость, она перестанет быть вертикальной и ничем не будет отличаться от остальных. Только технически проще не поворачивать плоскость, а поменять роли координат.
- В каком смысле?
- Мы задавали прямую её точкой пересечения с прямой x=1. А что будет, если вместо этого мы возьмём прямую y=1? Точка пересечения, если она есть, будет иметь координаты (s,1) и удовлетворять пропорции a:b=1:s, значит, s=b/a. А когда её не будет?
- Когда a=0
- A может ли быть так, что наша прямая пересекает обе прямые x=1 и y=1?
- Да сколько угодно! если прямая не горизонтальна и не вертикальна, то она пересечёт обе вспомогательные прямые.
- А значения r и s как-нибудь будут связаны?
- Конечно: r=a/b, s=b/a, значит, r*s=1
- Ура! Мы у цели!
- Не поняла.
- Представь себе, что ты смотришь на фонарный столб. Ты видишь только те точки, которые обращены к тебе. Но некоторые точки тебе не видны: чтобы их увидеть, нужно зайти с другой стороны. При этом ты всегда помнишь, какая точка где, и если точка видна с двух направлений сразу, то ты сразу это опознаешь.
- И как мне со всем этим знанием жить?
- Показываю. Следи за руками. С первой точки зрения (глядя с оси x= 1, грубо говоря) ты видишь все прямые, кроме одной. Назовём её Б, в память "бесконечности" Б=1/0. Кроме того, давай обозначим буквой Н ("ноль") горизонтальную прямую (Н=0/1). Перейдём теперь на наблюдательную площадку y=1. Оттуда мы видим все прямые, включая Б, но единственную прямую, которую мы не видим - это прямая Н. Если же мы перейдем на наблюдательную площадку x=1, то мы будем видеть все прямые, включая Н, но не увидим прямой Б. Более того, если в первой системе счисления (математики говорят "карта") прямая задавалась числом r, отличным от нуля, то в другой системе она же будет задаваться числом s=1/r. Это означает, что ты можешь наблюдать за происходящим в любой из двух удобных карт - когда карта становится неудобной, можно перейти в другую карту.
- Очень сложно.
- Ну, давай разберём простой пример. Помнишь, мы говорили о процедуре "плюсодин"?
- Да, но это было, когда мы с целыми числами имели дело.
- А в принципе нам ничего не мешает рассмотреть преобразование "плюсодин" на множестве рациональных чисел, которое отправляет число r в число r+1. Вопрос: что это преобразование сделает с "числом" Б?
- Не знаю.
- Если во второй карте число было s, то в первой карте оно станет числом r=1/s. Прибавим к нему единицу, получится (1+s)/s. Теперь надо вернуться обратно в первую карту и обратить дробь: получится s/(s+1). А что произойдёт при преобразовании "s пошло на s/(s+1)" с числом s=0?
- Оно останется нулём.
- Верно. Это значит, что при преобразовании "плюсодин" прямая Б переходит сама в себя. Вчера мы уже говорили, что равенство Б=Б+1 невозможно, если мы настаиваем, что Б - элемент поля с арифметическими операциями. Там это, конечно, невозможно, а вот с прямыми - запросто. Кстати, если мы запишем s/(s+1) в виде суммы геометрической прогрессии, то получим s-s²+s³-s⁴+… Это означает, что при малых s (больших r) "плюсодин" выглядит как сдвиг на малую величину s²
- А что будет с умножением? Скажем, с умножением на 2?
- Умножение на 2 в карте r соответствует делению на 2 в карте s
- И с квадратом то же самое?
- Даже ещё проще. Отображение "r пошёл в r²" превращается в отображение "s пошёл в 1/s²"
- Вроде понятно. А как называется эта "расширенная прямая"? И как она выглядит?
- Называется она "проективная прямая". А как выглядит? У нас, если честно, не готов мета-язык для того, чтобы говорить об этом аккуратно, но сообразить можно. Что будет, если мы начнём с прямой на плоскости, соответствующей числу r=0 в первой карте, и станем постепенно и непрерывно увеличивать r?
- Вроде бы прямая на плоскости начнёт вращаться против часовой стрелки.
- И в некоторый момент она займёт вертикальное положение, которое мы обозначили Б. В этот момент мы её потеряли из виду в карте r. А что с ней происходило в карте s? Если r возрастала, будучи положительной, то s=1/r будет убывать. В положении Б переменная s пройдёт через ноль в область отрицательных значений, и продолжит дальше убывать, пока прямая на плоскости продолжает вращаться в ту же сторону. Что будет, когда она довернётся почти до горизонтального положения и начнёт выскальзывать из карты s?
- Она займёт то самое горизонтальное положение, с которого мы начинали.
- И что это значит?
- Не знаю…
- Ты ехала по дороге и в какой-то момент оказалась в той же точке, из которой выехала. Что можно сказать о дороге?
- То, что она кольцевая.
- Именно! Множество различных прямых устроено так же, как окружность.
- Пап, это уже слишком сложно для меня.
- Согласен. Но ты уже поняла, чем ещё мы заплатили за "деление на ноль"?
- Чем же?
- Отношением "больше-меньше". На окружности, даже если задано направление движения, нельзя сказать по фотографии, кто из бегунов впереди, а кто позади: нужно знать, сколько кругов после старта сделал один, а сколько - другой. На проективной прямой у нас пропала возможность пользоваться неравенствами.
- Похоже, идея разрешить делить на ноль в самом деле была не слишком удачной.
- Ты просто не успела, как киплинговский слонёнок, узнать все преимущества хобота, который мы только что отрастили.
- А где они?
- На обычной числовой прямой они не сразу заметны. А вот если мы перейдём в два измерения и вместо обычной плоскости рассмотрим проективную плоскость…
- Не, пап, не сегодня.
- Ну хорошо, я стоя на одной ноге - кратенько. Точки проективной плоскости - это тройки (x:y:z), состоящие из трёх чисел, не равных нулю одновременно. Две тройки считаются одинаковыми, если они отличаются друг от друга ненулевым числовым множителем. Любая тройка таким образом может быть приведена к виду (1:u:v), (r:1:s) или (p:q:1). Это три различных карты, каждая из которых "видит" только часть проективной плоскости в виде "обычной" плоскости с двумя независимыми координатами одновременно. "Прямыми" в этом мире являются плоскости в трёхмерном пространстве, которые в каждой карте выглядят как прямые линии. Это - мир без параллельных линий, мир, где нет проблем с делением на ноль, мир, в котором "бесконечность" ничем не отличается от обычных точек.


существует (сформулирован) ли универсальный инвариантный набор свойств штуковин, которые можно использовать вместо чисел? т.е. натуральные числа естественны, если у тебя штуки чего-то, а если бы было принято рассуждать, например, о массе этого чего-то? получилось ли бы умножение вообще?

задача пересчитывать объекты по одному давно локализована в рамках теории ординалов. если операция одна, - то теория групп. когда операций две, то если не предполагать коммутативной одну из них, сделать ничего нельзя. коммутативные кольца (обе операции коммутативны) - фундамент алгебраической геометрии и теории чисел. некоммутативные кольца = операторные алгебры с их приложениями к анализу и диффурам. неассоциативные алгебры = инфинитезимальный вариант этих алгебр, с приложениями к квантовой механике и теории поля. и есть ещё масса объектов с разного рода операциями, "придумать" которые невозможно, их можно только обнаружить в природе: кластерные алгебры, матроиды, …

пропорциональные тройки удобны, когда надо считать. если задача что-то [проективную плоскость] первоначально объяснить ребенку, то пучок прямых, наверное, намного нагляднее. хоть переход от геометрии к алгебре и тривиален


- Ну что, Алиса, не надоело ещё про бесконечности рассуждать?
- Если честно, пап, то надоело. Добавили бесконечность, но запретили с ней операции делать, - на фига она такая нужна?
- Так это потому, что мы не добрались ещё до самых интересных вещей.
- Да какие там могут быть интересные вещи? Всё только ещё запутанней и запутанней будет. У меня уже голова трещит от всех этих "можно-нельзя"…
- А вот тут ты не права, вещи станут не запутанней, а наоборот, - проще. Вот ты любишь исключения из правил?
- Конечно нет, а кто их любит? Про них всегда помнить надо!
- Вот про исключения мы сейчас и поговорим. Поборемся за исключение исключений.
Помнишь, мы вчера договорились до того, что "прямая - это точка"? Мы рассматривали все прямые на плоскости, проходящие через центр. Если зафиксировать какую-нибудь другую прямую К , которая НЕ проходит через центр, то почти каждая "прямая-точка" пересечёт "прямую-карту" К в какой-то точке, которую мы назовём "изображенем прямой-точки на карте" К. Единственное исключение - прямая через центр, которая параллельна К и поэтому "не видна" на этой карте. Чтобы увидеть её, надо взять какую-нибудь другую "прямую-карту", Д, не параллельную "прямой-карте" К. На ней исключительная прямая будет видна, зато не будет видна "прямая-точка", параллельная Д. Бóльшая часть прямых-точек прекрасно видна на обеих картах, и легко сообразить, как по "изображению прямой-точки на карте" К найти "изображение этой же прямой-точки на карте" Д и наоборот.
Мы построили "проективную прямую" как множество "прямых-точек на плоскости". А теперь мы построим "проективную плоскость" как множество прямых-точек в трёхмерном пространстве.
- Ой. У меня с пространственным воображением не очень-то.
- А очень-то и не надо. Достаточно представить себе, как прямая и плоскость могут быть расположены в пространстве.
- Ну, прямая может лежать в плоскости, как спица на столе. А ещё может пересекать плоскость, как длинный гвоздь, вбитый в дверь.
- А какое-нибудь ещё третье положение может быть? Ну, представь себе другую плоскость, параллельную заданной. Как две противоположные грани куба, продоженные неограниченно: они никогда не пересекутся. Если прямая лежит в этой параллельной плоскости, может она пересечь исходную плоскость?
- Разумеется, нет.
- Такие прямые мы тоже назовём параллельными исходной плоскости. Не запутаешься?
- Нет, пока всё логично, параллельный - значит не пересекается.
- Это не так: в трёхмерном пространстве две прямые могут быть не параллельными друг другу, но и не пересекаться. Подумай об этом на досуге, хоть сейчас это для нас и не существенно. Итак, поехали.
Рассмотрим все "прямые-точки", проходящие через центр в трёхмерном пространстве, и выберем какую-нибудь "плоскость-карту" П, не проходящую через ноль. Каждая "прямая-точка" пересечёт нашу карту в единственой точке, которую мы будем называть "образом прямой-точки на карте" П. Как и в прошлый раз, будут "прямые-точки", которые не отразились на карте П, - все они лежат в плоскости, параллельной П и проходящей через центр. Но мы уже знаем, что в таком случае надо делать: надо взять другую плоскость Р, не параллельную П, и использовать её в качестве карты.
- И как в прошлый раз будет, - что не видим в одной карте, увидим в другой?
- Почти. Обозначим те прямые-точки, которые НЕ ВИДНЫ на карте П, через П*: это плоскость в пространстве, проходящая через центр. Те, которые НЕ ВИДНЫ на карте Р, обозначим через Р*, это другая плоскость, тоже проходящая через центр, и она не совпадает с П*. Из чего состоит пересечение П* и Р*?
- Две разные плоскости, проходящие через общую точку… Прямая, которая проходит через эту общую точку?
- Бинго. Всегда найдётся "прямая-точка", которую не увидать ни в карте П, ни в карте Р. А кто нам сказал, что в атласе может быть только две карты? Возьмем произвольную третью плоскость-карту Т, не параллельную нашей злосчастной "прямой-точке". На ней-то она точно будет видна.
- А трёх карт будет достаточно?
- Ну вот наше рассуждение доказывает, что при правильном выборе трёх карт всегда хватает. И, как всегда, почти все прямые-точки видны на каждой из трёх карт.
- Итак, проективная плоскость - это всевозможные "прямые-точки" в пространстве, а "настоящими" точками мы их видим в разных картах. А что на этой плоскости есть ещё, кроме точек?
- Ну, скажем, некоторые множества точек "организуются" в прямые. Проективные прямые, разумеется.
- Это как?
- Давай возьмем карту П и плоскость Л, проходящую через центр. Л состоит из бесконечного числа прямых-точек, посмотрим, как они изображаются в карте П.
- Вроде бы не очень сложный вопрос. Л и П - две плоскости в пространстве. Они пересекаются по прямой линии, лежащей в П. Значит, все точки расположатся вдоль какой-то прямой в карте.
- Да. За одним исключением. Сама сообразишь?
- Ой, ну конечно. Если Л параллельна П, то пересечение будет пусто, и в карте П мы ничего не увидим.
- Именно! Поэтому проективные точки, которые мы не видим в карте П, образуют "бесконечно удалённую прямую".
- А что такое "проективные точки"?
- А это мне надоело ломать язык сочетанием "прямая-точка". Для нас она уже настолько похожа на точку, что можно перестать упоминать каждый раз, что она на самом деле родилась, как прямая.
- Ок. Значит, проективные точки могут собираться в проективные прямые. А что мы про них знаем?
- Всё. Точнее, всё, что мы знаем о плоскостях в пространстве.
- Ну, например?
- Например, через любые две проективные точки проходит единственная проективная прямая.
- Почему?
- А потому же, почему две разные прямые, проходящие через центр, единственным образом определяют плоскость, содержащую обе эти прямые.
- Я тебе поверю, потому что похоже на правду, но вообще-то такую теорему мы ещё не проходили.
- Увы. Может быть, дальнейший разговор чуть-чуть добавит тебе уверенности. А что про пересечение двух прямых?
- Любые две разные плоскости, проходящие через центр, пересекаются по единственной прямой.
- Отлично! а теперь то же самое на "проективном языке"?
- Постой… получается, что любые две разные проективные прямые пересекаются в единственной проективной точке? А как же параллельные прямые?
- Так в том-то вся прелесть! Параллельных прямых на проективной плоскости НЕТ!
- То есть как это - нет? Давай возьмём какую-нибудь карту П, проведём там две параллельные прямые, они же не пересекаются?
- Они пересекаются, но в той точке, которая не видна на карте П. Как говорят, "пересекаются на бесконечности". Мы же не зря говорим про "проективные прямые". На самом деле к каждой обычной прямой на карте П мы добавили одну "бесконечную" точку так же, как мы это делали вчера. И оказалось, чудесным образом, что все эти добавленные точки сами собираются вдоль "проективной прямой", той самой, которую мы не видим в карте П.
- Ух ты! вот это да! Получается, никаких исключений в виде параллельности?
- Не за это ли мы боролись?
- Но значит, это не настоящая геометрия?
- Самая что ни на есть настоящая, надо только помнить, что "проективная прямая" - это больше, чем обычная прямая, а среди "проективных точек" есть те, которые не видны в данной карте.
- А в другой карте?
- А в другой карте не происходит ничего особенного.
- Ну, например, давай нарисуем сто прямых, параллельных друг другу в карте К. Как они будут выглядеть в карте Р?
- Прямая, "бесконечная" в карте П, будет выглядеть, как обычная прямая в карте Р. Скорее всего, все эти прямые будут выглядеть, как связка прямых в карте Р, проходящих через одну общую точку.
- А почему "скорее всего"?
- Потому, чт.е. один исключительный случай, когда и в карте Р они будут выглядеть, как семейство параллельных прямых. Но тогда уж точно в карте Т мы получим связку прямых, проходящих через одну общую точку.
- Кажется, поняла. А кроме прямых, что-нибудь ещё есть в этой твоей проективной геометрии? Например, окружности там есть? Касательные всякие?
- Есть, но давай подойдём систематически. Про метод координат ты ведь слыхала?
- Самую малость.
- Много и не надо. Проективная точка, как мы договорились, изображается тройкой чисел, отличных от тройки (0,0,0), и две тройки считаются одинаковыми, если одну можно сократить до другой, поделив все три числа на общий ненулевой множитель. Чтоб не забывать про эту возможность сокращения, мы будем пользоваться двоеточием, как в младших классах обозначали пропорции. Итак, точка - это тройка чисел (x:y:z), определяющая прямую в пространстве, проходящую через (0,0,0).
- А что такое прямая?
- Плоскость в пространстве, проходящая через ноль, задаётся уравнением ax+by+cz=0, где тройка чисел (a,b,c) должна отличаться от (0,0,0) и две тройки задают одну и ту же плоскость, если они отличаются на общий ненулевой множитель. Уравнение плоскости - однородно: если ему удовлетворяет тройка (x,y,z), то и тройка (s*x,s*y,s*z) ему удовлетворяет. Значит, это условие накладывается не на точку в пространстве, а на "проективную точку", т.е., прямую в пространстве.
- А что мы увидим в карте?
- Давай возьмём карту П, заданную уравнением z=1. Тогда проективной точке (x:y:z) будет соответствовать точка (x/z,y/z,1) на П. Обозначим x/z=u, y/z=v - это и будут координаты нашей проективной точки в карте П, разумеется, при условии, что z отлично от нуля. Поделив уравнение прямой на z, мы получим уравнение a*u+b*v+c=0 с теми же самыми a,b,c. Какое множество оно задаёт? Скорее всего, - прямую линию. Но могут быть исключения. Ну, если a=b=0, а c≠0. Тогда уравнение 0=1 задаёт пустое множество. Это тогда будет та самая "прямая на бесконечности".
- А что с пересечением двух прямых?
- Пересечение задаётся системой двух уравнений. Напиши их сначала.
- Пускай это a*x+b*y+c*z=0 и p*x+q*y+r*z=0.
- Ну, и почему у них всегда будет общее решение? Из первого уравнения хотя бы одну переменную можно выразить через две других и подставить во второе уравнение. Получим новое уравнение A*x+B*y=0, у которого хотя бы одно решение, отличное от x=y=0, есть всегда. Если A=B=0, то решений бесконечно много, и это может быть, если две исходных прямых изначально совпадали. Т.е., все дело в том, что уравнения однородны, а в правой части стоит нуль.
- А что с окружностью?
- Ну давай смотреть. Предположим, в карте П мы имеем уравнение u²+v²-1=0. Это ведь окружность? А какой вид это уравнение примет в изначальных переменных (x,y,z)? А вот какой: (x/z)²+(y/z)²-1=0 Но в левой части ведь не многочлен? Не многочлен, но мы можем сделать его многочленом. Умножим на z². После всех сокращений получаем очень симметричное уравнение x²+y²-z²=0. Чем оно хорошо? Той же самой однородностью: если ему удовлетворяет тройка (x,y,z), то и тройка (s*x,s*y,s*z) ему удовлетворяет при всех s не равных нулю.
- А что мы увидим в других картах?
- Ну, например, в карте, где координатами являются (x/y,1=y/y,z/y)=(m,1,n) уравнение примет вид m²+1-n²=0, т.е., n²-m²=1. Это - уравнение гиперболы.
- Неужели и параболу можно получить?
- Элементарно. Всё зависит от того, как расположено в данной конкретной карте множество с однородным уравнением x²+y²-z²=0 по отношению к бесконечно удалённой прямой. Если не пересекается, - получим окружность или эллипс. Если пересекается в двух разных точках - получим гиперболу. Если касается в одной точке, - будет парабола.
- Подожди, но ведь понятие "бесконечная прямая" зависит от карты! А если никакой карты не указывать, получается, чт.е. всего одно множество, заданное уравнением второй степени?
- Почти. Есть множество x²+y²+z²=0, которое пусто в любой карте. Но это только потому, что мы ещё не затеяли срач на тему, что такое "корень из минус единицы".


пошто девочку координатами мучаете? все же хорошо начиналось, чисто геометрически. можно и закончить было чисто геометрически - коническими сечениями. и проективная эквивалентность разных кривых второго порядка стала бы видна невооруженным взглядом, без координат

конечно, Аполлоний знал о конических сечениях абсолютно всё. но сегодня в мире найдётся, может, десяток-другой школьников, способных понять его геометрические рассуждения, ещё примерно десяток людей, способных эти рассуждения преподать, и все они разбросаны по разным местам. а алгебраический способ доказательства, пускай и совсем не элегантный, может сам придумать любой человек, знакомый с базовыми курсами алгебры и анализа - т.е. режем конус плоскостями: одной - параллельной основанию - получаем окружности; одной непараллельной основанию - получаем эллипсы; одной, через вершину конуса - получаем параболы; двумя (на самом деле одной из точки на бесконечности) параллельной высоте - получаем гиперболы