File: Mathlib/CategoryTheory/Functor/ReflectsIso.lean

full_name: CategoryTheory.Functor.ReflectsIsomorphisms.reflects
code: /-- 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.
-/
class Functor.ReflectsIsomorphisms (F : C ⥤ D) : Prop where
  /-- For any `f`, if `F.map f` is an iso, then so was `f`-/
  reflects : ∀ {A B : C} (f : A ⟶ B) [IsIso (F.map f)], IsIso f
goal: CategoryTheory.IsIso f

full_name: CategoryTheory.Functor.ReflectsIsomorphisms
code: /-- 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.
-/
class Functor.ReflectsIsomorphisms (F : C ⥤ D) : Prop where
  /-- For any `f`, if `F.map f` is an iso, then so was `f`-/
  reflects : ∀ {A B : C} (f : A ⟶ B) [IsIso (F.map f)], IsIso f
goal: Prop

full_name: CategoryTheory.isIso_of_reflects_iso
code: /-- If `F` reflects isos and `F.map f` is an iso, then `f` is an iso. -/
theorem isIso_of_reflects_iso {A B : C} (f : A ⟶ B) (F : C ⥤ D) [IsIso (F.map f)]
    [F.ReflectsIsomorphisms] : IsIso f 
goal: CategoryTheory.IsIso f

full_name: CategoryTheory.isIso_iff_of_reflects_iso
code: lemma isIso_iff_of_reflects_iso {A B : C} (f : A ⟶ B) (F : C ⥤ D) [F.ReflectsIsomorphisms] :
    IsIso (F.map f) ↔ IsIso f 
goal: CategoryTheory.IsIso (F.map f) ↔ CategoryTheory.IsIso f

full_name: CategoryTheory.Functor.FullyFaithful.reflectsIsomorphisms
code: lemma Functor.FullyFaithful.reflectsIsomorphisms {F : C ⥤ D} (hF : F.FullyFaithful) :
    F.ReflectsIsomorphisms 
goal: F.ReflectsIsomorphisms

full_name: CategoryTheory.reflectsIsomorphisms_of_full_and_faithful
code: instance (priority := 100) reflectsIsomorphisms_of_full_and_faithful
    (F : C ⥤ D) [F.Full] [F.Faithful] :
    F.ReflectsIsomorphisms 
goal: F.ReflectsIsomorphisms

full_name: CategoryTheory.reflectsIsomorphisms_comp
code: instance reflectsIsomorphisms_comp (F : C ⥤ D) (G : D ⥤ E)
    [F.ReflectsIsomorphisms] [G.ReflectsIsomorphisms] :
    (F ⋙ G).ReflectsIsomorphisms 
goal: (F ⋙ G).ReflectsIsomorphisms

full_name: CategoryTheory.reflectsIsomorphisms_of_comp
code: lemma reflectsIsomorphisms_of_comp (F : C ⥤ D) (G : D ⥤ E)
    [(F ⋙ G).ReflectsIsomorphisms] : F.ReflectsIsomorphisms 
goal: F.ReflectsIsomorphisms

full_name: CategoryTheory.reflectsIsomorphisms_of_reflectsMonomorphisms_of_reflectsEpimorphisms
code: instance (priority := 100) reflectsIsomorphisms_of_reflectsMonomorphisms_of_reflectsEpimorphisms
    [Balanced C] (F : C ⥤ D) [ReflectsMonomorphisms F] [ReflectsEpimorphisms F] :
    F.ReflectsIsomorphisms 
goal: F.ReflectsIsomorphisms

full_name: CategoryTheory.instReflectsIsomorphismsFunctorObjWhiskeringRight
code: instance (F : D ⥤ E) [F.ReflectsIsomorphisms] :
    ((whiskeringRight C D E).obj F).ReflectsIsomorphisms 
goal: ((CategoryTheory.whiskeringRight C D E).obj F).ReflectsIsomorphisms

full_name: CategoryTheory.Functor.balanced_of_preserves
code: lemma Functor.balanced_of_preserves (F : C ⥤ D)
    [F.ReflectsIsomorphisms] [F.PreservesEpimorphisms] [F.PreservesMonomorphisms] [Balanced D] :
    Balanced C 
goal: CategoryTheory.Balanced C