A self-contained and broad-based account of the concepts, the machinery and the use of automated reasoning. It's ideal for those seeking a one-stop source for the subject. The approach is constructive, concrete and algorithmic: importantly, methods are described with reference to actual implementations (for which code is supplied)