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
-
(->)/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.