Prolog Language
Экстра-логические предикаты
Поиск…
Предикаты с побочными эффектами
Предикаты, производящие побочные эффекты, оставляют область чистой логики. Это, например:
-
writeq/1
-
read/1
-
format/2
Побочные эффекты - это явления, которые не могут быть обоснованы в рамках программы. Например, удаление файла или вывода на системном терминале.
Мета-логические предикаты
Предписывает, что причина в создании экземпляров называется металогическим . Примерами являются:
-
var/1
-
ground/1
-
integer/1
Эти предикаты выходят за рамки программ чистой монотонной логики, поскольку они нарушают свойства, такие как коммутативность соединения.
Другие предикаты, которые являются металогическими, включают:
-
arg/3
-
functor/3
-
(=..)/2
Эти предикаты в принципе могли быть смоделированы в логике первого порядка, но требовали бесконечного числа предложений.
Предикаты с множеством решений
Предсказывает, что причина всех решений является экстралогичной. Это, например:
-
setof/3
-
findall/3
-
bagof/3
! / 0 и соответствующие предикаты
Предикаты, которые препятствуют или запрещают декларативное чтение программ Prolog, являются экстралогичными. Примерами таких предикатов являются:
-
!/0
-
(->)/2
и if-then-else -
(\+)/1
Эти предикаты можно понять только процедурно, принимая во внимание фактический поток управления интерпретатора и, как таковые, находятся за пределами чистой логики.