Lean4
/-- Given isomorphisms `α : X ≅ X₁` and `β : Y ≅ Y₁` in `C`, we can construct
an isomorphism between `V` objects `X ⟶[V] Y` and `X₁ ⟶[V] Y₁`. -/
@[simps]
def eHomCongr {X Y X₁ Y₁ : C} (α : X ≅ X₁) (β : Y ≅ Y₁) : (X ⟶[V] Y) ≅ (X₁ ⟶[V] Y₁)
where
hom := eHomWhiskerRight V α.inv Y ≫ eHomWhiskerLeft V X₁ β.hom
inv := eHomWhiskerRight V α.hom Y₁ ≫ eHomWhiskerLeft V X β.inv
hom_inv_id := by
rw [← eHom_whisker_exchange]
slice_lhs 2 3 => rw [← eHomWhiskerRight_comp]
simp [← eHomWhiskerLeft_comp]
inv_hom_id := by
rw [← eHom_whisker_exchange]
slice_lhs 2 3 => rw [← eHomWhiskerRight_comp]
simp [← eHomWhiskerLeft_comp]