- •Глава 0 логика, логическое программирование и пролог
- •Знакомство с логическим программированием Определение логического программирования
- •Наследие логики
- •2. Традиционная логика Аристотель
- •Законы традиционной логики
- •Критика силлогизма
- •3. Начальный период развития формальной логики Де Морган
- •Таблицы истинности
- •Фреже и Пеано
- •Исчисления
- •4. Логика высказываний Высказывания
- •Правильно построенные формулы
- •Т а б л и ц а 0. 8
- •Истинностное значение ппф
- •Теории и аксиомы
- •Методы доказательства
- •Метаязык и объектный язык
- •5. Логика предикатов Атомарные формулы
- •Правильно построенные формулы
- •Истинностное значение ппф
- •Построение теории некоторой области знаний
- •Переменные как термы
- •Семантические свойства формул
- •Методы доказательства
- •Аксиоматическое определение отношения
- •Разрешимость свойств
- •0.6. От формальной логики - к логическому программированию Автоматизация процедур доказательства
- •Процедуры опровержения
- •Основание Хербранда
- •Хербрандовские интерпретации
- •Полезные свойства хербрандовских интерпретаций
- •Фразовая форма
- •Резолюция
- •0.7. Развитие языка пролог Развитие языка Пролог
- •Особенности языка Пролог
- •0. 8. Синтаксис языка пролог
- •Пример Пролог-программы
- •9. Фразы хорна как средство представления знаний Решение задач
- •Программирование
- •0.10. Семантика пролога Три семантические модели
- •Декларативная модель
- •Процедурная модель
- •Модель в виде абстрактной машины
- •Сферы употребления моделей
- •0.11. Метаязык / объектный язык Функции метаязыка
- •Метаязык Пролога
- •Предикаты метаязыка
- •0. 12. Сферы применения языка пролог
- •Реляционные базы данных
- •Программная инженерия
- •Естественный язык
- •Представление знаний
- •Экспертные системы
- •Библиографические заметки
Исчисления
Подробный рассказ об истории развития формальной логики в XX в. выходит за рамки данной книги. Одним из факторов, делающих такой рассказ практически невозможным, служит то обстоятельство, что система обозначений, принятых в формальной логике, эволюционировала столь же быстро, как и сама эта наука. Почти каждый ученый-логик двадцатого столетия использовал свою систему обозначений, отличную от систем, употребляемых другими учеными. Это имело место по крайней мере вплоть до недавнего времени, пока не установились в качестве стандартных несколько систем обозначений. В оставшейся части данной главы автор попытался использовать наиболее удобные логические обозначения (символы которых можно напечатать в коде ascii!).
Поэтому вместо исторического рассказа в следующих двух разделах дается неформальный обзор логики высказываний и логики предикатов. Это готовит читателя к обсуждению в разд. 0. 6 правила резолюции - основного правила вывода в логическом программировании. Автор намеренно прибегает к нестрогому стилю изложения. Для полного ознакомления с обсуждаемыми темами читатели могут обратиться к работам, список которых приводится в конце главы.
4. Логика высказываний Высказывания
В соответствии с общепринятым лексиконом логики высказываю и символы А, В. С и т. д. применяются для обозначения атомарных высказываний (т. е. высказываний, которые нельзя разбить на компоненты). Отличительной особенностью высказывания является то, что оно обладает истинностным значением - истина или ложь.
В некоторых случаях полезно представить, что один из этих символов обозначает высказывание, выраженное на естественном языке. Представим, например, что символ А обозначает предложение естественного языка:
Земля вращается вокруг Солнца.
Можно описать эту ситуацию, говоря, что данное предложение является неформальным смыслом А. Поскольку в этом предложении утверждается нечто такое, что мы принимаем за истину, то значением истинности данного предложения будет истина. В общем случае логика высказываний занимается только истинностными значениями символов и формул, построенных из этих символов. Тот факт, что некоторый символ имеет определенный неформальный смысл, с логикой высказываний непосредственно не связан. Неформальный смысл символов, однако, становится важным, когда мы используем методы логики высказываний применительно к конкретной области знаний.
Правильно построенные формулы
Сложные формулы в логике высказываний можно строить путем комбинирования символов, представляющих атомарные высказывания, с логическими соединителями, приведенными в табл. 0. 8.
Сложная формула, включающая логические соединители, называется правильно построенной формулой (ППФ). В лексиконе логики высказываний символы р, q и r обозначают пропозициональные переменные. Пропозициональные переменные используются для обозначения ППФ. ППФ можно определить следующим образом:
1. Символ, представляющий атомарное высказывание (например, А), — это ППФ.
2. Если р и q — это ППФ, то ППФ будут и такие формулы:
ППФ Читается так:
~ р не р
p&q. р и q
pV q р или q
р — — > q если р, то q; р имплицирует q
р < — - > q р тогда и только тогда, когда q;
р эквивалентно q.
Каждое из приведенных выше выражений с р и q называется предложной формой. Предложная форма — это абстрактная спецификация синтаксиса бесконечного числа ППФ, составленных из символов, представляющих атомарные высказывания. Предложная форма — это либо единственная пропозициональная переменная (к примеру, р), либо комбинация пропозициональных переменных, связанных соединителями. ППФ, синтаксически согласующаяся с предложной формой, называется конкретной подстановкой для предложной формы. Например, если А, В и С — это символы, обозначающие атомарные высказывания, то ППФ
A& (BVC)
будет конкретной подстановкой для следующих предложных форм:
(1) р (р обозначает А & (В V С))
(2) р & q (р обозначает А;
q обозначает (В V С))
(3) р& (г V q) (р обозначает А;
r обозначает В;
q обозначает С)