Theorem: AlgebraicGeometry.Scheme.GlueData.ι_isoCarrier_inv
File: Mathlib/AlgebraicGeometry/Gluing.lean

Proof steps:
state_before: D : GlueData
i : D.J
⊢ D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.toPresheafedSpaceGlueData.toTopGlueData.ι i ≫ D.isoCarrier.inv =
    (D.ι i).val.base
state_after: D : GlueData
i : D.J
⊢ D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.toPresheafedSpaceGlueData.toTopGlueData.ι i ≫
      ((PresheafedSpace.forget CommRingCat).mapIso
            (SheafedSpace.forgetToPresheafedSpace.mapIso
                (LocallyRingedSpace.forgetToSheafedSpace.mapIso D.isoLocallyRingedSpace ≪≫
                  D.toLocallyRingedSpaceGlueData.isoSheafedSpace) ≪≫
              D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.isoPresheafedSpace) ≪≫
          D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.toPresheafedSpaceGlueData.gluedIso
            (PresheafedSpace.forget CommRingCat)).inv =
    (D.ι i).val.base
tactic: delta isoCarrier
state_before: D : GlueData
i : D.J
⊢ D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.toPresheafedSpaceGlueData.toTopGlueData.ι i ≫
      ((PresheafedSpace.forget CommRingCat).mapIso
            (SheafedSpace.forgetToPresheafedSpace.mapIso
                (LocallyRingedSpace.forgetToSheafedSpace.mapIso D.isoLocallyRingedSpace ≪≫
                  D.toLocallyRingedSpaceGlueData.isoSheafedSpace) ≪≫
              D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.isoPresheafedSpace) ≪≫
          D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.toPresheafedSpaceGlueData.gluedIso
            (PresheafedSpace.forget CommRingCat)).inv =
    (D.ι i).val.base
state_after: D : GlueData
i : D.J
⊢ (D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.ι i ≫
        D.toLocallyRingedSpaceGlueData.isoSheafedSpace.inv ≫
          (LocallyRingedSpace.forgetToSheafedSpace.mapIso D.isoLocallyRingedSpace).inv).base =
    (D.ι i).val.base
tactic: rw [Iso.trans_inv, GlueData.ι_gluedIso_inv_assoc, Functor.mapIso_inv, Iso.trans_inv,
    Functor.mapIso_inv, Iso.trans_inv, SheafedSpace.forgetToPresheafedSpace_map, forget_map,
    forget_map, ← comp_base, ← Category.assoc,
    D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.ι_isoPresheafedSpace_inv i]
state_before: D : GlueData
i : D.J
⊢ (D.toLocallyRingedSpaceGlueData.toSheafedSpaceGlueData.ι i ≫
        D.toLocallyRingedSpaceGlueData.isoSheafedSpace.inv ≫
          (LocallyRingedSpace.forgetToSheafedSpace.mapIso D.isoLocallyRingedSpace).inv).base =
    (D.ι i).val.base
state_after: D : GlueData
i : D.J
⊢ ((D.toLocallyRingedSpaceGlueData.ι i).val ≫
        (LocallyRingedSpace.forgetToSheafedSpace.mapIso D.isoLocallyRingedSpace).inv).base =
    (D.ι i).val.base
tactic: erw [← Category.assoc, D.toLocallyRingedSpaceGlueData.ι_isoSheafedSpace_inv i]
state_before: D : GlueData
i : D.J
⊢ ((D.toLocallyRingedSpaceGlueData.ι i).val ≫
        (LocallyRingedSpace.forgetToSheafedSpace.mapIso D.isoLocallyRingedSpace).inv).base =
    (D.ι i).val.base
state_after: D : GlueData
i : D.J
⊢ (D.toLocallyRingedSpaceGlueData.ι i ≫ D.isoLocallyRingedSpace.inv).val.base = (D.ι i).val.base
tactic: change (_ ≫ D.isoLocallyRingedSpace.inv).1.base = _
state_before: D : GlueData
i : D.J
⊢ (D.toLocallyRingedSpaceGlueData.ι i ≫ D.isoLocallyRingedSpace.inv).val.base = (D.ι i).val.base
state_after: no goals
tactic: rw [D.ι_isoLocallyRingedSpace_inv i]