- •Язык логики предикатов
- •Буквы и символы
- •Термы - константы, переменные, функции
- •Атомарные предикаты
- •Кванторы и связанные переменные
- •Определение правильно построенной формулы
- •Семантика логики предикатов
- •Использование языка логики предикатов для представления знаний
- •Префиксная нормальная форма
- •Сколемовская нормальная форма
- •Клаузальная форма
- •Предложения (дизъюнкты) Хорна
- •Формализация процесса доказательств
- •Метод резолюции для логики высказываний.
- •Принцип резолюции в логике предикатов
- •Наиболее общий унификатор
- •Алгоритм доказательства методом резолюции
- •3) ("X)[шпион(X)®дипломат(X)]
- •Ограничения логики предикатов первого порядка
- •Понятия вычислимости. Счетные и несчетные множества.
- •Машина Тьюринга.
- •Функции, вычислимые на машине Тьюринга
- •Примеры невычислимых по Тьюрингу функций
- •Тезис Чёрча-Тьюринга.
- •Проблема остановки машины Тьюринга.
- •Рекурсивные функции
- •Рекурсивность вычислимых по тьюрингу функций.
- •Нормальные алгорифмы маркова
- •Логика первого порядка неразрешима
- •Теорема о корректности.
- •Теорема о компактности.
- •Теорема Лёвенгейма-Сколема
- •Список литературы.
Язык логики предикатов
Логика высказываний отражает только логические связи между предложениями. Логика предикатов проникает в структуру самих предложений. В логике предикатов отражены связи между тем, о ком или о чем идет речь (субъект или объект), с тем, что говорится о данном предмете (предикат).Поэтому язык логики предикатов лучше, чем язык логики высказываний, приспособлен для выражения логических связей между различными понятиями и утверждениями.
Логику предикатов можно назвать языковой системой, которая оперирует на естественном языке в пределах установленных простых синтаксических правил этого языка. При определении структуры языка необходимо установить:1) множество букв, 2) морфемы, 3) синтаксис. Это справедливо и для языка логики предикатов. Однако целью логики предикатов является не языковое изложение, а исследование общих свойств языка. Поэтому, не расшифровывая, что конкретно является содержанием компонентов 1) и 2), просто зададим множество знаков и на его основе определим слова как последовательности этих знаков [2].
В языке предикатов задаются слова, которые описывают сущности (объекты) изучаемого мира. Эти слова называются термами. И задаются слова, описывающие свойства, атрибуты этих сущностей (объектов), а также их поведение и отношения. Такие слова называютсяпредикатами. Перейдем теперь к описанию языка логики предикатов первого порядка.
Буквы и символы
В логике предикатов используется только несколько специально зарезервированных символов. Кроме них допускается применение любых букв и символов.
Зарезервируем символы ® « Ú Ù` $ " ºдля обозначения соответственно логических связок импликации, эквивалентности, дизъюнкции, конъюнкции, отрицания, кванторов существования и общности, а также знака логической эквивалентности формул. Кроме того, включим в специальные символы круглые, квадратные и фигурные скобки.
Термы - константы, переменные, функции
Некие сущности (объекты) и переменные описываются упорядоченными последовательностями конечной длины из букв(символов), за исключением зарезервированных символов. Константы и переменныеопределяют отдельные объекты описываемого мира.
Иными словами, константа - это имя конкретного объекта, а переменная может принимать различные значения, которые являются константами. Далее в примерах мы будем обозначать переменные строчными латинскими буквами (например, u,w,x,y,z).
Функция - это конечная разделенная запятыми последовательность из nконстант или переменных (n > 0), заключенная в круглые скобки, следующие за символом функции. Имя функции (функциональный символ) задается некоторой конечной последовательностью букв. Переменные или константы, заключенные в скобки, называются аргументамифункции.
Например, функция f(x,y)принимает некоторые значения, которые определяются значениями переменныхxи y(аргументов функции), содержащиеся под знаком функции. Эти значения являются некоторыми функциями окружающего мира. Здесь f- функциональный символ, x,y- переменные.
Другой пример. Введем функцию v(x), которая любому объектуxставит в соответствие год его рождения. Тогда
v(Санкт-Петербург)=1703,
v(Пушкин)=1799