
- •Предисловие
- •Введение
- •Глава 1. Множества
- •§ 1. Множества н их спецификация
- •§ 2. Простейшие операции над множествами
- •X ∉ ø при любом х.
- •§ 3. Диаграммы Венна
- •§ 4. Подмножества и доказательства
- •§ 5. Произведения множеств
- •Глава 2. Отношения
- •§ 1. Основные понятия
- •§ 2. Графические представления
- •§ 3. Свойства отношений
- •§ 4. Разбиения и отношения эквивалентности
- •§ 5. Отношения порядка
- •§ 6. Отношения на базах данных и структурах данных
- •§ 7. Составные отношения
- •§ 8. Замыкание отношений
- •Глава 3. Функции
- •§ 1. Функции и отображения
- •§ 2. Обратные функции и отображения
- •§ 3. Мощность множеств и счетность
- •§ 4. Некоторые специальные классы функций
- •§ 5. Аналитические свойства вещественных функций
- •§ 6. Операции
- •Глава 4. Основные понятия арифметики
- •§ 1. «Малая» конечная арифметика
- •§ 2. «Большая» конечная арифметика
- •§ 3. Двоичная арифметика
- •§ 4. Логическая арифметика
- •Глава 5. Алгебраические структуры
- •§ 1. Алгебраические структуры и подструктуры
- •§ 2. Простейшие операционные структуры
- •§ 3. Кольца и поля
- •§ 4. Линейная алгебра
- •4.1. Векторные пространства о линейные преобразования.
- •§ 5. Решетка и булевы алгебры
- •§ 6. Замкнутые полукольца
- •Глава 6. Матрицы
- •§ 1. Матрицы и бинарные отношения на конечных множествах
- •§ 2. Матрицы над другими алгебраическими структурами
- •§ 3. Матрицы и векторные пространства
- •Глава 7. Теория графов
- •§ 1. Вводные понятия
- •§ 2. Маршруты, циклы и связанность.
- •§ 3. Планарные графы
- •3.1. Теоремы Эйлера и Куратовского.
- •3.2. Раскраска карт и графов.
- •§ 4. Структуры данных для представления графа
- •§ 5. Обход графа
- •5.2. Обход графа по глубине.
- •5.4. Остовные леса обходов по глубине и ширине.
- •§ 6. Ориентированные графы
- •6.2. Маршруты и связность в орграфах.
- •Глава 8. Языки и грамматики
- •§ 1. Основные понятия
- •§ 2. Грамматики с фразовой структурой
- •2.1. Основные определения.
- •§ 3. Контекстно-свободные языки
- •§ 4. Понятия грамматического разбора и грамматических модификаций
- •§ 5. Грамматики операторного предшествования
- •Глава 9. Конечные автоматы
- •§ 1. Общие понятия
- •§ 2. Конечные автоматы
- •§ 3. Регулярная алгебра
- •Глава 10.Компьютерная геометрия
- •§ 1. Системы координат для подмножеств r3
- •§ 2. Преобразования
- •§ 3. Кривые и поверхности
Глава 4. Основные понятия арифметики
Итак, мы определили операции и описали некоторые их свойства. Теперь посмотрим, что можно сделать с совокупностью операций, заданных на множестве.
Множество с заданными на нем операциями называют алгебраической структурой. Некоторые из наиболее часто встречающихся алгебраических структур будут рассмотрены позднее. Прежде чем приступить к их рассмотрению, посмотрим на арифметику с неформальной точки зрения. В большинстве случаев мы будем опускать формальные определения, делая ударения на «следствия из правил», даже в тех случаях, когда это приводит к необычным способам использования известных символов, которые обычно используются для представления десятичных чисел.
§ 1. «Малая» конечная арифметика
Арифметику можно рассматривать как множество с двумя операциями, действующими подобно сложению и умножению. Ее можно изучать многими способами. Чтобы уяснить требования арифметической системы, примем конструктивное приближение и рассмотрим целые числа (0, 1, 2, ...) просто как символы. В дальнейшем будем рассматривать только конечную арифметику, в которой используется лишь конечное множество чисел; вначале это множество будет небольшим. Подразумевается, что если А ~ Nm, то требуется т различных символов, при этом никакие комбинации символов не разрешаются. Если используются только десятичные числа, то т ≤ 10. Поскольку все множества данного размера биективны, то можно рассматривать только множества Nm.
Для большей наглядности рассмотрим множество N6. Для этого необходимо построить таблицы умножения и сложения. Множество N6 достаточно велико для того, чтобы изучать свойства основной структуры. Можно подумать, что для этой цели более уместным является множество N2, однако это не так. Начнём со сложения.
О
перация
сложения имеет единицу, которая обычно
обозначается символом 0, однако
.
Поэтому будем использовать множество
,
которое более удобно. Очевидно, что
.
Поэтому можно работать с
,
не теряя никаких свойств. Таким образом,
к настоящему моменту мы имеем
соответствующую табл. 4.1.
Так как операция коммутативна, то таблица должна быть симметричной. Труднее обстоит дело с ассоциативностью. Если мы хотим, чтобы операция была ассоциативной, и требуем, как обычно, существования обратных элементов по сложению, то любой элемент должен входить ровно один раз в каждую строку и каждый столбец. Поясним это высказывание.
Если а + b = а + с, то
— а + (а + b) = — а + (а + с),
(— а + а) + b =(— а + а) + с,
0 + b = 0 + с,
b = с.
Рассмотрим
теперь операцию, определенную в табл.
4.2. Из трех возможностей для операции
сложения на
только
удовлетворяет всем условиям, что
выглядит несколько необычно. Операция
не коммутативна, а в
нарушен критерий «единственности
результата». Как же построить
соответствующую операцию, удовлетворяющую
всем обсуждаемым выше свойствам? Из
дальнейшего изложения будет видно, что
наиболее трудно обеспечить выполнение
свойства ассоциативности. В предложенной
ниже процедуре мы используем ассоциативность
как основной шаг построения, и,
следовательно, это свойство будет
выполняться автоматически.
Ш
аг
1. Число 0 является единицей для операции
сложения. Поэтому получаем табл. 4.3.
Шаг 2. Определим следующую строку таблицы, удовлетворяющую условию «единственности результата». Чтобы подчеркнуть используемую технику, специально выберем результат, который отличается от привычного.
В
озьмём
Так как операция должна быть коммутативной, заполним соответствующий столбец табл. 4.4.
Шаг 3. Заполним другие клетки таблицы, используя ассоциативность. Проследим подробно за каждой деталью:
Здесь мы использовали соотношения 2+1=0 и 0+x= x. Далее
3 + 3 = (1 + 1)+3 = 1+(1 + 3)=1 + 5 = 4 и т. д.
Т
аким
образом, на основе значений 1+
x получаем
таблицу для операции + (табл. 4.5).
При выполнении процесса надо учитывать дополнительные ограничения на шаге 2. Значения в нулевой строке должны выбираться так, чтобы они «продолжали» все . Например, начиная с 1 (как мы делали), получаем
1 + 1 = 3, 3+1 = 5, 5+1 = 4, 4+1 = 2,
2 + 1 = 0, 0+1 = 1.
Следовательно, прибавляя только 1, можно получить все .
Перейдем теперь к умножению. Сначала заметим, что единица для операции умножения должна отличаться от нуля. В противном случае для любых х и у мы имели бы
,
,
поэтому
,
а
значит,
.
Поэтому 0 не является единицей для
умножения.
На
самом деле нам требуется число, которое
будет порождать
.
Следовательно, мы могли бы определить
аналогичным образом операцию умножения
на основе частичной табл. 4.6. Однако в
этом случае мы не должны настаивать
па выполнении критерия «единственности
результата». (В обычной арифметике не
существует целого числа, которое при
умножении на 2 давало бы 1! Поэтому в
конечном множестве могут быть повторения.)
Вместо
того чтобы повторять процедуру построения
таблицы для умножения, вернемся к
проблеме связи двух операций —
дистрибутивности умножения относительно
сложения. Эта проблема связана с
ассоциативностью. Рассмотрим (уже
п
остроенную)
операцию сложения.
Заметим, что
.
Поэтому из предположения дистрибутивности
получаем, что
Теперь 3 + 3 = 4, 3+1=5, 1 + 4 = 2 и 1 + 2 = 0. Действуя, как и ранее, получаем следующую операцию (табл. 4.7).
Следовательно,
начиная с почти произвольного выбора
строки в таблице, не содержащей 1 по
сложению, и накладывая ряд простых
ограничений, мы приходим к приемлемой
арифметической системе. Теперь достаточно
установить, что полученная система не
находится в противоречии с высказанными
ранее соображениями, т. е. что 1 + 1
действительно существует. Короче говоря,
если в нормальной (бесконечной) арифметике
и
,
то хотелось бы, чтобы и в нашей арифметике
ответ был с. Следовательно, мы пришли к
выбору
Недостающим
элементов должен быть 0, поскольку
,
и 0 является единственным элементом
,
которого нет в строке. В
результате такого выбора получаем
соответствующую табл. 4.8. Она определяет
так называемую арифметику по модулю
6. (Эта арифметика работает точно так
же, как и обычная целочисленная
арифметика, за исключением того, что
все целые числа заменяются па остатки
от деления их на 6.)
У
п р а ж н е н и е 4.1.
По аналогии с «естественной» арифметикой, полученной для , построить аналогичную арифметику для
, используя символы
Построить арифметику для , которая согласуется со строкой
Р
ассматривая
, показать, что следующая таблица приводит к противоречию: