Lean4
/-- The canonical isomorphism between `W ×[X] Uᵢ` and `Uᵢ ×[X] Y`. That is, the preimage of `Uᵢ` in
`W` along `p1` is indeed `Uᵢ ×[X] Y`. -/
def pullbackP1Iso (i : 𝒰.I₀) : pullback (p1 𝒰 f g) (𝒰.f i) ≅ pullback (𝒰.f i ≫ f) g :=
by
fconstructor
·
exact
pullback.lift (pullback.snd _ _) (pullback.fst _ _ ≫ p2 𝒰 f g)
(by rw [← pullback.condition_assoc, Category.assoc, p_comm])
· exact pullback.lift ((gluing 𝒰 f g).ι i) (pullback.fst _ _) (by rw [gluing_ι, p1, Multicoequalizer.π_desc])
· apply pullback.hom_ext
· simpa using lift_comp_ι 𝒰 f g i
· simp_rw [Category.assoc, pullback.lift_snd, pullback.lift_fst, Category.id_comp]
· apply pullback.hom_ext
· simp_rw [Category.assoc, pullback.lift_fst, pullback.lift_snd, Category.id_comp]
· simp [p2]