This book is an introduction to the essential ideas of formal logic and to the new field of logic programming, which is beginning to have an impact on the traditional area of conventional software engineering. Logical concepts and how they may be implemented in the logic programming language Prolog are emphasized. The authors discuss parsers, pretty-printers, programming language interpreters, interactive proof-checkers, theorem-provers of various...