Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
flp.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
207 Кб
Скачать
☆

105. Металогические предикаты

Металогические конструкции позволяют повысить выразительность программирования в любой среде. Основное назначение таких предикатов – анализ структуры доказательства. Метапре­дикаты в языке PROLOG служат для реализации (как минимум) пяти целей:

  1. Определение "типа" выражения.

  2. Добавление ограничений "типа" в логические приложения.

  3. Построение, разделение и оценка структур PROLOG.

  4. Сравнение значений выражений.

  5. Преобразование предикатов, передаваемых в виде данных, в исполняемый код.

106. Металогические предикаты для анализа структуры термы

Предикат, который извлекает аргумент из терм, функторов, которые переводят терм в список.

Поскольку данный вид предикатов выходят за рамки логики первого порядка, их применение весьма ограничено в реализациях Пролога со строгой типизацией данных. Основное назначение таких предикатов –анализ структуры доказательства.

107. Металогические предикаты для определения типа переменных

Основным типовым металогическим предикатом является предикат var (Term), проверяющий, представляем ли собой терм Term переменную с неопределенным значением.

var(Term) выполняется успешно, если в данный момент Term не подтверждается (который,

следовательно, ни с чем не связан кроме возможно другой не базовой переменной).

nonvar(Term) выполняется успешно, если Term подтверждается в данный момент (в отличие от

var/1).

Отношение plus (X,Y,Z), которое может быть использовано как для сложения, так и для вычитания. Идея состоит в проверке, какие установлены аргументы, до обращения к арифметическому вы­числителю.

plus (X, Y, Z): - nonvar (X), nonvar (Z), Y := Z - Y.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]