- •Введение.
- •Назначение курса.
- •1.2 Логические представления
- •1.3 История развитая математической логики
- •1.4 Вопросы для самопроверки.
- •2. Основы математической логики
- •2.1 Логика высказываний. Основные понятия и определения.
- •2.2 Предикаты и кванторы
- •2.3 Булевы функции, булевы константы.
- •2.4 Основные логические связи.
- •Отрицание (логическая связь "не")
- •Конъюнкция
- •Дизъюнкция
- •Импликация.
- •Эквиваленция или равнозначность
- •2.5 Вопросы для самопроверки.
- •3. Алгебра логики.
- •3.1 Понятие алгебры.
- •3.2 Основные логические функции
- •3.3 Основные законы алгебры логики
- •Постулаты алгебры логики
- •Законы алгебры логики. Теоремы одной переменной
- •Теоремы для двух и трех переменных
- •3.4 Тавтологии. Равносильные формулы
- •3.5 Полнота системы логических функций. Базис
- •Критерии полноты Поста-Яблонского
- •3.6 Вопросы для самопроверки
- •4. Введение в формальные (аксиоматические) системы
- •4.1 Формальные модели.
- •4.2 Принципы построения формальных теорий. Аксиоматические системы, формальный вывод.
- •4.3. Формальные теории. Основные понятия и определения
- •Выводимость
- •Полнота, независимость и разрешимость
- •Метатеория формальных систем.
- •4.5 Вопросы для самопроверки.
- •6.3 Метод резолюции для логики предикатов первого порядка
- •6.5Формы представления логических формул.
- •7. Неклассические логики
- •7.2 Нечетная логика
- •7.3 Модальная и пороговая логика
- •Пороговая логика
- •Машина Тьюринга
- •8.3 Рекурсивные функции
- •8.5 Алгоритмически неразрешимые проблемы.
- •8.6 Меры сложности алгоритмов. Классы задач р, ехр и np. Np полные задачи
Критерии полноты Поста-Яблонского
Теорема о функциональной полноте была сформулирована в 1921 г. американским ученым Эмилем Постом и доказана советским ученым Яблонским С.В.
Система S булевых функций fi является полной тогда и только тогда, когда выполняются 5 условий: существует функция fi S, не сохраняющая константу нуль: fi K0; функция fi S, не сохраняющая константу 1: fi K1; нелинейная функция, не самодвойственная и немонотонная функция в системе S. Построим все булевы функции от двух переменных (табл.).
переменные |
булевы функции |
||||||||||||||||
X1 |
X2 |
f0 |
f1 |
f2 |
f3 |
f4 |
f5 |
f6 |
f7 |
f8 |
f9 |
f10 |
f11 |
f12 |
f13 |
f14 |
f15 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
Индекс i функциональной переменной равен десятичному эквиваленту этой функции, читаемому сверху вниз.
- константа 0
- конъюнкция
- левая коимпликация (читается “неправда, что если X1 то X2», префикс ко – от латинского conversus - обратный
- правая коимпликация
- сложение по модулю 2 (неравнозначность)
- дизъюнкция
- стрелка Пирса, функция Вебба
- эквивалентность
- отрицание X2
- правая импликация («если X1 то X2»)
- отрицание X1 («если X1 то X2»)
- левая импликация
- штрих Шеффера
Для порождения всех базисов в P2 построим двумерную таблицу, каждой строке которой взаимно однозначно составим 11 функций, столбцу - класс, и в клетке (i, j) ставим 1, если 1 -функция не принадлежит j классу.
идентификатор строки |
номер функции fi |
классы |
||||
K0 |
K1 |
Kл |
Kс |
Kм |
||
a |
0 |
|
1 |
|
1 |
|
b |
1 |
|
|
1 |
|
1 |
c |
2 |
|
1 |
1 |
1 |
1 |
d |
6 |
|
1 |
|
1 |
1 |
e |
7 |
|
|
1 |
1 |
|
g |
8 |
1 |
1 |
1 |
1 |
1 |
k |
9 |
1 |
|
|
1 |
1 |
m |
12 |
1 |
1 |
|
|
1 |
n |
13 |
1 |
|
1 |
1 |
1 |
p |
14 |
1 |
1 |
1 |
1 |
1 |
r |
15 |
1 |
|
|
1 |
|
Из таблицы видно, что каждое, указанное ниже, покрытие порождает базис Bi.
П1 = {g} B1 – базис Вебба;
П2 = {p} B2 – базис Шеффера;
П3 = {a, n} B3 = {, 0} – импликативный базис;
П4 = {b, m} B4 = {& } – конъюнктивный базис Буля;
П5 = {m, e} B5 = { } – дизъюнктивный базис Буля;
П6 = {r, b, d} B6 = {, &, 1} – базис Жегалкина;
П7 = {m, n} B7 = { , } – базис Фреге.
Всего 17 базисов.
Наиболее часто приходится использовать базис Шеффера.