Supplemental reading: AIMA 9.4.2-9.4.4. We'll be going into Prolog in much more detail than AIMA does, so see additional reading.