Prolog Language
Extra-logische voorspellingen
Zoeken…
Voorspellingen met bijwerkingen
Predikaten die bijwerkingen veroorzaken, verlaten het rijk van pure logica. Dit zijn bijvoorbeeld:
-
writeq/1
-
read/1
-
format/2
Bijwerkingen zijn fenomenen waarover binnen het programma geen reden kan worden gegeven. Bijvoorbeeld het verwijderen van een bestand of uitvoer op de systeemterminal.
Meta-logische predikaten
Voorspelt dat reden over instantiaties meta-logisch wordt genoemd . Voorbeelden zijn:
-
var/1
-
ground/1
-
integer/1
Deze predicaten vallen buiten het domein van pure monotone logische programma's, omdat ze eigenschappen zoals commutativiteit van conjunctie breken.
Andere predicaten die meta-logisch zijn, zijn onder meer:
-
arg/3
-
functor/3
-
(=..)/2
Deze predikaten kunnen in principe worden gemodelleerd binnen de eerste-orde-logica, maar vereisen een oneindig aantal clausules.
Alle oplossingen voorspellen
Voorspelt dat redenering over alle oplossingen extra logisch is. Dit zijn bijvoorbeeld:
-
setof/3
-
findall/3
-
bagof/3
! / 0 en bijbehorende predicaten
Predicaten die een verklarende lezing van Prolog-programma's belemmeren of verbieden, zijn extra logisch. Voorbeelden van dergelijke predikaten zijn:
-
!/0
-
(->)/2
en zo-dan-anders -
(\+)/1
Deze predikaten kunnen alleen procedureel worden begrepen, door rekening te houden met de feitelijke controlestroom van de tolk, en vallen als zodanig buiten het domein van pure logica.