Module: Mathlib.Geometry.RingedSpace.Stalks

Goal state before:
pp: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasColimits C
X Y : PresheafedSpace C
f : X ⟶ Y
x y : ↑↑X
h : x ⤳ y
j : (OpenNhds ((TopCat.Hom.hom f.base) y))ᵒᵖ
⊢ colimit.ι
        (((whiskeringLeft (OpenNhds ((TopCat.Hom.hom f.base) y))ᵒᵖ (Opens ↑↑Y)ᵒᵖ C).obj
              (OpenNhds.inclusion ((TopCat.Hom.hom f.base) y)).op).obj
          Y.presheaf)
        j ≫
      colimit.desc ((OpenNhds.inclusion ((TopCat.Hom.hom f.base) y)).op ⋙ Y.presheaf)
          { pt := colimit ((OpenNhds.inclusion ((TopCat.Hom.hom f.base) x)).op ⋙ Y.presheaf),
            ι :=
              {
                app := fun U ↦
                  colimit.ι ((OpenNhds.inclusion ((TopCat.Hom.hom f.base) x)).op ⋙ Y.presheaf) (op ⟨↑(unop U), ⋯⟩),
                naturality := ⋯ } } ≫
        colimMap ((OpenNhds.inclusion ((ConcreteCategory.hom f.base) x)).op.whiskerLeft f.c) ≫
          colimMap (whiskerRight (𝟙 (OpenNhds.map f.base x ⋙ OpenNhds.inclusion x).op) X.presheaf) ≫
            colimit.pre ((OpenNhds.inclusion x).op ⋙ X.presheaf) (OpenNhds.map f.base x).op =
    colimit.ι
        (((whiskeringLeft (OpenNhds ((TopCat.Hom.hom f.base) y))ᵒᵖ (Opens ↑↑Y)ᵒᵖ C).obj
              (OpenNhds.inclusion ((TopCat.Hom.hom f.base) y)).op).obj
          Y.presheaf)
        j ≫
      (colimMap ((OpenNhds.inclusion ((ConcreteCategory.hom f.base) y)).op.whiskerLeft f.c) ≫
          colimMap (whiskerRight (𝟙 (OpenNhds.map f.base y ⋙ OpenNhds.inclusion y).op) X.presheaf) ≫
            colimit.pre ((OpenNhds.inclusion y).op ⋙ X.presheaf) (OpenNhds.map f.base y).op) ≫
        colimit.desc ((OpenNhds.inclusion y).op ⋙ X.presheaf)
          { pt := colimit ((OpenNhds.inclusion x).op ⋙ X.presheaf),
            ι :=
              { app := fun U ↦ colimit.ι ((OpenNhds.inclusion x).op ⋙ X.presheaf) (op ⟨↑(unop U), ⋯⟩),
                naturality := ⋯ } }

Tactic:
induction j with

Goal state after:
case op
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : HasColimits C
X Y : PresheafedSpace C
f : X ⟶ Y
x y : ↑↑X
h : x ⤳ y
j : OpenNhds ((TopCat.Hom.hom f.base) y)
⊢ colimit.ι
        (((whiskeringLeft (OpenNhds ((TopCat.Hom.hom f.base) y))ᵒᵖ (Opens ↑↑Y)ᵒᵖ C).obj
              (OpenNhds.inclusion ((TopCat.Hom.hom f.base) y)).op).obj
          Y.presheaf)
        (op j) ≫
      colimit.desc ((OpenNhds.inclusion ((TopCat.Hom.hom f.base) y)).op ⋙ Y.presheaf)
          { pt := colimit ((OpenNhds.inclusion ((TopCat.Hom.hom f.base) x)).op ⋙ Y.presheaf),
            ι :=
              {
                app := fun U ↦
                  colimit.ι ((OpenNhds.inclusion ((TopCat.Hom.hom f.base) x)).op ⋙ Y.presheaf) (op ⟨↑(unop U), ⋯⟩),
                naturality := ⋯ } } ≫
        colimMap ((OpenNhds.inclusion ((ConcreteCategory.hom f.base) x)).op.whiskerLeft f.c) ≫
          colimMap (whiskerRight (𝟙 (OpenNhds.map f.base x ⋙ OpenNhds.inclusion x).op) X.presheaf) ≫
            colimit.pre ((OpenNhds.inclusion x).op ⋙ X.presheaf) (OpenNhds.map f.base x).op =
    colimit.ι
        (((whiskeringLeft (OpenNhds ((TopCat.Hom.hom f.base) y))ᵒᵖ (Opens ↑↑Y)ᵒᵖ C).obj
              (OpenNhds.inclusion ((TopCat.Hom.hom f.base) y)).op).obj
          Y.presheaf)
        (op j) ≫
      (colimMap ((OpenNhds.inclusion ((ConcreteCategory.hom f.base) y)).op.whiskerLeft f.c) ≫
          colimMap (whiskerRight (𝟙 (OpenNhds.map f.base y ⋙ OpenNhds.inclusion y).op) X.presheaf) ≫
            colimit.pre ((OpenNhds.inclusion y).op ⋙ X.presheaf) (OpenNhds.map f.base y).op) ≫
        colimit.desc ((OpenNhds.inclusion y).op ⋙ X.presheaf)
          { pt := colimit ((OpenNhds.inclusion x).op ⋙ X.presheaf),
            ι :=
              { app := fun U ↦ colimit.ι ((OpenNhds.inclusion x).op ⋙ X.presheaf) (op ⟨↑(unop U), ⋯⟩),
                naturality := ⋯ } }