-- Module: Mathlib.AlgebraicGeometry.ColimitsOver
Goal:
P : MorphismProperty Scheme
inst : P.IsStableUnderBaseChange
inst_1 : P.IsMultiplicative
S : Scheme
J : Type u_1
inst_2 : Category.{v_1, u_1} J
D : CategoryTheory.Functor.{v_1, u, u_1, u + 1} J (P.Over ⊤ S)
𝒰 : OpenCover.{u_2, u} S
inst_3 : Category.{v_2, u_2} 𝒰.I₀
inst_4 : LocallyDirected.{v_2, u, u_2} (P := IsOpenImmersion) 𝒰
d : ColimitGluingData.{v_2, u, v_1, u_1, u_2} (P := P) D 𝒰
inst_5 :
  ∀ {i j : 𝒰.I₀} (hij : i ⟶ j),
    PreservesColimitsOfShape.{v_1, u_1, u, u, u + 1, u + 1} (C := P.Over ⊤ (𝒰.X j)) J
      (MorphismProperty.Over.pullback P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij))
i j : 𝒰.I₀
hij : i ⟶ j
iso1 : (d.cocone (P := P) i).pt ≅
  Cocone.pt (F :=
    (D ⋙ MorphismProperty.Over.pullback P ⊤ (𝒰.f j)) ⋙
      MorphismProperty.Over.pullback P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij))
    (Functor.mapCocone (MorphismProperty.Over.pullback P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij))
      (d.cocone (P := P) j)) :=
  (d.isColimit (P := P) i).coconePointsIsoOfNatIso
    (isColimitOfPreserves (MorphismProperty.Over.pullback P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij))
      (d.isColimit (P := P) j))
    (D.isoWhiskerLeft
        (MorphismProperty.Over.pullbackComp (P := P) (Q := ⊤) (Cover.trans (P := IsOpenImmersion) 𝒰 hij) (𝒰.f j) (𝒰.f i)
          ⋯) ≪≫
      (D.associator (MorphismProperty.Over.pullback P ⊤ (𝒰.f j))
          (MorphismProperty.Over.pullback P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij))).symm)
a : J
dsimp :
  Eq (α :=
    Functor.obj (MorphismProperty.Over.map (P := P) ⊤ ⋯)
        (Functor.obj (MorphismProperty.Over.pullback P ⊤ (𝒰.f i)) (D.obj a)) ⟶
      (d.cocone (P := P) j).pt)
    (CategoryTheory.Functor.map (MorphismProperty.Over.map (P := P) ⊤ ⋯) ((d.cocone (P := P) i).ι.app a) ≫
        CategoryTheory.Functor.map (MorphismProperty.Over.map (P := P) ⊤ ⋯) iso1.hom ≫
          NatTrans.app
            (Adjunction.counit
              (MorphismProperty.Over.mapPullbackAdj P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij) ⋯ trivial))
            (d.cocone (P := P) j).pt :
      Functor.obj (MorphismProperty.Over.map (P := P) ⊤ ⋯)
          (Functor.obj (MorphismProperty.Over.pullback P ⊤ (𝒰.f i)) (D.obj a)) ⟶
        (d.cocone (P := P) j).pt)
    (CategoryTheory.Functor.map (MorphismProperty.Over.map (P := P) ⊤ ⋯) ((d.cocone (P := P) i).ι.app a) ≫
        d.transitionMap (P := P) hij :
      Functor.obj (MorphismProperty.Over.map (P := P) ⊤ ⋯)
          (Functor.obj (MorphismProperty.Over.pullback P ⊤ (𝒰.f i)) (D.obj a)) ⟶
        (d.cocone (P := P) j).pt)
⊢ Eq (α :=
    ((D ⋙ MorphismProperty.Over.pullback P ⊤ (𝒰.f i)) ⋙ MorphismProperty.Over.map (P := P) ⊤ ⋯).obj a ⟶
      Functor.obj (𝟭 (P.Over ⊤ (𝒰.X j))) (d.cocone (P := P) j).pt)
    (CategoryStruct.comp (Y :=
      Functor.obj.{v_1, u, u_1, u + 1}
        (Functor.obj (Functor.const J)
          (Cocone.pt (F := (D ⋙ MorphismProperty.Over.pullback P ⊤ (𝒰.f i)) ⋙ MorphismProperty.Over.map (P := P) ⊤ ⋯)
            (Functor.mapCocone (MorphismProperty.Over.map (P := P) ⊤ ⋯) (d.cocone (P := P) i))))
        a)
      (NatTrans.app (Cocone.ι (Functor.mapCocone (MorphismProperty.Over.map (P := P) ⊤ ⋯) (d.cocone (P := P) i))) a)
      (CategoryTheory.Functor.map (MorphismProperty.Over.map (P := P) ⊤ ⋯) iso1.hom ≫
        NatTrans.app
          (Adjunction.counit
            (MorphismProperty.Over.mapPullbackAdj P ⊤ (Cover.trans (P := IsOpenImmersion) 𝒰 hij) ⋯ trivial))
          (d.cocone (P := P) j).pt))
    (CategoryStruct.comp (Y :=
      Functor.obj.{v_1, u, u_1, u + 1}
        (Functor.obj (Functor.const J)
          (Cocone.pt (F := (D ⋙ MorphismProperty.Over.pullback P ⊤ (𝒰.f i)) ⋙ MorphismProperty.Over.map (P := P) ⊤ ⋯)
            (Functor.mapCocone (MorphismProperty.Over.map (P := P) ⊤ ⋯) (d.cocone (P := P) i))))
        a)
      (NatTrans.app (Cocone.ι (Functor.mapCocone (MorphismProperty.Over.map (P := P) ⊤ ⋯) (d.cocone (P := P) i))) a)
      (d.transitionMap (P := P) hij))

Tactic:
dsimp only [Functor.comp_obj, Functor.id_obj, Functor.mapCocone_pt, Functor.const_obj_obj,
      Functor.mapCocone_ι_app, Iso.trans_hom, Functor.isoWhiskerLeft_hom, Iso.symm_hom]

Premises used: CategoryTheory.Functor.comp_obj, CategoryTheory.Functor.mapCocone_ι_app, CategoryTheory.Iso.symm_hom, CategoryTheory.Iso.trans_hom, CategoryTheory.Functor.id_obj, CategoryTheory.Functor.const_obj_obj, CategoryTheory.Functor.isoWhiskerLeft_hom, CategoryTheory.Functor.mapCocone_pt