- •Глава 0 логика, логическое программирование и пролог
- •Знакомство с логическим программированием Определение логического программирования
- •Наследие логики
- •2. Традиционная логика Аристотель
- •Законы традиционной логики
- •Критика силлогизма
- •3. Начальный период развития формальной логики Де Морган
- •Таблицы истинности
- •Фреже и Пеано
- •Исчисления
- •4. Логика высказываний Высказывания
- •Правильно построенные формулы
- •Т а б л и ц а 0. 8
- •Истинностное значение ппф
- •Теории и аксиомы
- •Методы доказательства
- •Метаязык и объектный язык
- •5. Логика предикатов Атомарные формулы
- •Правильно построенные формулы
- •Истинностное значение ппф
- •Построение теории некоторой области знаний
- •Переменные как термы
- •Семантические свойства формул
- •Методы доказательства
- •Аксиоматическое определение отношения
- •Разрешимость свойств
- •0.6. От формальной логики - к логическому программированию Автоматизация процедур доказательства
- •Процедуры опровержения
- •Основание Хербранда
- •Хербрандовские интерпретации
- •Полезные свойства хербрандовских интерпретаций
- •Фразовая форма
- •Резолюция
- •0.7. Развитие языка пролог Развитие языка Пролог
- •Особенности языка Пролог
- •0. 8. Синтаксис языка пролог
- •Пример Пролог-программы
- •9. Фразы хорна как средство представления знаний Решение задач
- •Программирование
- •0.10. Семантика пролога Три семантические модели
- •Декларативная модель
- •Процедурная модель
- •Модель в виде абстрактной машины
- •Сферы употребления моделей
- •0.11. Метаязык / объектный язык Функции метаязыка
- •Метаязык Пролога
- •Предикаты метаязыка
- •0. 12. Сферы применения языка пролог
- •Реляционные базы данных
- •Программная инженерия
- •Естественный язык
- •Представление знаний
- •Экспертные системы
- •Библиографические заметки
Метаязык и объектный язык
Ученые-логики иногда считают необходимым провести различие между формальным языком, который они изучают, и тем языком, которым они пользуются при рассмотрении формального языка. Сам формальный язык называется объектным языком, а язык, применяемый для его рассмотрения, называется метаязыком. Объектный язык получил такое название потому, что в его предложениях могут отражаться логические взаимосвязи между реальными объектами. Метаязык описывает истинностные значения обозначений, употребляемых в объектном языке, неформальный смысл обозначений объектного языка, свойства отдельных предложений объектного языка, свойства теорий объектного языка и свойства объектного языка в целом. В данном разделе объектным языком является логика высказываний. При обсуждении логики высказываний в качестве метаязыка применяется подмножество естественного языка. Любое предложение, касающееся свойств любой стороны объектного языка, является предложением метаязыка. Некоторые примеры предложений метаязыка, касающихся высказывания А:
А - истинно.
А - ложно.
Выражение А V ~А логически тождественно истинно.
Неформальный смысл А: "Сегодня идет дождь".
А является логическим следствием теории, определяемой
аксиомами (1-4)*).
Полнота и последовательность теории
Про теорию говорят, что она синтаксически последовательна (т. е. непротиворечива), если из аксиом теории невозможно вывести противоречие. К примеру, теория, в которой можно доказать и р, и ~р, непоследовательна. Про теорию говорят, что она полна, если каждую истинную ППФ можно доказать на основании аксиом этой теории. Последовательность и полнота являются свойствами теории. Предложение
Теория, определяемая аксиомами (1-4), последовательна и полна. является предложением метаязыка.
5. Логика предикатов Атомарные формулы
В логике высказываний элементарным объектом, обладающим значением истинности, является атомарное высказывание, которое никаким образом нельзя разделить на компоненты. В логике предикатов элементарным объектом, обладающим истинностным значением, является атомарная формула. Атомарная формула состоит из символического обозначения предиката и термов, выступающих в роли аргументов этого предиката. В общем случае обозначение предиката — это имя отношения, существующего между аргументами. Поскольку сама атомарная формула построена из других объектов, она обладает гораздо большей выразительной силой, чем атомарное высказывание в логике высказываний.
Атомарная формула записывается как обозначение предиката, за которым в скобках располагаются несколько аргументов. Каждый аргумент — это терм. Общий вид атомарной формулы:
P (tl, t2,..., tn) Здесь Р - обозначение предиката, a t1, t2,..., tn - термы.
Определение понятия "терм"
Терм - это либо константа, либо переменная, либо употребление функции. "Употребление функции" записывается как символическое обозначение функции, за которым в скобках располагается список аргументов. Каждый аргумент сам является термом. Общая форма употребления функции:
f (tl, t2,..., tn)
Здесь f - обозначение функции, a tl, t2,..., tn — термы.
Словарь символических обозначений логики предикатов
В логике предикатов приняты следующие обозначения: буквы а, b, с обозначают константы, х, у, z обозначают переменные, f, g, h обозначают функции, а Р, Q, R используются для обозначения предикатов. Этот словарь можно расширить за счет других обозначений, но предполагаемое использование каждого вводимого обозначения следует оговаривать явно.