- •Формулы алгебры высказываний. Эквивалентность и преобразование формул
- •Преобразуем эту формулу, используя соответствующие эквивалентности
- •Контрольные вопросы и задания
- •2. Нормальные формы
- •Контрольные вопросы и задания
- •3. Полные системы операций
- •Контрольные вопросы и задания
- •4. Выводимость
- •Контрольные вопросы и задания
- •5. Формулы алгебры предикатов сигнатуры
- •Контрольные вопросы и задания
- •6. Формулы алгебры предикатов
- •Контрольные вопросы и задания
- •Библиографический список
- •Алгебры высказываний и предикатов
- •394036, Воронеж, пр. Революции, 19
Контрольные вопросы и задания
Преобразовать формулы к дизъюнктивной и конъюнктивной нормальным формам:
((A B) (C A)) (B C);
((((A B) A) B) C) C;
(A (B C)) ((A C) (A B)).
2. Привести к СДНФ и СКНФ формулы:
( С С);
((А
.
3. По данному набору значений переменных построить элементарную конъюнкцию, истинную только для этого набора значений переменных.
4. По данному набору значений переменных построить элементарную дизъюнкцию, ложную только для этого набора значений переменных.
5. Построить СКНФ и СДНФ, эквивалентные данной формуле, и найти интерпретации, на которых формула истинна и ложна:
С С;
)С));
С)) С).
6. Для формул G и H, заданных таблицей 1, найти СКН - и СДН – формы и простейшие формулы, реализующие эти функции.
7. Построить формулу от трёх переменных, которая истинна в том и только в том случае, когда ровно две переменные ложны.
8. Построить формулу от трёх переменных, которая принимает такое же значение, как и большинство (меньшинство) переменных.
9. По СКНФ формулы U построить:
СДНФ двойственной формулы U*;
СКНФ формулы U;
СДНФ формулы U.
10. По СДНФ формулы U и СДНФ формулы B построить:
СКНФ и СДНФ формулы (U B);
СКНФ и СДНФ формулы (U B);
СКНФ и СДНФ формулы (U B).
3. Полные системы операций
Система операций называется полной, если любая логическая операция может быть представлена формулой над .
Так как всякая
формула может быть представлена
приведенной формулой, то система 0
= {,
,
}
- полна.
Система сводится к *, обозначается *, если все операции системы * представимы формулами над системой . Если * полна, то и полна.
Последнее утверждение даёт один из способов доказательства полноты системы операций – сведение её к известной полной системе, например к 0. То есть полной будет система , через операции которой можно выразить конъюнкцию, дизъюнкцию и отрицание.
Задание 3.1. Доказать полноту системы 1 = {, }.
Решение. Сведем систему 1 к полной системе 0.
.
Если в произвольной формуле алгебры Жегалкина, реализующей булеву функцию f, раскрыть скобки и произвести все возможные упрощения, то получится формула, имеющая вид суммы произведений, то есть полинома по mod 2. Такая формула называется полиномом Жегалкина для данной функции. Линейной называется функция, полином Жегалкина которой линеен.
Задание 3.2.
Представить формулу (x1
x2)(
x1x3)
в виде полинома Жегалкина.
Решение.
(x1
x2)(
x1x3)
= ( x1x2
x1
x2)(
x1
x3
x1x3
)
=
= x1x2x3 x1 x3 x1x3 x1 x1x2x3 = x1 x3 x1x3 x1 =
= x1 (x2 1) x3 x1 x3 x1 (x2 1) = x1x2x3 x1x3 x1x3 x1x2
x1 = x1 x2 x3 x1 x2 x1
Полученный полином не является линейным и имеет степень 3.
Сводимость к полной системе операций является необходимым условием полноты системы операций. Необходимое и достаточное условие полноты формулирует теорема Поста в терминах булевых функций.
Задание 3.3. Доказать полноту системы 0, используя необходимое и достаточное условие полноты.
Решение. Рассмотрим соответствующую 0 систему булевых функций F0 = { f1, f2, f3 }, где f1(x) = x , f2(x1, x2) = x1 x2 , f3(x1, x2) = x1 x2 . Покажем, что в F0 есть хотя бы одна функция (не обязательно одна и та же), не принадлежащая каждому из замкнутых классов.
Класс функций, сохраняющих 0.
f1(0) = 1, f1T0.
Класс функций, сохраняющих 1.
f1(1) = 0, f1T1.
Класс самодвойственных функций.
f1*(x)
= (
)
= x
= f1(x).
Таким образом, f1
T*.
f2*(x1, x2) = x1 x2 f2(x1, x2), т.е. f2 T*.
Класс монотонных функций.
Так как f1(0) = 1, а f1(1) = 0, то =0 < =1, такие что f1() > f1(). Следовательно, f1T.
Класс линейных функций.
f1(x) = x = x 1, т.е. f1 – линейна.
f2(x1, x2) = x1 x2 = x1x2, а значит f2TL.
Следовательно, в силу теоремы Поста система 0 полна.
Задание 3.4. Является ли система операций ={, } полной?
Решение. Также как и в предыдущей задаче воспользуемся теоремой Поста. Рассмотрим соответствующую систему булевых функций F = { f1, f2}, где f1(x1, x2) = x1x2 , f2(x1, x2) = x1 x2.
Класс функций, сохраняющих 0.
f1(0, 0) = 1, f1T0.
Класс функций, сохраняющих 1.
f1(1, 1) = 1, f2(1, 1) = 1. Следовательно, f1 T1 и f2 T1, в системе нет булевой функции, не сохраняющей 1, и поэтому она неполна.
