English
For a pretopology K, a presheaf P is a sheaf for the associated Grothendieck topology iff P satisfies the sheaf condition on every basis presieve R ∈ K X.
Русский
Для претопологии K пресшеф P является sheaf для связанной топологии, если P удовлетворяет условию Шейфа на каждом базисном пресieve R ∈ K X.
LaTeX
$$$\mathrm{IsSheaf}(K^{\mathrm{toGrothendieck}}, P) \iff \forall X, \forall R, R \in K X \Rightarrow \mathrm{IsSheafFor}(P,R)$$$
Lean4
/-- For a topology generated by a basis, it suffices to check the sheaf condition on the basis
presieves only.
-/
theorem isSheaf_pretopology [HasPullbacks C] (K : Pretopology C) :
IsSheaf K.toGrothendieck P ↔ ∀ {X : C} (R : Presieve X), R ∈ K X → IsSheafFor P R :=
by
constructor
· intro PJ X R hR
rw [isSheafFor_iff_generate]
apply PJ (Sieve.generate R) ⟨_, hR, le_generate R⟩
· rintro PK X S ⟨R, hR, RS⟩
have gRS : ⇑(generate R) ≤ S := by
apply giGenerate.gc.monotone_u
rwa [generate_le_iff]
apply isSheafFor_subsieve P gRS _
intro Y f
rw [← pullbackArrows_comm, ← isSheafFor_iff_generate]
exact PK (pullbackArrows f R) (K.pullbacks f R hR)