Программирование в Логике. Чанышев О.Г. - 27 стр.

UptoLike

Составители: 

53
Пролог-программа
Пролог-программу следует рассматривать как доказательст-
во теоремы, сформулированной в разделе GOAL. Доказательство
использует аксиомы, сформулированные как факты Пролога, а
также вспомогательные теоремы, сформулированые в виде пред-
ложений.
Часто используемый термин цельэто и есть теорема, или
целевое утверждение. Предложения и отдельные его утверждения
рассматриваются как подцели.
Вопросэто та
же теорема, или цель. Использование этого
термина связано со взглядом на пролог-программу как систему
управления Базой Знаний, сами знания в которой представлены
фактами.
В случае "Кто у нас большой и темный?" вторая интерпре-
тация конъюнкции большой(X),темный(X) – это теорема о суще-
ствовании большого и темного объекта X.
Для формулирования целей
и подцелей используются пере-
менные.
Переменнаясимволическое имя, которому может быть со-
поставлен определенный домен (определенный в разделе domains
или стандартный). Если сравнивать с русским языком, то пере-
меннаяэто местоимение, которое должно получить конкретное
значение. Переменная должна начинаться с буквы в верхнем реги-
стре (или символа подчеркивания) и может содержать только
бук-
вы, цифры и знаки подчеркивания. Переменные могут быть связ-
ными (имеющими значение), несвязными (свободными, не имею-
щими значения) и анонимными.
Переменная анонимнаяпеременная "_", используемая вме-
сто обычной переменной в том случае, когда не важно значение
соответствующей ей обычной переменной.
Из переменных, отношений, конкректных экземпляров объ-
ектов, используя очень простой
синтаксис, конструируются ут-
верждения и предложения Пролога.
Утверждениеодно или несколько отношений, связанных
конъюнктивно (отношения, перечисляемые через запятую).
Предложениеутверждение, заканчивающееся точкой, ко-
торое может быть фактом и правилом.
54
Правилоутверждение, истинность которого зависит от
выполнения ряда условий.
Заметим, что любое математическое выражение можно на-
звать отношением, поскольку его можно представить в префикс-
ной записи, и тогда у нас получится обращение к предикату (вы-
зов процедуры).
Правила состоят из двух частейголовы правила и тела
правила, соединенных логической связкой "если
": (if|:-)." И син-
таксически, и семантически левая часть правила представляет со-
бой отношение, это то же самое, что и утверждение, т. е. правило в
целом читается как "отношение имеет место быть, если верны ут-
верждения в правой части" или "утверждение в левой части верно,
если верны утверждения в правой части правила".
Левая часть правила или предложение, состоящее из одного
утверждения, называется предикатом.
В этом смысле раздел clauses содержит определения преди-
катов.
Предикаты должны быть объявлены в разделе predicates.
Предикат может содержать одно или несколько утвержде-
ний:
женщина(умная).
женщина(красивая).
женщина(нежная).
женщина(страстная).
женщина(сварливая).
.................
Предикату могут соотвествовать несколько правил. В таком
случае
говорят о "множественном определении предиката".
Число объектов определяет арность предиката. Предикат
женщина имеет арность, равную 1.
Пример предиката нулевой арности:
люблю_женщину:-
женщина(умная),
женщина(красивая),
женщина(нежная),
женщина(страстная).
                      Пролог-программа                                  Правило – утверждение, истинность которого зависит от
      Пролог-программу следует рассматривать как доказательст-    выполнения ряда условий.
во теоремы, сформулированной в разделе GOAL. Доказательство             Заметим, что любое математическое выражение можно на-
использует аксиомы, сформулированные как факты Пролога, а         звать отношением, поскольку его можно представить в префикс-
также вспомогательные теоремы, сформулированые в виде пред-       ной записи, и тогда у нас получится обращение к предикату (вы-
ложений.                                                          зов процедуры).
      Часто используемый термин цель – это и есть теорема, или          Правила состоят из двух частей – головы правила и тела
целевое утверждение. Предложения и отдельные его утверждения      правила, соединенных логической связкой "если": (if|:-)." И син-
рассматриваются как подцели.                                      таксически, и семантически левая часть правила представляет со-
      Вопрос – это та же теорема, или цель. Использование этого   бой отношение, это то же самое, что и утверждение, т. е. правило в
термина связано со взглядом на пролог-программу как систему       целом читается как "отношение имеет место быть, если верны ут-
управления Базой Знаний, сами знания в которой представлены       верждения в правой части" или "утверждение в левой части верно,
фактами.                                                          если верны утверждения в правой части правила".
      В случае "Кто у нас большой и темный?" вторая интерпре-           Левая часть правила или предложение, состоящее из одного
тация конъюнкции большой(X),темный(X) – это теорема о суще-       утверждения, называется предикатом.
ствовании большого и темного объекта X.                                 В этом смысле раздел clauses содержит определения преди-
      Для формулирования целей и подцелей используются пере-      катов.
менные.                                                                 Предикаты должны быть объявлены в разделе predicates.
      Переменная – символическое имя, которому может быть со-           Предикат может содержать одно или несколько утвержде-
поставлен определенный домен (определенный в разделе domains      ний:
или стандартный). Если сравнивать с русским языком, то пере-            женщина(умная).
менная – это местоимение, которое должно получить конкретное            женщина(красивая).
значение. Переменная должна начинаться с буквы в верхнем реги-          женщина(нежная).
стре (или символа подчеркивания) и может содержать только бук-          женщина(страстная).
вы, цифры и знаки подчеркивания. Переменные могут быть связ-            женщина(сварливая).
ными (имеющими значение), несвязными (свободными, не имею-              .................
щими значения) и анонимными.                                            Предикату могут соотвествовать несколько правил. В таком
      Переменная анонимная – переменная "_", используемая вме-    случае говорят о "множественном определении предиката".
сто обычной переменной в том случае, когда не важно значение            Число объектов определяет арность предиката. Предикат
соответствующей ей обычной переменной.                            женщина имеет арность, равную 1.
      Из переменных, отношений, конкректных экземпляров объ-            Пример предиката нулевой арности:
ектов, используя очень простой синтаксис, конструируются ут-            люблю_женщину:-
верждения и предложения Пролога.                                        женщина(умная),
      Утверждение – одно или несколько отношений, связанных             женщина(красивая),
конъюнктивно (отношения, перечисляемые через запятую).                  женщина(нежная),
      Предложение – утверждение, заканчивающееся точкой, ко-            женщина(страстная).
торое может быть фактом и правилом.

                              53                                                                 54