Натуральные числа мы используем, как надёжный инструмент для счёта каких-либо неделимых объектов или действий. Натуральные числа можно складывать и перемножать, получая при этом новые натуральные числа и не нарушая согласованности между арифметикой и порядком чисел. В прошлой заметке этой серии мы показали, как с помощью упорядоченной пары, пользуясь только операцией сложения, можно корректно определить вычитание, необходимое для построения модели целых чисел. Сегодня мы дополним эту модель операциями умножения и сравнения.
Тут важно заметить, что подобно целым числам ведут себя не сами пары, а классы эквивалентности, образованные отношением, делающим неразличимыми пары, в которых разница между первым и вторым элементом одинакова (с точки зрения натуральных чисел).
Отношение порядка
Коль скоро мы сообразили, что целые числа оказались "зашиты" в разницу между первым элементом пары и вторым, то имеет смысл использовать эту разницу, для определения отношения порядка на базе сравнения натуральных чисел, и написать так:
Но элементы пары — это натуральные числа, операция вычитания для них корректно не определена. Это не беда, формально перенесём слагаемые, и получим менее очевидное, но корректно определённое отношение:
Выглядит хорошо, но сработает ли наша уловка? Проведём эксперимент: сравним [3] и [5], вернее, какие-либо экземпляры этих классов:
(1, 4) < (2, 7) потому что 4 + 2 < 1 + 7
А как насчëт [3] и –[5]?
(1, 4) > (7, 2) потому что 4 + 7 > 1 + 2.
И, наконец, сравним два экземпляра одного класса [3]:
(1, 4) = (6, 9) потому что 4 + 6 = 1 + 9.
Похоже, работает!
Очень легко доказать, что отношение порядка согласуется с разбиением на классы:
Согласуется сравнение и операцией сложения:
На язык классов последний результат переводится так:
А это значит, в нашей модели целых чисел можно решать простейшие уравнения и неравенства, стандартным методом вычитания из обеих частей одинаковых величин.
Наконец, ключевое отличие в отношениях порядка, определённых над натуральными числами и над целыми, состоит в том, что в отличие от целых, среди натуральных чисел существует минимальный элемент. На этом факте основаны метод индукции и анализ завершаемости алгоритмов, так что это довольно важное обстоятельство. Наша модель целых чисел использует исключительно натуральный инструментарий, так что отсутствие минимального элемента не очевидно и его надо доказывать.
Это нетрудно сделать, во-первых, показав, что для любого числа [x] можно построить число [x] − [1], а во-вторых, что оно будет меньше исходного:
1) Существование:
2) Порядок:
Вот, например, как выглядит счёт назад, начиная с числа [3]:
Второй столбец получен сокращением общего слагаемого, подобного сокращению общего множителя в рациональной дроби (это, как мы увидим позже, не случайно).
Поскольку никаких ограничений на сравниваемые суммы мы не накладывали, можно заключить, что пары образуют линейно упорядоченное множество, в котором любые два элемента сравнимы, причём однозначно. Однозначность сравнения надо доказывать отдельно, но тут я не хочу раздувать этот материал. И вообще, если вам показалось, что это какая-то слишком занудная и техничная часть, то вам не показалось. Именно так следует действовать математикам, однако для канала на Дзене, это, пожалуй, чересчур. Так что подобные тривиальные выкладки я далее буду оставлять читателю, в качестве упражнения :)
Умножение
Теперь мы готовы определить операцию умножения для наших пар. В качестве подсказки, вновь формально используем разницу между элементами пары:
А теперь превратим разницы натуральных чисел в пару, сделав уменьшаемое первых элементом, а вычитаемое — вторым:
Ну, что же, никаких операций, запрещённых для элементов пары, мы не используем, значит эта операция, как минимум, корректно определена. Давайте её испытаем:
Предлагаю читателям самостоятельно доказать, что операция согласована с классами эквивалентности и порядка, а также, что для умножения и сложения выполняется распределительный закон, вытекающий из распределительного закона для натуральных чисел.
Полезно также посмотреть на то, как происходит умножение на особые значения: [1], [0], и −[1] и убедиться в том, что все правила умножения выполняются. Поздравляю, мы построили действующую модель кольца целых чисел!
Осталось только понять, зачем мы это сделали?
Для чего строить числа из камней и палок?
Во-первых, для того, чтобы понять как устроены операции и отношения над тем, что мы, называем числами, вернее алгебраическими системами.
Во-вторых, для того, чтобы освоить мощные и универсальные инструменты, используемые для построения алгебраических систем (групп, полуколец, колец и полей): отношением эквивалентности, факторизацией, прямым произведением и расширением а также представлением алгебраических систем.
В предыдущей статье мы рассмотрели только первые два из перечисленных выше понятий: отношение эквивалентности и факторизацию. А поскольку эта статья посвящена умножению, покоговир о произведениях.
Факторизация подразумевает разложение на множители, а это значит, что множители можно, в известном смысле, перемножать. Составив пары из натуральных чисел, мы описали большую таблицу в которой каждой паре соответствует одна запись.
Все записи уникальны, и эта таблица представляет собой прямое произведение множества натуральных чисел с самим собой. Математически это записывается так:
Введя отношение эквивалентности (зелёные стрелки на рисунке) мы смогли создать множество целых чисел. А введение арифметических операций над элементами пар позволило из полукольца натуральных чисел создать кольцо, изоморфное кольцу целых чисел:
Изоморфизмом, в нашем случае, является набор отношений и операций, приведённый в рамке.
О том, что такое представление алгебраической структуры и её расширение, мы поговорим в следующий раз, после того, как построим из пар натуральных чисел другие кольца и поля.