ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Localization.homEquiv_symm_apply
@[simp]
lemma homEquiv_symm_apply (g : L₂.obj X ⟶ L₂.obj Y) :
    (homEquiv W L₁ L₂).symm g = homEquiv W L₂ L₁ g 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_10, u_5} D₁] [CategoryTheory.Category.{u_8, u_6} D₂] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] {X Y : C} (g : L₂.obj X ⟶ L₂.obj Y)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₂).symm g = (CategoryTheory.Localization.homEquiv W L₂ L₁) g
-- CategoryTheory.Localization.homEquiv_eq
lemma homEquiv_eq (G : D₁ ⥤ D₂) (e : L₁ ⋙ G ≅ L₂) (f : L₁.obj X ⟶ L₁.obj Y) :
    homEquiv W L₁ L₂ f = e.inv.app X ≫ G.map f ≫ e.hom.app Y 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} [CategoryTheory.Category.{u_10, u_1} C] [CategoryTheory.Category.{u_8, u_5} D₁] [CategoryTheory.Category.{u_9, u_6} D₂] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] {X Y : C} (G : CategoryTheory.Functor D₁ D₂) (e : L₁.comp G ≅ L₂) (f : L₁.obj X ⟶ L₁.obj Y)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₂) f =
  CategoryTheory.CategoryStruct.comp (e.inv.app X) (CategoryTheory.CategoryStruct.comp (G.map f) (e.hom.app Y))
-- CategoryTheory.Localization.homEquiv_refl
@[simp]
lemma homEquiv_refl (f : L₁.obj X ⟶ L₁.obj Y) :
    homEquiv W L₁ L₁ f = f 
Arguments: {C : Type u_1} {D₁ : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_5} D₁] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] {X Y : C} (f : L₁.obj X ⟶ L₁.obj Y)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₁) f = f
-- CategoryTheory.Localization.homEquiv_trans
lemma homEquiv_trans (f : L₁.obj X ⟶ L₁.obj Y) :
    homEquiv W L₂ L₃ (homEquiv W L₁ L₂ f) = homEquiv W L₁ L₃ f 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} {D₃ : Type u_7} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_5} D₁] [CategoryTheory.Category.{u_11, u_6} D₂] [CategoryTheory.Category.{u_10, u_7} D₃] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] (L₃ : CategoryTheory.Functor C D₃) [L₃.IsLocalization W] {X Y : C} (f : L₁.obj X ⟶ L₁.obj Y)
Goal: (CategoryTheory.Localization.homEquiv W L₂ L₃) ((CategoryTheory.Localization.homEquiv W L₁ L₂) f) =
  (CategoryTheory.Localization.homEquiv W L₁ L₃) f
-- CategoryTheory.Localization.homEquiv_comp
lemma homEquiv_comp (f : L₁.obj X ⟶ L₁.obj Y) (g : L₁.obj Y ⟶ L₁.obj Z) :
    homEquiv W L₁ L₂ (f ≫ g) = homEquiv W L₁ L₂ f ≫ homEquiv W L₁ L₂ g 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_5} D₁] [CategoryTheory.Category.{u_10, u_6} D₂] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] {X Y Z : C} (f : L₁.obj X ⟶ L₁.obj Y) (g : L₁.obj Y ⟶ L₁.obj Z)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₂) (CategoryTheory.CategoryStruct.comp f g) =
  CategoryTheory.CategoryStruct.comp ((CategoryTheory.Localization.homEquiv W L₁ L₂) f)
    ((CategoryTheory.Localization.homEquiv W L₁ L₂) g)
-- CategoryTheory.Localization.homEquiv_map
@[simp]
lemma homEquiv_map (f : X ⟶ Y) : homEquiv W L₁ L₂ (L₁.map f) = L₂.map f 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} [CategoryTheory.Category.{u_8, u_1} C] [CategoryTheory.Category.{u_10, u_5} D₁] [CategoryTheory.Category.{u_9, u_6} D₂] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] {X Y : C} (f : X ⟶ Y)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₂) (L₁.map f) = L₂.map f
-- CategoryTheory.Localization.homEquiv_id
@[simp]
lemma homEquiv_id : homEquiv W L₁ L₂ (𝟙 (L₁.obj X)) = 𝟙 (L₂.obj X) 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_10, u_5} D₁] [CategoryTheory.Category.{u_8, u_6} D₂] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] (X : C)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₂) (CategoryTheory.CategoryStruct.id (L₁.obj X)) =
  CategoryTheory.CategoryStruct.id (L₂.obj X)
-- CategoryTheory.Localization.homEquiv_isoOfHom_inv
lemma homEquiv_isoOfHom_inv (f : Y ⟶ X) (hf : W f) :
    homEquiv W L₁ L₂ (isoOfHom L₁ W f hf).inv = (isoOfHom L₂ W f hf).inv 
Arguments: {C : Type u_1} {D₁ : Type u_5} {D₂ : Type u_6} [CategoryTheory.Category.{u_8, u_1} C] [CategoryTheory.Category.{u_10, u_5} D₁] [CategoryTheory.Category.{u_9, u_6} D₂] (W : CategoryTheory.MorphismProperty C) (L₁ : CategoryTheory.Functor C D₁) [L₁.IsLocalization W] (L₂ : CategoryTheory.Functor C D₂) [L₂.IsLocalization W] {X Y : C} (f : Y ⟶ X) (hf : W f)
Goal: (CategoryTheory.Localization.homEquiv W L₁ L₂) (CategoryTheory.Localization.isoOfHom L₁ W f hf).inv =
  (CategoryTheory.Localization.isoOfHom L₂ W f hf).inv
-- CategoryTheory.Localization.hasSmallLocalizedShiftedHom_iff
lemma hasSmallLocalizedShiftedHom_iff
    (L : C ⥤ D) [L.IsLocalization W] [L.CommShift M] (X Y : C) :
    HasSmallLocalizedShiftedHom.{w} W M X Y ↔
      ∀ (a b : M), Small.{w} ((L.obj X)⟦a⟧ ⟶ (L.obj Y)⟦b⟧) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (W : CategoryTheory.MorphismProperty C) (M : Type w') [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] (L : CategoryTheory.Functor C D) [L.IsLocalization W] [L.CommShift M] (X Y : C)
Goal: CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y ↔
  ∀ (a b : M),
    Small.{w, v₂} ((CategoryTheory.shiftFunctor D a).obj (L.obj X) ⟶ (CategoryTheory.shiftFunctor D b).obj (L.obj Y))
-- CategoryTheory.Localization.hasSmallLocalizedHom_of_hasSmallLocalizedShiftedHom₀
lemma hasSmallLocalizedHom_of_hasSmallLocalizedShiftedHom₀ :
    HasSmallLocalizedHom.{w} W X Y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (W : CategoryTheory.MorphismProperty C) (M : Type w') [AddMonoid M] [CategoryTheory.HasShift C M] (X Y : C) [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y]
Goal: CategoryTheory.Localization.HasSmallLocalizedHom W X Y
-- CategoryTheory.Localization.SmallHom.equiv_shift
lemma equiv_shift : equiv W L (f.shift a) =
    (L.commShiftIso a).hom.app X ≫ (equiv W L f)⟦a⟧' ≫ (L.commShiftIso a).inv.app Y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {W : CategoryTheory.MorphismProperty C} {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C M] [CategoryTheory.HasShift D M] [W.IsCompatibleWithShift M] (L : CategoryTheory.Functor C D) [L.IsLocalization W] [L.CommShift M] {X Y : C} [CategoryTheory.Localization.HasSmallLocalizedHom W X Y] (f : CategoryTheory.Localization.SmallHom W X Y) (a : M) [CategoryTheory.Localization.HasSmallLocalizedHom W ((CategoryTheory.shiftFunctor C a).obj X)
    ((CategoryTheory.shiftFunctor C a).obj Y)]
Goal: (CategoryTheory.Localization.SmallHom.equiv W L) (f.shift a) =
  CategoryTheory.CategoryStruct.comp ((L.commShiftIso a).hom.app X)
    (CategoryTheory.CategoryStruct.comp
      ((CategoryTheory.shiftFunctor D a).map ((CategoryTheory.Localization.SmallHom.equiv W L) f))
      ((L.commShiftIso a).inv.app Y))
-- CategoryTheory.Localization.SmallShiftedHom.equiv_shift'
lemma equiv_shift' {a : M} [HasSmallLocalizedShiftedHom.{w} W M X Y]
    [HasSmallLocalizedShiftedHom.{w} W M Y Y]
    (f : SmallShiftedHom.{w} W X Y a) (n a' : M) (h : a + n = a') :
    SmallHom.equiv W L (f.shift n a' h) = (L.commShiftIso n).hom.app X ≫
      (SmallHom.equiv W L f)⟦n⟧' ≫ ((L.commShiftIso a).hom.app Y)⟦n⟧' ≫
        (shiftFunctorAdd' D a n a' h).inv.app (L.obj Y) ≫ (L.commShiftIso a').inv.app Y 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (W : CategoryTheory.MorphismProperty C) {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C M] [W.IsCompatibleWithShift M] (L : CategoryTheory.Functor C D) [L.IsLocalization W] [CategoryTheory.HasShift D M] [L.CommShift M] {X Y : C} {a : M} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Y Y] (f : CategoryTheory.Localization.SmallShiftedHom W X Y a) (n a' : M) (h : a + n = a')
Goal: (CategoryTheory.Localization.SmallHom.equiv W L) (f.shift n a' h) =
  CategoryTheory.CategoryStruct.comp ((L.commShiftIso n).hom.app X)
    (CategoryTheory.CategoryStruct.comp
      ((CategoryTheory.shiftFunctor D n).map ((CategoryTheory.Localization.SmallHom.equiv W L) f))
      (CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctor D n).map ((L.commShiftIso a).hom.app Y))
        (CategoryTheory.CategoryStruct.comp ((CategoryTheory.shiftFunctorAdd' D a n a' h).inv.app (L.obj Y))
          ((L.commShiftIso a').inv.app Y))))
-- CategoryTheory.Localization.SmallShiftedHom.equiv_shift
lemma equiv_shift {a : M} [HasSmallLocalizedShiftedHom.{w} W M X Y]
    [HasSmallLocalizedShiftedHom.{w} W M Y Y]
    (f : SmallShiftedHom.{w} W X Y a) (n a' : M) (h : a + n = a') :
    equiv W L (f.shift n a' h) = (L.commShiftIso n).hom.app X ≫ (equiv W L f)⟦n⟧' ≫
      (shiftFunctorAdd' D a n a' h).inv.app (L.obj Y) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (W : CategoryTheory.MorphismProperty C) {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C M] [W.IsCompatibleWithShift M] (L : CategoryTheory.Functor C D) [L.IsLocalization W] [CategoryTheory.HasShift D M] [L.CommShift M] {X Y : C} {a : M} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Y Y] (f : CategoryTheory.Localization.SmallShiftedHom W X Y a) (n a' : M) (h : a + n = a')
Goal: (CategoryTheory.Localization.SmallShiftedHom.equiv W L) (f.shift n a' h) =
  CategoryTheory.CategoryStruct.comp ((L.commShiftIso n).hom.app X)
    (CategoryTheory.CategoryStruct.comp
      ((CategoryTheory.shiftFunctor D n).map ((CategoryTheory.Localization.SmallShiftedHom.equiv W L) f))
      ((CategoryTheory.shiftFunctorAdd' D a n a' h).inv.app (L.obj Y)))
-- CategoryTheory.Localization.SmallShiftedHom.equiv_comp
lemma equiv_comp [HasSmallLocalizedShiftedHom.{w} W M X Y]
    [HasSmallLocalizedShiftedHom.{w} W M Y Z] [HasSmallLocalizedShiftedHom.{w} W M X Z]
    [HasSmallLocalizedShiftedHom.{w} W M Z Z] {a b c : M}
    (f : SmallShiftedHom.{w} W X Y a) (g : SmallShiftedHom.{w} W Y Z b) (h : b + a = c) :
    equiv W L (f.comp g h) = (equiv W L f).comp (equiv W L g) h 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (W : CategoryTheory.MorphismProperty C) {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C M] [W.IsCompatibleWithShift M] (L : CategoryTheory.Functor C D) [L.IsLocalization W] [CategoryTheory.HasShift D M] [L.CommShift M] {X Y Z : C} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Y Z] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Z] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Z Z] {a b c : M} (f : CategoryTheory.Localization.SmallShiftedHom W X Y a) (g : CategoryTheory.Localization.SmallShiftedHom W Y Z b) (h : b + a = c)
Goal: (CategoryTheory.Localization.SmallShiftedHom.equiv W L) (f.comp g h) =
  ((CategoryTheory.Localization.SmallShiftedHom.equiv W L) f).comp
    ((CategoryTheory.Localization.SmallShiftedHom.equiv W L) g) h
-- CategoryTheory.Localization.SmallShiftedHom.equiv_mk₀
@[simp]
lemma equiv_mk₀ [HasSmallLocalizedShiftedHom.{w} W M X Y]
    (m₀ : M) (hm₀ : m₀ = 0) (f : X ⟶ Y) :
    equiv W L (SmallShiftedHom.mk₀ W m₀ hm₀ f) =
      ShiftedHom.mk₀ m₀ hm₀ (L.map f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] (W : CategoryTheory.MorphismProperty C) {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C M] (L : CategoryTheory.Functor C D) [L.IsLocalization W] [CategoryTheory.HasShift D M] [L.CommShift M] {X Y : C} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y] (m₀ : M) (hm₀ : m₀ = 0) (f : X ⟶ Y)
Goal: (CategoryTheory.Localization.SmallShiftedHom.equiv W L) (CategoryTheory.Localization.SmallShiftedHom.mk₀ W m₀ hm₀ f) =
  CategoryTheory.ShiftedHom.mk₀ m₀ hm₀ (L.map f)
-- CategoryTheory.Localization.SmallShiftedHom.comp_assoc
lemma comp_assoc {X Y Z T : C} {a₁ a₂ a₃ a₁₂ a₂₃ a : M}
    [HasSmallLocalizedShiftedHom.{w} W M X Y] [HasSmallLocalizedShiftedHom.{w} W M X Z]
    [HasSmallLocalizedShiftedHom.{w} W M X T] [HasSmallLocalizedShiftedHom.{w} W M Y Z]
    [HasSmallLocalizedShiftedHom.{w} W M Y T] [HasSmallLocalizedShiftedHom.{w} W M Z T]
    [HasSmallLocalizedShiftedHom.{w} W M Z Z] [HasSmallLocalizedShiftedHom.{w} W M T T]
    (α : SmallShiftedHom.{w} W X Y a₁) (β : SmallShiftedHom.{w} W Y Z a₂)
    (γ : SmallShiftedHom.{w} W Z T a₃)
    (h₁₂ : a₂ + a₁ = a₁₂) (h₂₃ : a₃ + a₂ = a₂₃) (h : a₃ + a₂ + a₁ = a) :
    (α.comp β h₁₂).comp γ (show a₃ + a₁₂ = a by rw [← h₁₂, ← add_assoc, h]) =
      α.comp (β.comp γ h₂₃) (by rw [← h₂₃, h]) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] (W : CategoryTheory.MorphismProperty C) {M : Type w'} [AddMonoid M] [CategoryTheory.HasShift C M] [W.IsCompatibleWithShift M] {X Y Z T : C} {a₁ a₂ a₃ a₁₂ a₂₃ a : M} [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Y] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X Z] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M X T] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Y Z] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Y T] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Z T] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M Z Z] [CategoryTheory.Localization.HasSmallLocalizedShiftedHom W M T T] (α : CategoryTheory.Localization.SmallShiftedHom W X Y a₁) (β : CategoryTheory.Localization.SmallShiftedHom W Y Z a₂) (γ : CategoryTheory.Localization.SmallShiftedHom W Z T a₃) (h₁₂ : a₂ + a₁ = a₁₂) (h₂₃ : a₃ + a₂ = a₂₃) (h : a₃ + a₂ + a₁ = a)
Goal: (α.comp β h₁₂).comp γ ⋯ = α.comp (β.comp γ h₂₃) ⋯
-- CategoryTheory.Adjunction.Localization.ε_app
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₁) 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{u_6, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_5, u_3} D₁] [CategoryTheory.Category.{u_7, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) (L₁ : CategoryTheory.Functor C₁ D₁) (W₁ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] (L₂ : CategoryTheory.Functor C₂ D₂) (G' : CategoryTheory.Functor D₁ D₂) (F' : CategoryTheory.Functor D₂ D₁) [CategoryTheory.CatCommSq G L₁ L₂ G'] [CategoryTheory.CatCommSq F L₂ L₁ F'] (X₁ : C₁)
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₁)))
-- CategoryTheory.Adjunction.Localization.η_app
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₂) 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{u_8, u_1} C₁] [CategoryTheory.Category.{u_7, u_2} C₂] [CategoryTheory.Category.{u_6, u_3} D₁] [CategoryTheory.Category.{u_5, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) (L₁ : CategoryTheory.Functor C₁ D₁) (L₂ : CategoryTheory.Functor C₂ D₂) (W₂ : CategoryTheory.MorphismProperty C₂) [L₂.IsLocalization W₂] (G' : CategoryTheory.Functor D₁ D₂) (F' : CategoryTheory.Functor D₂ D₁) [CategoryTheory.CatCommSq G L₁ L₂ G'] [CategoryTheory.CatCommSq F L₂ L₁ F'] (X₂ : C₂)
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₂)))
-- CategoryTheory.Adjunction.localization_unit_app
@[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₁) 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{u_6, u_1} C₁] [CategoryTheory.Category.{u_8, u_2} C₂] [CategoryTheory.Category.{u_5, u_3} D₁] [CategoryTheory.Category.{u_7, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) (L₁ : CategoryTheory.Functor C₁ D₁) (W₁ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] (L₂ : CategoryTheory.Functor C₂ D₂) (W₂ : CategoryTheory.MorphismProperty C₂) [L₂.IsLocalization W₂] (G' : CategoryTheory.Functor D₁ D₂) (F' : CategoryTheory.Functor D₂ D₁) [CategoryTheory.CatCommSq G L₁ L₂ G'] [CategoryTheory.CatCommSq F L₂ L₁ F'] (X₁ : C₁)
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₁)))
-- CategoryTheory.Adjunction.localization_counit_app
@[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₂) 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} {D₁ : Type u_3} {D₂ : Type u_4} [CategoryTheory.Category.{u_8, u_1} C₁] [CategoryTheory.Category.{u_7, u_2} C₂] [CategoryTheory.Category.{u_6, u_3} D₁] [CategoryTheory.Category.{u_5, u_4} D₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) (L₁ : CategoryTheory.Functor C₁ D₁) (W₁ : CategoryTheory.MorphismProperty C₁) [L₁.IsLocalization W₁] (L₂ : CategoryTheory.Functor C₂ D₂) (W₂ : CategoryTheory.MorphismProperty C₂) [L₂.IsLocalization W₂] (G' : CategoryTheory.Functor D₁ D₂) (F' : CategoryTheory.Functor D₂ D₁) [CategoryTheory.CatCommSq G L₁ L₂ G'] [CategoryTheory.CatCommSq F L₂ L₁ F'] (X₂ : C₂)
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₂)))
-- CategoryTheory.Adjunction.isLocalization
lemma isLocalization [F.Full] [F.Faithful] :
    G.IsLocalization ((MorphismProperty.isomorphisms C₂).inverseImage G) 
Arguments: {C₁ : Type u_1} {C₂ : Type u_2} [CategoryTheory.Category.{u_6, u_1} C₁] [CategoryTheory.Category.{u_5, u_2} C₂] {G : CategoryTheory.Functor C₁ C₂} {F : CategoryTheory.Functor C₂ C₁} (adj : G ⊣ F) [F.Full] [F.Faithful]
Goal: G.IsLocalization ((CategoryTheory.MorphismProperty.isomorphisms C₂).inverseImage G)
-- CategoryTheory.MorphismProperty.Q_inverts
theorem _root_.CategoryTheory.MorphismProperty.Q_inverts : W.IsInvertedBy W.Q 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] (W : CategoryTheory.MorphismProperty C)
Goal: W.IsInvertedBy W.Q
-- CategoryTheory.Localization.Construction.liftToPathCategory_map
@[simps!]
def liftToPathCategory : Paths (LocQuiver W) ⥤ D 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] (G : CategoryTheory.Functor C D) (hG : W.IsInvertedBy G)
Goal: ∀ {X Y : CategoryTheory.Paths (CategoryTheory.Localization.Construction.LocQuiver W)} (f : X ⟶ Y),
  (CategoryTheory.Localization.Construction.liftToPathCategory G hG).map f =
    CategoryTheory.composePath
      ({ obj := fun X => G.obj X.obj,
            map := fun {X Y} a =>
              Sum.rec (fun val => G.map val) (fun val => CategoryTheory.inv (G.map ↑val)) a }.mapPath
        f)
-- CategoryTheory.Localization.Construction.liftToPathCategory_obj
@[simps!]
def liftToPathCategory : Paths (LocQuiver W) ⥤ D 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] (G : CategoryTheory.Functor C D) (hG : W.IsInvertedBy G) (X : CategoryTheory.Paths (CategoryTheory.Localization.Construction.LocQuiver W))
Goal: (CategoryTheory.Localization.Construction.liftToPathCategory G hG).obj X = G.obj X.obj
-- CategoryTheory.Localization.Construction.lift_obj
@[simps!]
def lift : W.Localization ⥤ D 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] (G : CategoryTheory.Functor C D) (hG : W.IsInvertedBy G) (a : CategoryTheory.Quotient (CategoryTheory.Localization.Construction.relations W))
Goal: (CategoryTheory.Localization.Construction.lift G hG).obj a = G.obj a.as.obj
-- CategoryTheory.Localization.Construction.lift_map
@[simps!]
def lift : W.Localization ⥤ D 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] (G : CategoryTheory.Functor C D) (hG : W.IsInvertedBy G) (a b : CategoryTheory.Quotient (CategoryTheory.Localization.Construction.relations W)) (hf : a ⟶ b)
Goal: (CategoryTheory.Localization.Construction.lift G hG).map hf =
  Quot.liftOn hf
    (fun f =>
      CategoryTheory.composePath
        ({ obj := fun X => G.obj X.obj,
              map := fun {X Y} a =>
                Sum.rec (fun val => G.map val) (fun val => CategoryTheory.inv (G.map ↑val)) a }.mapPath
          f))
    ⋯
-- CategoryTheory.Localization.Construction.fac
@[simp]
theorem fac : W.Q ⋙ lift G hG = G 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] (G : CategoryTheory.Functor C D) (hG : W.IsInvertedBy G)
Goal: W.Q.comp (CategoryTheory.Localization.Construction.lift G hG) = G
-- CategoryTheory.Localization.Construction.uniq
theorem uniq (G₁ G₂ : W.Localization ⥤ D) (h : W.Q ⋙ G₁ = W.Q ⋙ G₂) : G₁ = G₂ 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] {W : CategoryTheory.MorphismProperty C} {D : Type uD} [CategoryTheory.Category.{uD', uD} D] (G₁ G₂ : CategoryTheory.Functor W.Localization D) (h : W.Q.comp G₁ = W.Q.comp G₂)
Goal: G₁ = G₂
-- CategoryTheory.Localization.Construction.objEquiv_symm_apply
@[simps]
def objEquiv : C ≃ W.Localization 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] (W : CategoryTheory.MorphismProperty C) (X : W.Localization)
Goal: (CategoryTheory.Localization.Construction.objEquiv W).symm X = X.as.obj
-- CategoryTheory.Localization.Construction.objEquiv_apply
@[simps]
def objEquiv : C ≃ W.Localization 
Arguments: {C : Type uC} [CategoryTheory.Category.{uC', uC} C] (W : CategoryTheory.MorphismProperty C)
Goal: ∀ (a : C), (CategoryTheory.Localization.Construction.objEquiv W) a = W.Q.obj a