  Recent work of Gowers and Nagle, R\"odl, Schacht, and Skokan has established
a hypergraph removal lemma, which in turn implies some results of Szemer\'edi
and Furstenberg-Katznelson concerning one-dimensional and multi-dimensional
arithmetic progressions respectively. In this paper we shall give a
self-contained proof of this hypergraph removal lemma. In fact we prove a
slight strengthening of the result, which we will use in a subsequent paper to
establish infinitely many constellations of a prescribed shape in the Gaussian
primes.
