In abstract algebra, a **cover** is one instance of some mathematical structure mapping onto another instance, such as a group (trivially) covering a subgroup. This should not be confused with the concept of a cover in topology.

When some object *X* is said to cover another object *Y*, the cover is given by some surjective and structure-preserving map *f* : *X* → *Y*. The precise meaning of "structure-preserving" depends on the kind of mathematical structure of which *X* and *Y* are instances. In order to be interesting, the cover is usually endowed with additional properties, which are highly dependent on the context.

A classic result in semigroup theory due to D. B. McAlister states that every inverse semigroup has an E-unitary cover; besides being surjective, the homomorphism in this case is also *idempotent separating*, meaning that in its kernel an idempotent and non-idempotent never belong to the same equivalence class.; something slightly stronger has actually be shown for inverse semigroups: every inverse semigroup admits an F-inverse cover. McAlister's covering theorem generalizes to orthodox semigroups: every orthodox semigroup has a unitary cover.

Examples from other areas of algebra include the Frattini cover of a profinite group and the universal cover of a Lie group.

If *F* is some family of modules over some ring *R*, then an *F*-cover of a module *M* is a homomorphism *X*→*M* with the following properties:

*X* is in the family *F*
*X*→*M* is surjective
Any surjective map from a module in the family *F* to *M* factors through *X*
Any endomorphism of *X* commuting with the map to *M* is an automorphism.
In general an *F*-cover of *M* need not exist, but if it does exist then it is unique up to (non-unique) isomorphism.

Examples include:

Projective covers (always exist over perfect rings)
flat covers (always exist)
torsion-free covers (always exist over integral domains)
injective covers