SWI-Prolog 5.0.5 Reference Manual: Section 1.5