This gradual, systematic introduction to the main concepts of combinatorics is the ideal text for advanced undergraduate and early graduate courses in this subject. Each of the book's three sections--Existence, Enumeration, and Construction--begins with a simply stated first principle, which is then developed step by step until it leads to one of the three major achievements of combinatorics: Van der Waerden's theorem on arithmetic progressions, Polya's...