What is a mathematical proof? How can proofs be justified? Are there limitations to provability? To what extent can machines carry out mathematical proofs? Only in this century has there been success in obtaining substantial and satisfactory answers. The present book contains a systematic discussion of these results. The investigations are centered around first-order logic. Our first goal is' Godel's completeness theorem, which shows that the consequence relation coincides with formal provability: By means of a calculus consisting of simple formal inference rules, one can obtain all consequences of a given axiom system (and in particular, imitate all mathematical proofs)