File: Mathlib/CategoryTheory/Localization/Adjunction.lean

full_name: CategoryTheory.Adjunction.Localization.ε
code: /-- Auxiliary definition of the unit morphism for the adjunction `Adjunction.localization` -/
noncomputable def ε : 𝟭 D₁ ⟶ G' ⋙ F' 
goal: CategoryTheory.Functor.id D₁ ⟶ G'.comp F'

full_name: CategoryTheory.Adjunction.Localization.ε_app
code: lemma ε_app (X₁ : C₁) :
    (ε adj L₁ W₁ L₂ G' F').app (L₁.obj X₁) =
      L₁.map (adj.unit.app X₁) ≫ (CatCommSq.iso F L₂ L₁ F').hom.app (G.obj X₁) ≫
        F'.map ((CatCommSq.iso G L₁ L₂ G').hom.app X₁) 
goal: (CategoryTheory.Adjunction.Localization.ε adj L₁ W₁ L₂ G' F').app (L₁.obj X₁) =
  CategoryTheory.CategoryStruct.comp (L₁.map (adj.unit.app X₁))
    (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CatCommSq.iso F L₂ L₁ F').hom.app (G.obj X₁))
      (F'.map ((CategoryTheory.CatCommSq.iso G L₁ L₂ G').hom.app X₁)))

full_name: CategoryTheory.Adjunction.Localization.η
code: /-- Auxiliary definition of the counit morphism for the adjunction `Adjunction.localization` -/
noncomputable def η : F' ⋙ G' ⟶ 𝟭 D₂ 
goal: F'.comp G' ⟶ CategoryTheory.Functor.id D₂

full_name: CategoryTheory.Adjunction.Localization.η_app
code: lemma η_app (X₂ : C₂) :
    (η adj L₁ L₂ W₂ G' F').app (L₂.obj X₂) =
      G'.map ((CatCommSq.iso F L₂ L₁ F').inv.app X₂) ≫
        (CatCommSq.iso G L₁ L₂ G').inv.app (F.obj X₂) ≫
        L₂.map (adj.counit.app X₂) 
goal: (CategoryTheory.Adjunction.Localization.η adj L₁ L₂ W₂ G' F').app (L₂.obj X₂) =
  CategoryTheory.CategoryStruct.comp (G'.map ((CategoryTheory.CatCommSq.iso F L₂ L₁ F').inv.app X₂))
    (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CatCommSq.iso G L₁ L₂ G').inv.app (F.obj X₂))
      (L₂.map (adj.counit.app X₂)))

full_name: CategoryTheory.Adjunction.localization
code: /-- If `adj : G ⊣ F` is an adjunction between two categories `C₁` and `C₂` that
are equipped with localization functors `L₁ : C₁ ⥤ D₁` and `L₂ : C₂ ⥤ D₂` with
respect to `W₁ : MorphismProperty C₁` and `W₂ : MorphismProperty C₂`, and that
the functors `F : C₂ ⥤ C₁` and `G : C₁ ⥤ C₂` induce functors `F' : D₂ ⥤ D₁`
and `G' : D₁ ⥤ D₂` on the localized categories, then the adjunction `adj`
induces an adjunction `G' ⊣ F'`. -/
noncomputable def localization : G' ⊣ F' 
goal: G' ⊣ F'

full_name: CategoryTheory.Adjunction.localization_unit_app
code: @[simp]
lemma localization_unit_app (X₁ : C₁) :
    (adj.localization L₁ W₁ L₂ W₂ G' F').unit.app (L₁.obj X₁) =
    L₁.map (adj.unit.app X₁) ≫ (CatCommSq.iso F L₂ L₁ F').hom.app (G.obj X₁) ≫
      F'.map ((CatCommSq.iso G L₁ L₂ G').hom.app X₁) 
goal: (adj.localization L₁ W₁ L₂ W₂ G' F').unit.app (L₁.obj X₁) =
  CategoryTheory.CategoryStruct.comp (L₁.map (adj.unit.app X₁))
    (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CatCommSq.iso F L₂ L₁ F').hom.app (G.obj X₁))
      (F'.map ((CategoryTheory.CatCommSq.iso G L₁ L₂ G').hom.app X₁)))

full_name: CategoryTheory.Adjunction.localization_counit_app
code: @[simp]
lemma localization_counit_app (X₂ : C₂) :
    (adj.localization L₁ W₁ L₂ W₂ G' F').counit.app (L₂.obj X₂) =
    G'.map ((CatCommSq.iso F L₂ L₁ F').inv.app X₂) ≫
      (CatCommSq.iso G L₁ L₂ G').inv.app (F.obj X₂) ≫
      L₂.map (adj.counit.app X₂) 
goal: (adj.localization L₁ W₁ L₂ W₂ G' F').counit.app (L₂.obj X₂) =
  CategoryTheory.CategoryStruct.comp (G'.map ((CategoryTheory.CatCommSq.iso F L₂ L₁ F').inv.app X₂))
    (CategoryTheory.CategoryStruct.comp ((CategoryTheory.CatCommSq.iso G L₁ L₂ G').inv.app (F.obj X₂))
      (L₂.map (adj.counit.app X₂)))

full_name: CategoryTheory.Adjunction.isLocalization
code: lemma isLocalization [F.Full] [F.Faithful] :
    G.IsLocalization ((MorphismProperty.isomorphisms C₂).inverseImage G) 
goal: G.IsLocalization ((CategoryTheory.MorphismProperty.isomorphisms C₂).inverseImage G)