Sök…


Predikat med biverkningar

Predikat som ger biverkningar lämnar rena logikens rike. Dessa är till exempel:

  • writeq/1
  • read/1
  • format/2

Biverkningar är fenomen som inte kan resoneras om i programmet. Till exempel radering av en fil eller utgång på systemterminalen.

Metallogiska predikat

Förutsägelser att anledningen till instanser kallas metallogiska . Exempel är:

  • var/1
  • ground/1
  • integer/1

Dessa predikat ligger utanför riket för rena monotoniska logikprogram, eftersom de bryter egenskaper som kommutativitet i samband.

Andra predikat som är metallogiska inkluderar:

  • arg/3
  • functor/3
  • (=..)/2

Dessa predikat kan i princip modelleras inom första ordningens logik, men kräver ett oändligt antal klausuler.

All-lösningar predicates

Förutsäger att anledningen till alla lösningar är extra-logiska. Dessa är till exempel:

  • setof/3
  • findall/3
  • bagof/3

! / 0 och relaterade predikat

Predikat som hindrar eller förbjuder en deklarativ läsning av Prolog-program är extra-logiska. Exempel på sådana predikat är:

  • !/0
  • (->)/2 och om-då-annars
  • (\+)/1

Dessa predikat kan bara förstås procedurellt, med hänsyn till tolkens faktiska kontrollflöde, och som sådana ligger utanför den rena logiken.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow