Common built-in predicates for Prolog, a summary (don't be surprised if your interpreter has more/less built-in predicates; besides, you don't have to remember them all): Build up of goals :- , ; call not (or \+) Build up of arithmatic expressions is + - * / mod Boolean expressions = == true fail Numbers = < > >= =< =:= Input/output read write nl get0 get skip put tab display File handling see seeing seen tell telling told consult reconsult Type checking var nonvar atom integer atomic Meta-clauses listing clause assert retract asserta assertz functor arg =.. name Miscellaneous statistics repeat op ! setof bagof (findall) Debugging trace notrace spy nospy debugging nodebug