Theorem: AlgebraicGeometry.PresheafedSpace.isoOfComponents_hom
File: Mathlib/Geometry/RingedSpace/PresheafedSpace.lean

Proof steps:
state_before: C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
⊢ { base := H.hom, c := α.inv } ≫ { base := H.inv, c := Presheaf.toPushforwardOfIso H α.hom } = 𝟙 X
state_after: no goals
tactic: ext <;> simp
state_before: C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
⊢ { base := H.inv, c := Presheaf.toPushforwardOfIso H α.hom } ≫ { base := H.hom, c := α.inv } = 𝟙 Y
state_after: case w.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
x✝ : (CategoryTheory.forget TopCat).obj ↑Y
⊢ ({ base := H.inv, c := Presheaf.toPushforwardOfIso H α.hom } ≫ { base := H.hom, c := α.inv }).base x✝ = (𝟙 Y).base x✝

case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ (({ base := H.inv, c := Presheaf.toPushforwardOfIso H α.hom } ≫ { base := H.hom, c := α.inv }).c ≫
          whiskerRight (eqToHom ⋯) Y.presheaf).app
      (op U✝) =
    (𝟙 Y).c.app (op U✝)
tactic: ext
state_before: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ (({ base := H.inv, c := Presheaf.toPushforwardOfIso H α.hom } ≫ { base := H.hom, c := α.inv }).c ≫
          whiskerRight (eqToHom ⋯) Y.presheaf).app
      (op U✝) =
    (𝟙 Y).c.app (op U✝)
state_after: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ (α.inv.app (op U✝) ≫ (Presheaf.toPushforwardOfIso H α.hom).app (op ((Opens.map H.hom).obj U✝))) ≫
      Y.presheaf.map ((eqToHom ⋯).app (op U✝)) =
    (𝟙 Y).c.app (op U✝)
tactic: dsimp
state_before: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ (α.inv.app (op U✝) ≫ (Presheaf.toPushforwardOfIso H α.hom).app (op ((Opens.map H.hom).obj U✝))) ≫
      Y.presheaf.map ((eqToHom ⋯).app (op U✝)) =
    (𝟙 Y).c.app (op U✝)
state_after: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ α.inv.app (op U✝) ≫
      X.presheaf.map (eqToHom ⋯) ≫
        ((Presheaf.pushforward C H.hom).obj X.presheaf).map ((eqToHom ⋯).app (op U✝)) ≫
          α.hom.app (op ((Opens.map (𝟙 ↑Y)).obj U✝)) =
    (𝟙 Y).c.app (op U✝)
tactic: simp only [Presheaf.toPushforwardOfIso_app, assoc, ← α.hom.naturality]
state_before: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ α.inv.app (op U✝) ≫
      X.presheaf.map (eqToHom ⋯) ≫
        ((Presheaf.pushforward C H.hom).obj X.presheaf).map ((eqToHom ⋯).app (op U✝)) ≫
          α.hom.app (op ((Opens.map (𝟙 ↑Y)).obj U✝)) =
    (𝟙 Y).c.app (op U✝)
state_after: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ α.inv.app (op U✝) ≫ α.hom.app (op ((Opens.map (𝟙 ↑Y)).obj U✝)) = (𝟙 Y).c.app (op U✝)
tactic: simp only [eqToHom_map, eqToHom_app, eqToHom_trans_assoc, eqToHom_refl, id_comp]
state_before: case h.w
C : Type u_1
inst✝ : Category.{?u.31752, u_1} C
X Y : PresheafedSpace C
H : ↑X ≅ ↑Y
α : (Presheaf.pushforward C H.hom).obj X.presheaf ≅ Y.presheaf
U✝ : Opens ↑↑Y
⊢ α.inv.app (op U✝) ≫ α.hom.app (op ((Opens.map (𝟙 ↑Y)).obj U✝)) = (𝟙 Y).c.app (op U✝)
state_after: no goals
tactic: apply Iso.inv_hom_id_app