- •1. Элементы теории множеств
- •1.1 Множества. Основные понятия
- •1.2. Способы задания множеств
- •1.3. Операции над множествами. Диаграммы Венна
- •1.4. Свойства операций над множествами
- •1.5. Прямое (декартово) произведение множеств
- •1.6 Разбиения и покрытия
- •1.7. Замечание о мощности некоторых множеств
- •1.8 Представление множеств в эвм
- •1.9. Отношения
- •1.9.1.Определения
- •1.9.2 Бинарные отношения
- •1.9.3. Способы задания бинарных отношений
- •1.9.4 Свойства бинарных отношений
- •1.9.5. Отношение эквивалентности
- •1.9.5. Отношение порядка
- •1.9.6.1. Минимальные и максимальные элементы множества
- •1.9.6.2. Диаграммы Хассе
- •1.9.6.3. Принцип двойственности
- •1.9.7. Представление отношений в эвм
- •1.10. Соответствия. Функции. Операции. Отображения
- •1.10.1. Соответствия и их свойства
- •1.10.2 Функции и отображения
- •1.10.3. Инъекция, сюръекция и биекция
- •1.10.4. Композиция и суперпозиция функций. Способы задания функций
- •1.10.5. Представление функций в эвм
- •1.10.6. Операции
- •1.10.6.1. Способы задания операций
- •1.11. Алгебраические структуры
- •1.11.2. Замыкание и подалгебры
- •1.11.3. Гомоморфизм и изоморфизм
- •1.11.4. Алгебры с одной бинарной операцией
- •1.11.5. Алгебры с двумя бинарными операциями
- •1.11.6.Решетки
- •1.11.7. Булевы алгебры
- •2. Элементы математической логики и булевы функции
- •2.1. Операции над высказываниями
- •2.2. Логические операции (логические связки)
- •2.3. Элементарные булевы функции
- •2.3.1. Функции алгебры логики
- •2.3.2. Равносильность функций. Существенные и несущественные переменные
- •2.3.3. Реализация функций формулами. Суперпозиция функций
- •2.3.4. Подстановки и замены
- •2.3.5. Принцип двойственности
- •2.3.6. Нормальные формы в логике высказываний
- •2.3.6.1. Разложение булевых функций по переменным. Дизъюнктивно-нормалльная форма (днф)
- •2.3.6.2. Совершенная дизъюнктивная нормальная форма
- •2.3.7. Арифметические операции в алгебре логики. Полиномы Жегалкина
- •2.3.8. Монотонные функции алгебры логики
- •2.3.9. Функционально замкнутые классы
- •2.4. Полнота системы булевых функций. Теорема
- •2.5. Элементы логике предикатов
- •2.5.1. Определение предиката
- •2.5.2. Кванторы. Формулы логики предикатов
- •2.5.3. Равносильность формул
- •2.5.4. Предикаты на конечных областях. Логика одноместных предикатов
- •2.6. Операции над предикатами и кванторами
- •2.7. Построение доказательств в логике предикатов
- •1.6.2. Разбор решений задач по логике предикатов
- •1. Элементы теории множеств 3
- •1.1 Множества. Основные понятия 3
- •2.6. Операции над предикатами и кванторами 137
- •394026 Воронеж, Московский просп., 14
2.3.4. Подстановки и замены
Если в формулу F входит переменная х, то этот факт обозначается так: F(...x...).
Соответственно запись F(...G..) обозначает, что в формулу F входит подформула G. Можно вместо x и G подставить другую формулу или переменную.
Если подстановка производится вместо всех вхождений заменяемой переменной (или подформулы), то результат подстановки обозначается так:
F(...x...){G//x}.
Если же подстановка производится вместо некоторых вхождений (в том числе вместо одного), то результат подстановки обозначается так:
F(...G1...){G2/G1}.
Пример 1. Замена всех вхождений переменной х
xv¬x{y^z//x} = (y^z)v¬(y^z).
2. Замена всех вхождений подформулы:
xvyvz{¬x//yvz} = xv¬x.
3. Замена первого вхождения переменной:
xv¬x{y/x} = yv¬x.
4. Замена первого вхождения подформулы:
xvyvz{¬x/yvz} = xv¬x.
Правило подстановки: если в равносильных формулах вместо всех вхождений некоторой переменной х подставить одну и ту же формулу, то получатся равносильные формулы:
.
2.3.5. Принцип двойственности
Понятие двойственных функций
Двойственная функция получается из исходной при замене всех переменных на противоположные, т.е. всюду в истинностной таблице нужно заменить 0 на 1, а 1 на 0:
Определение 1. Функция f+(x1, ...,xn), двойственная к функции f(x1, ...,xn), определяется равенством:
f+(x1, ...,xn) = .
Из определения видно, что двойственность инволютивна: f++ = f.
Определение 2. Функция, равносильная своей двойственной, т.е. такая, что
f(x1, ...,xn) = f+(x1, ...,xn) = ,
называется самодвойственной.
Самодвойственная функция принимает на противоположных наборах и противоположные значения.
f |
1 |
0 |
x1vx2 |
x1^x2 |
x |
|
f* |
0 |
1 |
x1^x2 |
x1vx2 |
x |
|
Пример 2. Тождественная функция и отрицание самодвойственны, а дизъюнкция и конъюнкция – нет.
Теорема. Если функция φ(х1...хn) реализована формулой
f(f1(x1, ...,xn), ..., fn(x1, ...,xn)), то формула реализует функцию φ*(х1...хn).
Доказательство. φ*(х1...хn) = =
=
= =
= = .
Теорема (Принцип двойственности).
Пусть F = {f1, ..., fm}. Положим F* = {f1*, ..., fm*}.
Тогда, если формула F над базисом F реализует функцию f, то формула F* над базисом F* полученная из формулы F заменой функций f на двойственные функции f*, реализует функцию f*:
funcF[F]=f => funcF*[F*] = f*, где F*[F*] = F[F]{fi*//fi}
Короче: Функция, двойственная суперпозиции некоторых функций, равносильна соответствующей суперпозиции двойственных функций.
Следствие: F1 = F2 => F1* = F2*.
Пример: Из по принципу двойственности сразу имеем .
Закон двойственности удобен при нахождении двойственных функций для функций, представленных формулами. Можно, конечно, воспользоваться определением двойственной функции и поставить отрицания над аргументами и над всей формулой. Однако при этом из формулы, содержащей только дизъюнкции, конъюнкции и отрицания, у которой отрицания стоят только над аргументами, получится формула, не обладающая этим свойством.
Если же строить двойственную функцию при помощи закона двойственности, (заменив операции на двойственные, а именно, конъюнкции на дизъюнкциями и наоборот), то указанное свойство сохраняется.
Примеры.
A. Дать определение несамодвойственной функции.
Функция является несамодвойственной, если существует такой набор , что .
B. Дана произвольная несамодвойственная функция. Отождествить у нее переменные так, чтобы получилась несамодвойственная функция от возможно меньшего числа переменных. Каким может быть это число?
Пусть f(x1, ..., xn) – несамодвойственная функция, тогда для набора имеем
. (*)
Разобьем переменные (x1, ..., xn) на две группы:
1) сюда включим те переменные xi, для которых .
2) сюда – остальные переменные (для которых 0).
Отождествим между собой переменные первой группы (переименуем их в у1), а так же переменные второй группы (переименуем их в у2).
В результате получим функцию от двух переменных . Она может оказаться функцией от одной переменной, если - единичный или нулевой набор.
Очевидно, что
и =
Поэтому, в силу (*), отсюда следует, что
,
а значит, - несамодвойственная функция.
Может оказаться, что дальнейшее отождествление переменных с сохранением несамодвойственности невозможно.
Например, ху – несамодвойственная функция, а единственно возможное отождествление переменных приводит к самодвойственной функции х.
C. Доказать, что из произвольной несамодвойственной функции и отрицания суперпозицией можно получить константы 0 и 1.
1) Заметим, что все несамодвойственные функции одной переменной являются константами. Поэтому в силу предыдущей задачи можно ограничиться функциями от двух переменных. Пусть
.
Тогда рассмотрим функцию . Эта функция является суперпозицией и . Так как , то . Отождествим у переменные х и у: . Имеем , т.е. . Подставляя эту координату в , получим другую константу. Таким образом, представлены в виде суперпозиции и обе константы 1 и 0.
Эти задачи используются в последствии при доказательстве теоремы Поста.