-- Module: Mathlib.CategoryTheory.Localization.SmallShiftedHom
Goal:
C₁ : Type u₁
inst : Category.{v₁, u₁} C₁
C₂ : Type u₂
inst_1 : Category.{v₂, u₂} C₂
W₁ : MorphismProperty.{v₁, u₁} C₁
W₂ : MorphismProperty.{v₂, u₂} C₂
Φ : LocalizerMorphism W₁ W₂
M : Type w'
inst_2 : AddMonoid M
inst_3 : HasShift.{v₁, u₁, w'} C₁ M
inst_4 : HasShift.{v₂, u₂, w'} C₂ M
inst_5 : Φ.functor (W₁ := W₁) (W₂ := W₂).CommShift M
X₁ Y₁ : C₁
X₂ Y₂ : C₂
inst_6 : HasSmallLocalizedShiftedHom W₁ M X₁ Y₁
inst_7 : HasSmallLocalizedShiftedHom W₂ M X₂ X₂
inst_8 : HasSmallLocalizedShiftedHom W₂ M X₂ Y₂
inst_9 : HasSmallLocalizedShiftedHom W₂ M Y₂ Y₂
eX : Φ.functor (W₁ := W₁) (W₂ := W₂).obj X₁ ≅ X₂
eY : Φ.functor (W₁ := W₁) (W₂ := W₂).obj Y₁ ≅ Y₂
inst_10 : W₁.IsCompatibleWithShift M
inst_11 : W₂.IsCompatibleWithShift M
m : M
f : ShiftedHom X₁ Y₁ m
e : Φ.functor (W₁ := W₁) (W₂ := W₂) ⋙ W₂.Q ≅ W₁.Q ⋙ Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q :=
  CatCommSq.iso (Φ.functor (W₁ := W₁) (W₂ := W₂)) W₁.Q W₂.Q (Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q)
a :
  Eq (α := ShiftedHom (W₂.Q.obj X₂) (W₂.Q.obj Y₂) m)
    (W₂.Q.map eX.inv ≫
      e.hom.app X₁ ≫
        (Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q).map (W₁.Q.map f) ≫
          CategoryStruct.comp (Y :=
            (Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q).obj
              (Functor.obj (shiftFunctor W₁.Localization m) (W₁.Q.obj Y₁)))
            ((Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q).map
              (NatTrans.app (Iso.hom (Functor.commShiftIso W₁.Q m)) Y₁))
            (CategoryStruct.comp (Y :=
              (Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q).obj
                (W₁.Q.obj (Functor.obj.{v₁, v₁, u₁, u₁} (shiftFunctor C₁ m) Y₁)))
              ((Φ.localizedFunctor (W₁ := W₁) (W₂ := W₂) W₁.Q W₂.Q).map
                (NatTrans.app (Iso.inv (Functor.commShiftIso W₁.Q m)) Y₁))
              (e.inv.app (Functor.obj.{v₁, v₁, u₁, u₁} (shiftFunctor C₁ m) Y₁) ≫
                CategoryStruct.comp (Y :=
                  W₂.Q.obj (Functor.obj.{v₂, v₂, u₂, u₂} (shiftFunctor C₂ m) (Φ.functor (W₁ := W₁) (W₂ := W₂).obj Y₁)))
                  (W₂.Q.map (NatTrans.app (Iso.hom (Functor.commShiftIso (Φ.functor (W₁ := W₁) (W₂ := W₂)) m)) Y₁))
                  (NatTrans.app (Iso.hom (Functor.commShiftIso W₂.Q m)) (Φ.functor (W₁ := W₁) (W₂ := W₂).obj Y₁) ≫
                    Functor.map (shiftFunctor W₂.Localization m) (W₂.Q.map eY.hom)))))
    (W₂.Q.map eX.inv ≫
      W₂.Q.map (Φ.functor (W₁ := W₁) (W₂ := W₂).map f) ≫
        CategoryStruct.comp (Y :=
          W₂.Q.obj (Functor.obj.{v₂, v₂, u₂, u₂} (shiftFunctor C₂ m) (Φ.functor (W₁ := W₁) (W₂ := W₂).obj Y₁)))
          (W₂.Q.map (NatTrans.app (Iso.hom (Functor.commShiftIso (Φ.functor (W₁ := W₁) (W₂ := W₂)) m)) Y₁))
          (NatTrans.app (Iso.hom (Functor.commShiftIso W₂.Q m)) (Φ.functor (W₁ := W₁) (W₂ := W₂).obj Y₁) ≫
            Functor.map (shiftFunctor W₂.Localization m) (W₂.Q.map eY.hom)))
⊢ Eq (α := ShiftedHom (W₂.Q.obj X₂) (W₂.Q.obj Y₂) m)
    ((SmallShiftedHom.equiv W₂ W₂.Q : (a : SmallShiftedHom W₂ X₂ Y₂ m) → ShiftedHom (W₂.Q.obj X₂) (W₂.Q.obj Y₂) m)
        (smallShiftedHomMap.{w'', w, w', v₁, v₂, u₁, u₂} (W₁ := W₁) (W₂ := W₂) Φ eX eY (SmallShiftedHom.mk W₁ f)) :
      ShiftedHom (W₂.Q.obj X₂) (W₂.Q.obj Y₂) m)
    ((SmallShiftedHom.equiv W₂ W₂.Q : (a : SmallShiftedHom W₂ X₂ Y₂ m) → ShiftedHom (W₂.Q.obj X₂) (W₂.Q.obj Y₂) m)
        (SmallShiftedHom.mk W₂
          (ShiftedHom.comp (ShiftedHom.mk₀ 0 ⋯ eX.inv)
            (ShiftedHom.comp (f.map (Φ.functor (W₁ := W₁) (W₂ := W₂))) (ShiftedHom.mk₀ 0 ⋯ eY.hom) ⋯) ⋯)) :
      ShiftedHom (W₂.Q.obj X₂) (W₂.Q.obj Y₂) m)

Tactic:
simp only [Φ.equiv_smallShiftedHomMap W₁.Q W₂.Q _ _ (Φ.localizedFunctor W₁.Q W₂.Q) e,
    Functor.comp_obj, ShiftedHom.map, SmallShiftedHom.equiv_mk, Functor.map_comp, assoc,
    ShiftedHom.comp_mk₀, NatTrans.shift_app, Functor.commShiftIso_comp_inv_app,
    Functor.commShiftIso_comp_hom_app, Iso.hom_inv_id_app_assoc, ShiftedHom.mk₀_comp,
    Functor.commShiftIso_hom_naturality]

Premises used: CategoryTheory.Functor.comp_obj, CategoryTheory.Category.assoc, CategoryTheory.Functor.commShiftIso_comp_hom_app, CategoryTheory.MorphismProperty.Q, CategoryTheory.ShiftedHom.comp_mk₀, CategoryTheory.ShiftedHom.mk₀_comp, CategoryTheory.Localization.SmallShiftedHom.equiv_mk, CategoryTheory.Functor.commShiftIso_comp_inv_app, CategoryTheory.Functor.commShiftIso_hom_naturality, CategoryTheory.ShiftedHom.map, CategoryTheory.LocalizerMorphism.equiv_smallShiftedHomMap, CategoryTheory.Iso.hom_inv_id_app_assoc, CategoryTheory.Functor.map_comp, CategoryTheory.LocalizerMorphism.localizedFunctor, CategoryTheory.NatTrans.shift_app