Functors which reflect isomorphisms #
A functor F
reflects isomorphisms if whenever F.map f
is an isomorphism, f
was too.
It is formalized as a Prop
valued typeclass reflects_isomorphisms F
.
Any fully faithful functor reflects isomorphisms.
@[class]
structure
category_theory.reflects_isomorphisms
{C : Type u₁}
[category_theory.category C]
{D : Type u₂}
[category_theory.category D]
(F : C ⥤ D) :
Prop
- reflects : ∀ {A B : C} (f : A ⟶ B) [_inst_3 : category_theory.is_iso (F.map f)], category_theory.is_iso f
Define what it means for a functor F : C ⥤ D
to reflect isomorphisms: for any
morphism f : A ⟶ B
, if F.map f
is an isomorphism then f
is as well.
Note that we do not assume or require that F
is faithful.
Instances
- category_theory.forget₂.category_theory.reflects_isomorphisms
- category_theory.of_full_and_faithful
- category_theory.forget.category_theory.reflects_isomorphisms
- Mon.forget_reflects_isos
- AddMon.forget_reflects_isos
- CommMon.forget_reflects_isos
- AddCommMon.forget_reflects_isos
- Group.forget_reflects_isos
- AddGroup.forget_reflects_isos
- CommGroup.forget_reflects_isos
- AddCommGroup.forget_reflects_isos
- Ring.forget_reflects_isos
- CommRing.forget_reflects_isos
- category_theory.limits.cones.reflects_cone_isomorphism
- category_theory.limits.cocones.reflects_cocone_isomorphism
- category_theory.over.forget_reflects_iso
- Algebra.forget_reflects_isos
- category_theory.monad.forget_reflects_iso
- category_theory.comonad.forget_reflects_iso
- Magma.forget_reflects_isos
- AddMagma.forget_reflects_isos
- Semigroup.forget_reflects_isos
- AddSemigroup.forget_reflects_isos
- TopCommRing.category_theory.forget₂.category_theory.reflects_isomorphisms
- category_theory.center.to_functor.category_theory.reflects_isomorphisms
- Mon_.forget.category_theory.reflects_isomorphisms
- CompHaus.forget_reflects_isomorphisms
- Profinite.forget_reflects_isomorphisms
theorem
category_theory.is_iso_of_reflects_iso
{C : Type u₁}
[category_theory.category C]
{D : Type u₂}
[category_theory.category D]
{A B : C}
(f : A ⟶ B)
(F : C ⥤ D)
[category_theory.is_iso (F.map f)]
[category_theory.reflects_isomorphisms F] :
If F
reflects isos and F.map f
is an iso, then f
is an iso.
@[protected, instance]
def
category_theory.of_full_and_faithful
{C : Type u₁}
[category_theory.category C]
{D : Type u₂}
[category_theory.category D]
(F : C ⥤ D)
[category_theory.full F]
[category_theory.faithful F] :