Buscar..


Predicados con efectos secundarios.

Los predicados que producen efectos secundarios dejan el ámbito de la lógica pura. Estos son por ejemplo:

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

Los efectos secundarios son fenómenos que no se pueden razonar dentro del programa. Por ejemplo, la eliminación de un archivo o salida en el terminal del sistema.

Predicados meta-lógicos

Los predicados que razonan sobre las instancias se llaman meta-lógicos . Algunos ejemplos son:

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

Estos predicados están fuera del ámbito de los programas de lógica monotónica pura, porque rompen propiedades como la conmutación de la conjunción.

Otros predicados que son meta-lógicos incluyen:

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

Estos predicados podrían, en principio, ser modelados dentro de la lógica de primer orden, pero requieren un número infinito de cláusulas.

Todos los predicados de soluciones

Los predicados que razonan sobre todas las soluciones son extra-lógicos. Estos son por ejemplo:

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

! / 0 y predicados relacionados

Los predicados que impiden o prohíben una lectura declarativa de los programas Prolog son extra-lógicos. Ejemplos de tales predicados son:

  • !/0
  • (->)/2 y if-then-else
  • (\+)/1

Estos predicados solo se pueden entender de manera procesal, teniendo en cuenta el flujo de control real del intérprete y, como tal, están más allá del ámbito de la lógica pura.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow