
- •Введение
- •1. Основные сведения из формальной логики
- •1.1. Введение в формальную логику
- •1.2. Формы познания человеком окружающего мира
- •1.3. Формы абстрактного мышления
- •«Все s есть p»,
- •«Если s есть p, то s есть p1».
- •1.4. Содержательное описание основных законов классической формальной логики и границы их применимости
- •1.5. Способы правильных умозаключений, обусловленных основными законами формальной логики.
- •1.6. Правильные способы рассуждений, основанные на теории силлогизмов
- •Вопросы для самоконтроля
- •2. Элементы теории множеств
- •2.1. Понятие множества. Способы задания множеств
- •Упражнения
- •2.2. Части множеств
- •2.2.1. Понятие подмножества
- •2.2.2. Множество-степень
- •2.2.3. Понятие о верхней и нижней гранях множеств
- •2.3. Операции над множествами.
- •2.4. Основные свойства операций над множествами
- •2.5. Отношения на множествах
- •2.5.1. Операции над отношениями
- •2.5.2. Основные свойства отношений
- •2.6. Функции как отношения на множествах
- •2.7. Отношения эквивалентности
- •2.8. Отношения порядка
- •Упражнения
- •Парадоксы теории множеств
- •Вопросы для самоконтроля
- •1. Алгебра логики
- •Понятие о простом и сложном высказывании
- •Упражнения
- •Логические операции над высказываниями
- •Упражнения
- •Упражнения
- •1.4. Аксиомы и законы алгебры логики
- •1.4.1. Правила склеивания для элементарных конъюнкций и дизъюнкций
- •Дизъюнкций
- •1.4.3. Правило развёртывания
- •Все ке для двух высказываний
- •Развёртывание элементарной дизъюнкции
- •Упражнения
- •1.5. Функции алгебры логики. Нормальные формы логических функций
- •Общая запись любой логической функции в сндф имеет вид
- •Пример. По заданной таблице истинности составить сндф функций
- •Снкф для выше приведенной таблицы истинности будут иметь вид
- •Упражнения
- •1.6.Минимизация логических функций
- •1.6.1. Расчетный метод минимизации
- •1.6.2. Табличный метод минимизации
- •1.6.3. Расчетно-табличный метод минимизации (метод Квайна)
- •Упражнения
- •1.7. Некоторые применения алгебры логики
- •Упражнения
- •Вопросы для самоконтроля
- •2. Исчисление высказываний
- •2.1. Понятие формулы исчисления высказываний
- •Упражнения
- •2.2. Аксиомы и простейшие правила вывода
- •Система аксиом исчисления высказываний
- •Тогда правило подстановка схематически запишется так
- •2.3. Определение доказуемой формулы
- •Рассмотрим примеры получения доказуемых формул.
- •2.4. Производные правила вывода
- •Упражнения
- •2.5. Определение формулы, выводимой из совокупности формул н
- •2.6. Понятие вывода
- •2.7. Основные правила выводимости
- •2.8. Доказательство некоторых законов логики
- •2.9. Проблемы аксиоматического исчисления высказываний
- •Вопросы для самоконтроля
- •3. Логика предикатов
- •3.1. Понятие предиката
- •3.2. Логические операции над предикатами
- •Упражнения
- •Кванторные операции
- •Упражнения
- •Определение формулы логики предикатов
- •3.5. Равносильные формулы логики предикатов
- •Упражнения
- •3.6. Предварённая нормальная форма
- •Выполнимость и общезначимость формул
- •Упражнения
- •Применение языка логики предикатов в математике и технике
- •Вопросы для самоконтроля
- •4. Основные положения теории алгоритмов
- •4.1. Интуитивное понятие алгоритма
- •4.2. Уточнение понятия алгоритма
- •4.3. Частично-рекурсивные и общерекурсивные функции
- •Упражнения
- •4.4. Машины Тьюринга
- •Упражнения
- •4.5. Понятие о нормальных алгоритмах Маркова
- •4.6. Алгоритмически неразрешимые проблемы
- •4.7. Сложность алгоритмов
- •Вопросы для самоконтроля
- •Ответы и решения
- •Раздел 1
- •Подраздел 1.3
- •Раздел 2
- •Раздел 3.
- •Раздел 4
- •Библиографический список
- •Список сокращений
- •Содержание
Общая запись любой логической функции в сндф имеет вид
,
Иначе говоря,
значение
определяет факт вхождения
в
.
При
конституента
входит в
,
а при
– не входит.
Исходя из этой канонической формы записи, можно сформулировать правило получения аналитического выражения логической функции из таблицы истинности. Для этого нужно составить логическую сумму КЕ для тех наборов переменных, для которых логическая функция равна 1, причем переменные входят в каждую КЕ со знаком отрицания, если на соответствующем наборе они равны 0.
Пример. По заданной таблице истинности составить сндф функций
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
Общая запись любой логической функции в СНКФ имеет вид
,
Иначе говоря, в
СНКФ будет отсутствовать тот дизъюнктивный
член, для которого
.
Действительно,
если мы, например, в функции
хотим оставить вторую и третью скобки,
то мы должны записать:
=
.
Правило получения логического выражения в СНКФ из таблицы истинности, исходя из приведенной общей записи, можно сформулировать следующим образом: составить логическое произведение КН для тех наборов переменных, для которых логическая функция равна 0, причем любая переменная входит в некоторую КН со знаком отрицания, если в соответствующем наборе она равна 1.
Снкф для выше приведенной таблицы истинности будут иметь вид
.
Выше было сказано, что СНДФ и СНКФ являются каноническими, потому что к ним можно свести любую произвольную аналитически заданную логическую функцию. В общем случае переход к СНДФ и СНКФ осуществляется за три шага.
1. Путем многократного применения закона отрицания снимаются групповые и общие отрицания так, что бы они оставались только у одиночных переменных.
2. С помощью распределительных законов производится переход к одной из нормальных форм функций:
а) для перехода к
НДФ применяется распределительный
закон первого рода [раскрываются скобки,
т.е.
];
б) для перехода к
НКФ применяется распределительный
закон второго рода [вводятся скобки,
т.е.
;
3. С помощью правила развертывания производится преобразование членов НДФ или НКФ в соответствующие конституенты.
Пример.
Преобразовать функцию
в СНДФ и СНКФ.
1. Применяя законы инверсии, снимаем все групповые отрицания:
.
2. Применяя
распределительный закон 1-го рода,
получаем
=
Применяя распределительный закон 2-го рода к формуле, полученной после первого шага, будем иметь
3. Применяя правило развертывания, переходим от НДФ к СНДФ и от НКФ к СКНФ:
Переход
от одной формы логической функции к
другой можно осуществить, используя
таблицу истинности. Для этого надо по
заданной формуле построить таблицу
истинности. Для в всех 1 в столбце функции
составить КЕ, соединив их знаком
.
Для всех 0 в столбце функции составить
КН, заключив их в скобки и поставив
между ними знак
.