English
For a sheaf F and opens U, V, the interUnionPullbackCone is a pullback cone and in fact a limit cone; i.e., F(U ⊔ V) together with the legs to F(U) and F(V) exhibits the pullback/pullback universal property.
Русский
Для слоя F и открытий U, V конус interUnionPullbackCone является pullback-конусом и в действительности предельным конусом; то есть F(U ⊔ V) с соответствующими отображениями образует предел.
LaTeX
$$$\\text{IsLimit}\\,(\\text{interUnionPullbackCone } F U V)$$$
Lean4
/-- For a sheaf `F`, `F(U ⊔ V)` is the pullback of `F(U) ⟶ F(U ⊓ V)` and `F(V) ⟶ F(U ⊓ V)`. -/
def isLimitPullbackCone : IsLimit (interUnionPullbackCone F U V) :=
by
let ι : ULift.{w} WalkingPair → Opens X := fun ⟨j⟩ => WalkingPair.casesOn j U V
have hι : U ⊔ V = iSup ι := by
ext
rw [Opens.coe_iSup, Set.mem_iUnion]
constructor
· rintro (h | h)
exacts [⟨⟨WalkingPair.left⟩, h⟩, ⟨⟨WalkingPair.right⟩, h⟩]
· rintro ⟨⟨_ | _⟩, h⟩
exacts [Or.inl h, Or.inr h]
apply PullbackCone.isLimitAux'
intro s
use interUnionPullbackConeLift F U V s
refine ⟨?_, ?_, ?_⟩
· apply interUnionPullbackConeLift_left
· apply interUnionPullbackConeLift_right
· intro m h₁ h₂
rw [← cancel_mono (F.1.map (eqToHom hι.symm).op)]
apply (F.presheaf.isSheaf_iff_isSheafPairwiseIntersections.mp F.2 ι).some.hom_ext
rintro ((_ | _) | (_ | _)) <;> rw [Category.assoc, Category.assoc]
· erw [← F.1.map_comp]
convert h₁
apply interUnionPullbackConeLift_left
· erw [← F.1.map_comp]
convert h₂
apply interUnionPullbackConeLift_right
all_goals
dsimp only [Functor.op, Pairwise.cocone_ι_app, Functor.mapCone_π_app, Cocone.op, Pairwise.coconeιApp, unop_op,
op_comp, NatTrans.op]
simp_rw [F.1.map_comp, ← Category.assoc]
congr 1
simp_rw [Category.assoc, ← F.1.map_comp]
· convert h₁
apply interUnionPullbackConeLift_left
· convert h₂
apply interUnionPullbackConeLift_right