- •2. Элементы математической логики.
- •2.1. Высказывания и действия над ними.
- •2.2. Кванторы.
- •2.3. Предикаты.
- •2.4. Функции алгебры логики
- •2.4.1. Элементарные функции алгебры логики
- •2.4.2. Формульное задание функций алгебры логики
- •Некоторые свойства элементарных функций
- •Следствия из свойств элементарных функций
- •Упрощение записи формул:
- •Теорема о замене подформул на эквивалентные
- •2.4.3 Принцип двойственности
- •Принцип двойственности
- •Лемма о несамодвойственной функции
- •2.4.4 Разложение булевой функции по переменным
- •2.4.5. Полнота, примеры полных систем
- •Полные системы
- •Теорема Жегалкина
- •2.4.6. Замыкание и замкнутые классы
- •Важнейшие замкнутые классы в р2
- •Теорема Поста о полноте
- •Примеры использования теоремы Поста.
- •Теорема о достаточности четырех функций.
- •2.5. Математические теоремы, их виды и логическая структура.
- •2.5.1. Теоремы прямая, обратная, противоположная.
- •2.5.2. Достаточность и необходимость; существование и единственность.
- •2.5.3. Доказательство от противного; метод математической индукции.
- •2.6. Формальная аксиоматическая теория.
- •2.6.1. Основные определения.
- •2.6.2. Определение и разновидности дедуктивных теорий.
- •2.6.3. Исчисление высказываний
- •2.6.4. Теорема дедукции
- •2.6.5. Принцип резолюций.
- •2.6.6. Теорема о полноте исчисления высказываний.
- •2.6.7. Исчисление предикатов.
- •2.6.8. Теоремы Гёделя о неполноте.
Теорема Жегалкина
Каждая
функция из
может быть представлена в виде полинома
Жегалкина единственным образом.
Здесь единственность понимается с точностью до порядка слагаемых в сумме и порядка сомножителей в конъюнкциях:
, s = 0, 1, ..., n.
Доказательство.
Любая функция из Р2
может быть представлена формулой над
{x1
& x2,
x1x2,
0, 1}, а эта формула после раскрытия всех
скобок и приведения подобных членов
дает полином Жегалкина. Докажем
единственность представления. Рассмотрим
функции f(x1,
..., xn) от n
переменных. Мы знаем, что всего таких
функций, т.е. их таблиц истинности , 2n.
Подсчитаем число различных полиномов
Жегалкина от n
переменных, т.е. число вариаций вида:
.
Число наборов
равно числу всех подмножеств множества
{ x1,
..., xn }, сюда
входит и пустое множество (если s
= 0). Число подмножеств множества из n
элементов равно 2n
, а так как каждый набор входит с
коэффициентом
,
принимающим два значения: 0 или 1, то
число всевозможных полиномов будет
.
Так как каждому полиному соответствует
единственная функция, число функций от
n переменных равно
числу полиномов, то каждой функции будет
соответствовать единственный полином.
Определение. Функция f(x1, ..., xn), полином Жегалкина для которой имеет следующий линейный относительно переменных вид: f = а0 а1х1 а2х2 ... аnхn, называется линейной.
Лемма о нелинейной функции. Суперпозицией нелинейной функции, отрицания и константы 1 можно получить конъюнкцию.
Доказательство.
Пусть f(x1,
..., xn) –
нелинейная функция. Тогда полином
Жегалкина содержит для нее слагаемое,
в котором присутствует произведение
xixj.
Будем считать для простоты, что x1x2
в многочлене Жегалкина является этим
произведением. Произведя группировку
слагаемых, функцию f
представим в виде
Функция h0
не есть тождественный нуль, иначе в
полиноме Жегалкина отсутствует слагаемое
с произведением x1x2.
Тогда существует набор (3,
…, n)
из 0 и 1, для которого h0(3,
…, n)
= 1. Пусть h1(3,
…, n)
= a, h2(3,
…, n)
= b, h3(3,
…, n)
= c. Тогда
Построим функцию:
где
d = ab
c.
Если d = 0, то h(x1,
x2)
= x1x2.
Если d = 1, то h(x1,
x2)
= x1x2
1 и тогда
Лемма доказана.
Функция f(x1, ..., xn) сохраняет константу a {0, 1}, если f(a, …, a) = a.
Пример 4. Функция xy сохраняет 0, сохраняет 1. Функция xy сохраняет 1 и не сохраняет 0.
2.4.6. Замыкание и замкнутые классы
Определение 1. Пусть MР2. Замыканием М называется множество всех функций из P2, которые можно выразить формулами над М. Замыкание М обозначается [M].
Определение 2. Множество функций М называется замкнутым классом, если [M]=M.
Пример 1.
1) P2 – замкнутый класс.
2) Множество {1,x1x2} не является замкнутым классом. Его замыканием будет класс линейных функций: [{1, x1 x2}] = {f(x1, ..., xn) = c0 c1x1 cnxn}. Действительно, по определению формулы над М, функция f(G1, x3), где f – есть сумма по модулю 2, G1 – функция х1 х2, будет формулой над М: f(G1, x3) = (x1 x2) x3.
Замечание. В терминах замыкания и замкнутого класса можно дать другое определение полноты, эквивалентное исходному:
М – полная система, если [M] = P2.
3) A = {f(x1, ..., xn) f(1, 1, ..., 1) = 0} – незамкнутый класс. Возьмем формулу над этим множеством. Пусть f, g1, ..., gn A, т.е. f(1, 1, ..., 1) = 0, g1(1, 1, ..., 1) = 0, тогда f(g1, ..., gn) [A]. Посмотрим, принадлежит ли функция f(g1, ..., gn) множеству А. f(g1(1, ..., 1), g2(1, ..., 1), ..., gn(1, ..., 1) = f(0, ..., 0)), но f(0, ..., 0) не обязано быть равным 0. Действительно, пусть g1(x1, x2) = x1 x2, g2(x) = x A. Возьмем g2(g1(x1, x2)) = x1 x2 [A], g2(g1(1, 1)) = 1 1 = 0, следовательно, g2(g1(x1, x2)) A, отсюда [A] A и А – незамкнутый класс.
