- •Математическая логика и теория алгоритмов
- •Воронеж 2011
- •1. Логика высказываний
- •1.1. Алгебра высказываний
- •Операции над высказываниями
- •1.1.2. Правила записи сложных формул
- •1.1.3. Таблицы истинности
- •1.1.4. Равносильность формул
- •1.1.5. Дизъюнктивные и конъюнктивные нормальные формы
- •1.1.6. Логическое следствие
- •1.2. Исчисление высказываний
- •1.2.1. Алгоритмы проверки общезначимости и противоречивости в исчислении высказываний
- •1.2.2. Метод резолюций в исчислении высказываний
- •1.2.3. Метод резолюций для хорновских дизъюнктов
- •Задачи и упражнения
- •2. Логика и исчисление предикатов
- •2.1. Логика предикатов
- •2.2. Алгебра предикатов
- •2.2.1. Логические операции
- •2.2.2. Правила записи сложных формул
- •2.2.3. Законы алгебры предикатов
- •2.2.4. Предваренная нормальная форма
- •2.2.4.1. Алгоритм приведения формулы к виду пнф
- •2.2.5. Сколемовская стандартная форма
- •2.2.5.1. Алгоритм Сколема
- •2.3. Исчисление предикатов
- •2.3.1. Интерпретация формул
- •2.3.2. Правила вывода
- •2.3.3. Метод дедуктивного вывода
- •2.3.4. Метод резолюций в исчислении предикатов
- •2.4. Проблемы в исчислении предикатов
- •2.5. Логическое программирование
- •Задачи и упражнения
- •3. Элементы теории алгоритмов
- •3.1. Рекурсивные функции
- •3.1.1. Базовые функции
- •3.1.2. Элементарные операции
- •Выразим с помощью схемы примитивной рекурсии:
- •3.2. Машина Тьюринга
- •3.2.1. Описание машины Тьюринга
- •3.2.2. Примеры машин Тьюринга
- •3.3. Конечные автоматы
- •4. Неклассические логики
- •4.1. Пропозиционные логики
- •4.2. Алгоритмические логики
- •Задачи и упражнения
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
2.2.2. Правила записи сложных формул
Рассмотренные логические операции позволяют формализовать с помощью термов, предикатов и кванторов внутреннюю структуру предложения и формировать сложные суждения.
Пример. Суждение «Некоторые действительные числа являются рациональными».
В этом суждении есть два предиката P1(x)=«быть действительным числом» и P2(x)=«быть рациональным числом». Формула сложного суждения должна быть записана так:
F=x(P1(x)P2(x)).
Ошибочной является формула F=x(P1(x)P2(x))= =«некоторые числа, если они являются действительными, то они рациональные, т. к. замена бескванторной части на равносильную дает F=x( P2(x))=«некоторые числа не являются действительными или являются рациональными».
Пример. Суждение «Все рациональные числа действительные». Формула сложного суждения должна быть записана так:
F=x(P2(x)P1(x)).
Ошибочной является формула F=x(P1(x)P2(x))=«все числа являются и действительными и рациональными».
Пример. Суждение «Ни один человек не является четвероногим. Все женщины – люди. Следовательно, не одна женщина не является четвероногой».
В этом суждении три одноместных предиката P1(x)=«быть индивидом», P2(x)=«быть женщиной» и P3(x)=«быть четвероногим». Формула сложного суждения должна быть записана так:
Пример. Суждение «Ни один торговец наркотиками не является наркоманом. Некоторые наркоманы привлекались к ответственности. Следовательно, некоторые люди, привлекавшиеся к ответственности, не являются торговцами наркотиков».
В этом суждении три одноместных предиката P1(x)=«быть торговцем наркотиков», P2(x)=«быть наркоманом», P3(x)=«привлекаться к ответственности». Формула сложного суждения должна быть записана так:
Пример. Суждение «Саша – мальчик, у которого нет машины. Таня – девочка, которая любит мальчиков, имеющих машины. Следовательно, Таня не любит Сашу». В этом суждении два одноместных предиката P1(x)=«быть мальчиком», P2(x)=«быть девочкой», и два двухместных P3(x, y)=«x любит y», P4(x, y)=«x имеет y» три высказывания P1(a)=«Саша – мальчик», P2(b)=«Таня – девочка» и =«Саша не имеет машины (с)». Формула сложного суждения должна быть записана так:
Приведенные примеры позволяют сформулировать некоторые правила записи сложных суждений.
1) каждое вхождение логической связки относится к формуле, следующей непосредственно за логической связкой справа;
2) каждое вхождение логической связки после расстановки скобок связывает формулы, непосредственно окружающие логическую связку;
3) каждое вхождение логической связки после расстановки скобок связывает формулы, непосредственно окружающие эту связку.
4) логические связки по силе и значимости могут быть упорядочены так:
; ; ; ;.
5) за квантором общности чаще всего следует логическая связка импликации, а за квантором существования – конъюнкции;
6) если формула содержит подформулу, то внутренняя формула не должна содержать кванторов, связывающих ту же переменную, что и квантор формулы;
7) значения всех предметных переменных и постоянных должны принадлежать одной области определения предиката или функции;
8) если в одной формуле есть кванторы общности и существования, то при формализации суждений следует стремиться поставить квантор существования слева всей формулы.