Поиск…


Предикаты с побочными эффектами

Предикаты, производящие побочные эффекты, оставляют область чистой логики. Это, например:

  • 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

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



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow