Preliminary Note

Experts in Prolog, who may venture to read this document, are asked to admit that an amount of abuse of terminology found herein is just a harmless step back from the implementor-influenced trend to formalize uniformly elements of the Prolog language that have diverse origins in practice. Furthermore, some elements of Prolog presented here are specific to Strawberry Prolog, and can happen to work differently in other implementations. For the rest of this document the word 'Prolog' is to be read as an abbreviation for Strawberry Prolog.