
- •Лекция 2 Двойственность. Класс самодвойственных функций.
- •Пример 1. Покажем, что функция х1х2 двойственна к x1&x2, функция х1 х2 двойственна к функции x1|x2.
- •Полнота, примеры полных систем
- •Представление функции в виде полинома Жегалкина
- •Теорема Жегалкина
- •Замыкание и замкнутые классы
- •Важнейшие замкнутые классы в р2
- •Теорема Поста о полноте
- •Примеры использования теоремы Поста.
- •3. Составим критериальную таблицу для другой полной системы функций из р2: из р2: {0, 1, x1x2, x1x2}.
- •Теорема о достаточности четырех функций.
- •Следствие. Базис в р2 может состоять максимум из четырех функций.
- •Некоторые приложения алгебры логики.
- •2. Схемы функциональных элементов.
- •Решение логических задач методами алгебры логики.
Лекция 2 Двойственность. Класс самодвойственных функций.
Пусть формула А содержит только операции конъюнкции, дизъюнкции и отрицания.
Будем называть операцию конъюнкции двойственной операции дизъюнкции, а операцию дизъюнкции
двойственной операции конъюнкции. Определение. Формулы А и А * называются двойственными, если формула А * получается из формулы А путем замены в ней каждой операции на двойственную.
Например, для формулы А (х y)&z двойственной формулой будет формула А * (х& у) z .
Теорема. Если формулы А и В равносильны, то равносильны и им двойственные формулы, то есть
А* В * .
Предварительно докажем лемму.
Лемма.
Если для формулы A(x1
,x2
....xn)
двойственной формулой является А*( x1
,x2
....xn),
то справедлива равносильность А*(x1,
..., xn)
=
(
1,
...,
n).
(Доказательство леммы разбирается студентом самостоятельно см. Лихтарников «МЛ» стр. 28-29)
Пример 1. Покажем с помощью таблицы истинности, что константа 0 двойственна к 1:
x |
f |
f* |
0 |
0 |
1 |
1 |
0 |
1 |
Функции f(x) = x и g(x) = двойственны сами себе:
x |
f |
f* |
g |
g* |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
так
как f*(0)=
(1).
Определение 1. Если f*(x1, ..., xn) = f(x1, ..., xn), то f(x1, ..., xn) называется самодвойственной.
Множество всех самодвойственных функций обозначается через S.
Если f*–
самодвойственна, то
(
1,
...,
n)
= f(x1,
..., xn),
т.е. на противоположных наборах функция
принимает противоположные значения.
Пример 1. Покажем, что функция х1х2 двойственна к x1&x2, функция х1 х2 двойственна к функции x1|x2.
-
x1
x2
f=х1х2
f*
g=x1|x2
g*=x1 x2
0
0
0
0
1
1
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
1
0
0
Пример 2.
Построить формулу, реализующую f*,
если f = ((x
y)
z) (y
(xyz)).
Покажем, что она эквивалентна формуле
N = z(xy).
Найдем (xy)* и (x y)*.
-
x
y
xy
(xy)*
x y
(x y)*
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
Из таблиц видно, что
(x
y)*
= x ~ y
=
=
x
y
1,
x
y
=
y
x
,
(x
y)*
=
y
x
y
=
y.
По принципу двойственности:
f*
=
yz
(
(x
(y
z)
1))
=
yz
z(x
(y
z)
1)
= z(
y(
x
z
))
= z(
y
(xz1))
= z(
y
(x
))
= z
y(z
xz
)
= z(
yx
)
= z(xy).
Тогда f = (f*)* = [z(xy)]* = z(x~y).