In this paper we give two different proofs that the flat cover conjecture is true: that is, every module
has a flat cover. The two proofs are of completely different nature, and, we hope, will have different
applications. The first of the two proofs (due to the third author) is essentially an application of the
work of P. Eklof and J. Trlifaj (work which is more set-theoretic). The second proof (due to the first two
authors) is more direct, and has a model-theoretic flavour.