visit - ¿Cómo crear un hecho en SWI-Prolog?
swish swi>- prolog (1)
Supongo que está utilizando swi de forma interactiva y al intentar ingresar el hecho, se produce un error como el siguiente:
1 ?- like(x, y).
ERROR: toplevel: Undefined procedure: like/2 (DWIM could not correct goal)
Dado que el hecho no existe en la base de datos. Si este es el caso, intente afirmar el hecho primero:
2 ?- assert(like(x,y)).
true.
Entonces puedes probar:
3 ?- like(x, y).
true.
Esta vez la consulta tiene éxito porque el hecho existe en la base de datos.
Un mejor enfoque podría ser escribir sus cláusulas en un archivo y luego consult . Swi Prolog tiene un editor similar a Emacs que puedes abrir escribiendo
emacs.
en el aviso O usa tu propio editor y luego consulta el archivo. El prólogo de Swi viene con muchas herramientas gráficas que pueden ser de ayuda; Mira el manual para más detalles.
Solo quiero crear algo como: like(x,y)
. He estado intentando durante mucho tiempo y estoy realmente frustrado, ¿¡¿alguien podría decirme cómo hacerlo ?!