Prolog Language
Extra-logiska predikat
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 -
(->)/2och 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.