Search code examples
prologprolog-toplevel

Prolog gives error "undefined procedure" when trying to use :-


I'm using SWI-Prolog on Windows and am getting the following error:

14 ?- parent(X, Y) :- child(Y, X).
ERROR: toplevel: Undefined procedure: (:-)/2 (DWIM could not correct)

I'm not entirely sure what's going on, as this worked last week and I am just starting to learn Prolog.


Solution

  • The FAQ says it all: http://www.swi-prolog.org/FAQ/ToplevelMode.html

    You need to create a file and write your program with rules there. The top level command line will only allow you to issue queries.