Символы и интерпретации

Вернемся к синтаксису языка. Нетерпеливый читатель может найти полное описание формальной грамматики логики первого порядка в листинге 8.1.
Листинг 8.1. Синтаксис логики первого порядка с оператором равенства, заданный в форме Бэкуса—Наура. (Для ознакомления с этой системой обозначений см. с. 1297.) В этом синтаксисе предусмотрены строгие правила применения круглых скобок; примечания, касающиеся круглых скобок и предшествования операторов, приведенные на с. 296, равным образом относятся и к логике первого порядка
Основными синтаксическими элементами логики первого порядка являются символы, которые обозначают объекты, отношения и функции. Поэтому сами символы подразделяются на три типа: константные символы, которые обозначают объекты; предикатные символы, которые обозначают отношения, и функциональные символы, которые обозначают функции. Примем соглашение, что имена этих символов будут начинаться с прописных букв. Например, могут использоваться константные символы Richard и John; предикатные символы Brother, OnHead, Person, King и Crown и функциональный символ LeftLeg. Как и применительно к пропозициональным символам, выбор имен этих символов полностью предоставляется пользователю. Каждый предикатный и функциональный символ характеризуется арностью, которая определяет количество формальных параметров.
Семантика должна связывать высказывания с моделями, для того чтобы можно было определить истинность. Чтобы иметь возможность решить такую задачу, требуется интерпретация, которая определяет, на какие именно объекты, отношения и функции ссылаются те или иные константные, предикатные и функциональные символы. Одна из возможных интерпретаций для рассматриваемого примера (которую мы будем называть намеченной интерпретацией) состоит в следующем:
• Символ Richard обозначает Ричарда Львиное Сердце, а символ John — злого короля Джона.
• Символ Brother обозначает отношение родства между братьями, т.е. множество кортежей объектов, приведенное в уравнении 8.1; символ OnHead обозначает отношение "быть на голове", которое установлено между короной и королем Джоном; символы Person, King и Crown относятся к множествам объектов, представляющих собой людей, королей и короны.
• Символ LeftLeg относится к функции "быть левой ногой", т.е. к отображению, приведенному в уравнении 8.2.
Может быть также много других возможных интерпретаций, связывающих эти символы с данной конкретной моделью. Например, одна интерпретация отображает символ Richard на корону, а символ John — на левую ногу короля Джона. В этой модели имеется пять объектов, поэтому существует 25 возможных интерпретаций только для константных символов Richard и John. Обратите внимание на то, что не все объекты имеют имя, например, в данной намеченной интерпретации не предусмотрены имена для короны или для ног. Возможно также, чтобы один объект имел несколько имен; примером такой интерпретации была бы интерпретация, в которой и символ Richard, и символ John относились бы к короне. Если читатель находит, что такая возможность приводит к путанице, напомним, что в пропозициональной логике вполне допустимо иметь модель, в которой высказывания Cloudy (пасмурно) и Sunny (солнечно) одновременно являются истинными; задача исключения из рассмотрения моделей, несовместимых с нашими знаниями, возлагается на базу знаний.
Истинность любого высказывания определяется с помощью некоторой модели и некоторой интерпретации символов этого высказывания. Поэтому логическое следствие, допустимость и другие свойства высказываний определяются в терминах всех возможных моделей и всех возможных интерпретаций. Важно отметить, что количество элементов проблемной области в каждой модели может быть неограниченным, например, элементами проблемной области могут быть целые числа или действительные числа. Поэтому не ограничено количество возможных моделей, как и количество интерпретаций. Проверка логического следствия путем перебора всех возможных моделей, которая была осуществимой в пропозициональной логике, в логике первого порядка больше не может применяться. Даже если количество рассматриваемых объектов ограничено, количество их комбинаций может быть очень большим. Например, при использовании символов, рассматриваемых в данном примере, существует приблизительно 1025 комбинаций для проблемной области с пятью объектами (см. упр. 8.5).
Термы
Терм — это логическое выражение, которое относится к некоторому объекту. Поэтому константные символы также представляют собой термы, но не всегда удобно иметь отдельный символ для каждого отдельного объекта. Например, в естественном языке можно воспользоваться обозначением "левая нога короля Джона", а не присваивать ноге короля имя. Именно для этого и нужны функциональные символы: вместо использования константного символа мы можем написать LeftLeg(John). В общем случае сложный терм формируется с помощью функционального символа, за которым следует заключенный в круглые скобки список формальных параметров данного функционального символа. Важно помнить, что любой сложный терм — это некоторое подразумеваемое имя, выраженное в сложной форме. Это — не "вызов процедуры", которая "возвращает значение". Не существует такой процедуры LeftLeg, которая принимает на входе какого-то человека и возвращает его левую ногу. Мы можем рассуждать о левых ногах (например, формулировать общее правило, что каждый человек имеет таковую, и на основании этого делать вывод, что таковую должен иметь Джон), даже не предусматривая определение символа LeftLeg. Это — такая логическая операция, которая не может быть выполнена с помощью процедур в языках программирования4.
Формальное определение семантики термов является несложным. Рассмотрим терм f (tlf..., tn). Функциональный символ f относится к некоторой функции в модели (назовем ее F); термы с обозначением формальных параметров относятся к объектам данной проблемной области (назовем Hxd1(...(dn);a сам терм в целом относится к объекту, представляющему собой значение функции F, применяемой к объектам dlf...,dn. Например, предположим, что функциональный символ LeftLeg относится к функции, показанной в уравнении 8.2, а символ John относится к королю Джону; в таком случае LeftLegiJohn) относится клевой ноге короля Джона. Таким образом, интерпретация определяет для каждого терма соответствующий референт (объект, к которому относится данный терм).







Материалы

Яндекс.Метрика