Семантика исчисления предикатов

Исчисление предикатов (так же как и исчисление высказываний) являются, прежде всего, языками. И эти языки можно применять не только в математике. Используя их слова, фразы и предложения, мы можем представлять свойства и отношения в окружающем мире и рассуждать о них.

Английское слово «predicate» переводится на русский язык как «сказуемое». Рассмотрим предложение: «Гамлет пронзил Лаэрта мечом». В нем слово «Гамлет» является подлежащим, «пронзил» – сказуемым, «Лаэрта» и «мечом» – дополнениями. На языке предикатов это можно выразить так:

пронзил(гамлет, лаэрт, меч). (4.1)

Здесь пронзил– это предикат, а гамлет, лаэрт, меч – его термы. Такая запись похожа на обозначение функции, пронзил– аналог имени функции, а гамлет, лаэрт, меч – что-то вроде ее аргументов. Причем эти «аргументы» не равноправны между собой. «Гамлет» – это агент (тот, кто действует), он записан первым. «Лаэрт» – это объект действия, и он записан вторым. А «меч» – это инструмент, он стоит на третьем месте. В принципе, термы предиката могут быть представлены и в ином порядке (например, вначале «инструмент», потом «объект» и затем «агент»). Однако, приняв такой порядок, мы должны строго придерживаться его в дальнейшем. Форма (4.1) эквивалентна структуре, показанной на рис. 4.1, называемой падежным фреймом (case frame).

 
 

 


Рис. 4.1. Падежный фрейм предложения «Гамлет пронзил Лаэрта мечом»

 

Существуют компьютерные программы, использующие падежные фреймы для анализа высказываний с целью понимания их смысла. При разборе предложения программа выделяет в нем глагол и ищет в базе знаний соответствующий ему падежный фрейм. Затем она связывает значение агента, объекта и тому подобного с соответствующими узлами падежного фрейма. После этой процедуры становится ясно, что Гамлет – это человек, поражающий своего соперника с помощью меча. Эти лингвистические отношения запоминаются отдельно от реального предложения и даже от языка, на котором сформулировано предложения.

Таким образом, предикат – это форма представления информации, связывающая символы (слова) с объектами реального мира (или литературного произведения). Кроме того, он содержит информацию об истинности рассматриваемого утверждения. Высказывание может быть истинным или ложным. Если герой трагедии Гамлет действительно пронзил Лаэрта мечом, то выражение (4.1) идентифицируется как истинное. В противном случае оно будет ложным. Предположим что мы захотели использовать этот предикат с другими константами:

пронзил(ахилл, гектор, копье),

что равнозначно предложению: «Ахилл пронзил Гектора копьем». В общем случае мы можем записать

пронзил(X, Y, Z), (4.2)

где X, Y, Z – переменные. Разумеется, выражение (4.2) будет принимать значение «истина» не для всего возможного набора переменных, а только в том случае, если этот набор отвечает каким-то реальным (или изображаемым в литературном произведении) событиям.

Рассмотрим еще два предиката:

любит(саша, таня),

любит(нина, женя, люда).

Это два разных предиката, хотя они и имеют одинаковые имена. В первом случае мы имеем двухместный предикат, а во втором – трехместный. В этом и заключается причина отличия, обычно в таком случае и семантика предикатов тоже немного различная. В исчислении предикатов нет места двусмысленностям.

Приведем примеры одноместных предикатов: прекрасная(осень), вкусное(яблоко), отвратительный(скрежет). Эти предикаты описывают свойства объектов. А многоместные предикаты – соответственно отношения между объектами.

В исчислении предикатов помимо собственно самих предикатов используются еще и функции в привычном для нас смысле. Отличие между первыми и вторыми заключается в том, что предикаты возвращают значения алгебры логики: True и False (T и F), а функции – числовые значения. Например, функция плюс(два, пять) возвращает числовое значение семь, хотя по внешнему виду она ничем не отличается от предиката. Функция не может быть ни истинной, ни ложной.

Реальный мир (или воображаемый мир), литературное произведение (или математическая теория) наполнены множеством вещей, событий или местоположений. Язык сопоставляет этому многообразию определенные слова. Все, что мы описываем с помощью высказываний называется областью определения D. Истинность выражений зависит от соответствия констант, переменных, предикатов и функций объектам и отношениям в области определения.

Пусть область определения D – представляет из себя некоторое непустое множество. Интерпретация на D – это связывание логических объектов из D с каждой константой, переменной, предикатом и функциональным символом в выражении исчисления предикатов на основе следующих правил.

1. Каждой константе ставится в соответствие элемент из D.

2. Каждой переменной ставится в соответствие непустое подмножество из D; оно является областью допустимых значений для этой переменной.

3. Каждая функция f арности (числа операндов) m определяется для m параметров из D и задает отображение из в D.

4. Каждый предикат p арности n определяется для n параметров из D и задает отображение из в {T, F}.

Многие грамматически правильные предложения естественных языков могут быть представлены в исчислении предикатов первого порядка с помощью символов, связок и символьных переменных. Важно заметить, что не существует уникального отображения предложений в выражения исчисления предикатов. Одно предложение может иметь любое число различных представлений. Приведем примеры некоторых преобразований.

«Если в воскресенье не будет дождя, Петя пойдет в гости к другу».

погода(дождь, воскресенье)пойдет_в_гости(петя, друг)

«Все баскетболисты – высокие».

X(баскетболист(X)высокий(X))

«Два плюс три равно пяти».