-
Notifications
You must be signed in to change notification settings - Fork 373
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(CategoryTheory): the category of ind-objects is Grothendieck abe…
…lian (#21606) - If `C` is small and additive, then `Ind C` is preadditive (which implies that it is additive using existing results) - If `C` is small and abelian, then `Ind C` is Grothendieck abelian Co-authored-by: Markus Himmel <[email protected]>
- Loading branch information
Showing
5 changed files
with
102 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/- | ||
Copyright (c) 2025 Markus Himmel. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Markus Himmel | ||
-/ | ||
import Mathlib.CategoryTheory.Preadditive.Indization | ||
import Mathlib.CategoryTheory.Abelian.FunctorCategory | ||
import Mathlib.CategoryTheory.Limits.Preserves.Shapes.AbelianImages | ||
|
||
/-! | ||
# The category of ind-objects is abelian | ||
We show that if `C` is a small abelian category, then `Ind C` is an abelian category. | ||
In the file `CategoryTheory.Abelian.GrothendieckAxioms.Indization`, we show that in this situation | ||
`Ind C` is in fact Grothendieck abelian. | ||
-/ | ||
|
||
universe v | ||
|
||
open CategoryTheory.Abelian | ||
|
||
namespace CategoryTheory | ||
|
||
variable {C : Type v} [SmallCategory C] [Abelian C] | ||
|
||
instance {X Y : Ind C} (f : X ⟶ Y) : IsIso (Abelian.coimageImageComparison f) := by | ||
obtain ⟨I, _, _, F, G, ϕ, ⟨i⟩⟩ := Ind.exists_nonempty_arrow_mk_iso_ind_lim (f := f) | ||
let i' := coimageImageComparisonFunctor.mapIso i | ||
dsimp only [coimageImageComparisonFunctor_obj, Arrow.mk_left, Arrow.mk_right, Arrow.mk_hom] at i' | ||
rw [Arrow.isIso_iff_isIso_of_isIso i'.hom, | ||
Arrow.isIso_iff_isIso_of_isIso (PreservesCoimageImageComparison.iso (Ind.lim I) ϕ).inv] | ||
infer_instance | ||
|
||
noncomputable instance : Abelian (Ind C) := | ||
.ofCoimageImageComparisonIsIso | ||
|
||
end CategoryTheory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/- | ||
Copyright (c) 2025 Markus Himmel. All rights reserved. | ||
Released under Apache 2.0 license as described in the file LICENSE. | ||
Authors: Markus Himmel | ||
-/ | ||
import Mathlib.CategoryTheory.Limits.Indization.Category | ||
import Mathlib.CategoryTheory.Preadditive.Transfer | ||
import Mathlib.CategoryTheory.Preadditive.Opposite | ||
import Mathlib.Algebra.Category.Grp.LeftExactFunctor | ||
|
||
/-! | ||
# The category of ind-objects is preadditive | ||
-/ | ||
|
||
universe v u | ||
|
||
open CategoryTheory Limits | ||
|
||
namespace CategoryTheory | ||
|
||
variable {C : Type u} [SmallCategory C] [Preadditive C] [HasFiniteColimits C] | ||
|
||
attribute [local instance] HasFiniteBiproducts.of_hasFiniteCoproducts in | ||
noncomputable instance : Preadditive (Ind C) := | ||
.ofFullyFaithful (((Ind.leftExactFunctorEquivalence C).trans | ||
(AddCommGrp.leftExactFunctorForgetEquivalence _).symm).fullyFaithfulFunctor.comp | ||
(fullyFaithfulFullSubcategoryInclusion _)) | ||
|
||
instance : HasFiniteBiproducts (Ind C) := | ||
HasFiniteBiproducts.of_hasFiniteCoproducts | ||
|
||
end CategoryTheory |