The Freyd-Mitchell embedding theorem #
Let C
be an abelian category. We construct a ring FreydMitchell.EmbeddingRing C
and a functor
FreydMitchell.embedding : C ⥤ ModuleCat.{max u v} (EmbeddingRing C)
which is full, faithful and
exact.
Overview over the proof #
The usual stategy to prove the Freyd-Mitchell embedding theorem is as follows:
- Prove that if
D
is a Grothendieck abelian category andF : C ⥤ Dᵒᵖ
is a functor from a small category, then there is a functorG : Dᵒᵖ ⥤ ModuleCat R
for a suitableR
such thatG
is faithful and exact andF ⋙ G
is full. - Find a suitable Grothendieck abelian category
D
and a full, faithful and exact functorF : C ⥤ Dᵒᵖ
.
To prove (1), we proceed as follows:
- Using the Special Adjoint Functor Theorem and the duality between subobjects and quotients in
abelian categories, we have that Grothendieck abelian categories have all limits (this is shown in
Mathlib.CategoryTheory.Abelian.GrothendieckCategory.Basic
). - Using the small object argument, it is shown that Grothendieck abelian categories have enough
injectives (see
Mathlib.CategoryTheory.Abelian.GrothendieckCategory.EnoughInjectives
). - Putting these two together, it follows that Grothendieck abelian categories have an injective
cogenerator (see
Mathlib.CategoryTheory.Generator.Abelian
). - By taking a coproduct of copies of the injective cogenerator, we find a projective separator
G
inDᵒᵖ
such that every object in the image ofF
is a quotient ofG
. Then the additive Hom functorHom(G, ·) : Dᵒᵖ ⥤ Module (End G)ᵐᵒᵖ
is faithful (becauseG
is a separator), left exact (because it is a hom functor), right exact (becauseG
is projective) and full (because of a combination of the aforementioned properties, seeMathlib.CategoryTheory.Abelian.Yoneda
). We put this all together in the fileMathlib.CategoryTheory.Abelian.GrothendieckCategory.ModuleEmbedding.Opposite
.
To prove (2), there are multiple options.
- Some sources (for example Freyd's "Abelian Categories") choose
D := LeftExactFunctor C Ab
. The main difficulty with this approach is that it is not obvious thatD
is abelian. This approach has a very algebraic flavor and requires a relatively large armount of ad-hoc reasoning. - In the Stacks project, it is suggested to choose
D := Sheaf J Ab
for a suitable Grothendieck topology onCᵒᵖ
and there are reasons to believe that thisD
is in fact equivalent toLeftExactFunctor C Ab
. This approach translates many of the interesting properties along the sheafification adjunction from a category ofAb
-valued presheaves, which in turn inherits many interesting properties from the category of abelian groups. - Kashiwara and Schapira choose
D := Ind Cᵒᵖ
, which can be shown to be equivalent toLeftExactFunctor C Ab
(see the fileMathlib.CategoryTheory.Preadditive.Indization
). This approach deduces most interesting properties from the category of types.
When work on this theorem commenced in early 2022, all three apporaches were quite out of reach.
By the time the theorem was proved in early 2025, both the Sheaf
approach and the Ind
approach
were available in mathlib. The code below uses D := Ind Cᵒᵖ
.
Implementation notes #
In the literature you will generally only find this theorem stated for small categories C
. In
Lean, we can work around this limitation by passing from C
to AsSmall.{max u v} C
, thereby
enlarging the category of modules that we land in (which should be inconsequential in most
applications) so that our embedding theorem applies to all abelian categories. If C
was already a
small category, then this does not change anything.
References #
- https://stacks.math.columbia.edu/tag/05PL
- [M. Kashiwara, P. Schapira, Categories and Sheaves][Kashiwara2006], Section 9.6
Given an abelian category C
, this is a ring such that there is a full, faithful and exact
embedding C ⥤ ModuleCat (EmbeddingRing C)
.
It is probably not a good idea to unfold this.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
This is the full, faithful and exact embedding C ⥤ ModuleCat (EmbeddingRing C)
. The fact that
such a functor exists is called the Freyd-Mitchell embedding theorem.
It is probably not a good idea to unfold this.
Equations
Instances For
The Freyd-Mitchell embedding theorem. See also FreydMitchell.functor
for a functor which
has the relevant instances.