2.1.3 Executing a query
After loading a program, one can ask Prolog queries about the
program. The query below asks Prolog what food `sam' likes. The system
responds with X = <value>
if it can prove
the goal for a certain
X. The user can type the semi-colon (;) or spacebar6On
most installations, single-character commands are executed without
waiting for the RETURN key.
if (s)he wants another solution. Use the return
key if you do not want to see the more answers. Prolog completes the
output with a full stop (.) if the user uses the return
key or Prolog
knows there are no more answers. If Prolog cannot find (more)
answers, it writes false. Finally, Prolog answers using an error
message to indicate the query or program contains an error.
?- likes(sam, X). X = dahl ; X = tandoori ; ... X = chips. ?-
Note that the answer written by Prolog is a valid Prolog program that, when executed, produces the same set of answers as the original program.7The SWI-Prolog top level differs in several ways from traditional Prolog top level. The current top level was designed in cooperation with Ulrich Neumerkel.