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