This book teaches the techniques of Logic Programming through the Prolog language. The name stands for Programming in Logic. Prolog has been used for a wide variety of applications, including as the basis for a standard knowledge representation language for the Semantic Web the next generation of internet technology; it is one of the principal languages used by researchers in Artificial Intelligence. Logic Programming with Prolog does not assume that the reader is an experienced programmer with a strong background in Mathematics, Logic or Artificial Intelligence. It starts from scratch and aims to take the reader to a point where they can soon write powerful programs in the language. Suitable both as an introductory textbook and for independent study, the programs in this book are written using the standard Edinburgh syntax and should run unchanged in virtually any version of Prolog. A full glossary of the technical terms used is included and each chapter has self-assessment exercises.