These pre-defined pseudo-predicates allow one to load Prolog code into a running Prolog interpreter. Example:
?- consult('').
This loads the contents of the Prolog program in the file into the running Prolog's database. Note that in SWI Prolog, at least, before loading the new facts and rules into the database, Prolog first removes all facts and rules that relate to procedures in So if contains, for example, the fact likes(jane, pizza) then all facts and rules about likes that have two arguments will be removed from the Prolog database before the new facts in are loaded up. This is convenient when you are using consult to re-load a program after editing it (e.g. in another window, with the Prolog interpreter left running), but could be a little surprising if you were trying to load extra facts from a file.

It is possible to consult more than one file at a time, by replacing the single file name with a list of files:

?- consult(['', '', '']).
% compiled 0.00 sec, 524 bytes
% compiled 0.01 sec, 528 bytes
% compiled 0.00 sec, 524 bytes
It is also possible to abbreviate a consult call, simply typing the list of (one or more) files as a goal for Prolog:
?- ['', '', ''].
In some Prolog implementations, consulting user causes the Prolog interpreter to read facts and rules from the user's terminal:
?- [user].
|: likes(jane, pizza).
|: bad_dog(Dog) :-
|:    bites(Dog, Person),
|:    is_human(Person),
|:    is_dog(Dog).
|: <control-D>
% user://1 compiled 0.00 sec, 1,156 bytes