In every sufficiently large structure which has been partitioned there will always be some well-behaved structure in one of the parts. This takes many forms. For example, colorings of the integers by finitely many colors must have long monochromatic arithmetic progressions (van der Waerden's theorem); and colorings of the edges of large graphs must have monochromatic subgraphs of a specified type (Ramsey's theorem). This book explores many of the...