Set Theory
This is a classic introduction to set theory in three parts. The first part gives a general introduction to set theory, suitable for undergraduates; the second part gives a more formal foundation to axiomatic set theory; and the final part gives an introduction to modern tools of combinatorial set theory.