This document is a reference manual. That means that it documents the system, but it does not explain the basics of the Prolog language and it leaves many details of the syntax, semantics and built-in primitives undefined where SWI-Prolog follows the standards. This manual is intended for people that are familiar with Prolog. For those not familiar with Prolog, we recommend to start with a Prolog textbook such as Bratko, 1986, Sterling & Shapiro, 1986 or Clocksin & Melish, 1987. For more advanced Prolog usage we recommend O'Keefe, 1990.