Sheafification #
Given a site (C, J) we define a typeclass HasSheafify J A saying that the inclusion functor from
A-valued sheaves on C to presheaves admits a left exact left adjoint (sheafification).
Note: to access the HasSheafify instance for suitable concrete categories, import the file
Mathlib/CategoryTheory/Sites/LeftExact.lean.
A proposition saying that the inclusion functor from sheaves to presheaves admits a left adjoint.
Equations
Instances For
HasSheafify means that the inclusion functor from sheaves to presheaves admits a left exact
left adjiont (sheafification).
Given a finite limit preserving functor F : (Cᵒᵖ ⥤ A) ⥤ Sheaf J A and an adjunction
adj : F ⊣ sheafToPresheaf J A, use HasSheafify.mk' to construct a HasSheafify instance.
- isRightAdjoint : HasWeakSheafify J A
- isLeftExact : Limits.PreservesFiniteLimits (sheafToPresheaf J A).leftAdjoint
Instances
The sheafification functor, left adjoint to the inclusion.
Equations
Instances For
The sheafification-inclusion adjunction.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
The sheafification of a presheaf P.
Equations
- CategoryTheory.sheafify J P = ((CategoryTheory.presheafToSheaf J D).obj P).val
Instances For
The canonical map from P to its sheafification.
Equations
Instances For
The canonical map on sheafifications induced by a morphism.
Equations
- CategoryTheory.sheafifyMap J η = ((CategoryTheory.presheafToSheaf J D).map η).val
Instances For
The sheafification of a presheaf P, as a functor.
Equations
Instances For
The canonical map from P to its sheafification, as a natural transformation.
Equations
Instances For
If P is a sheaf, then P is isomorphic to sheafify J P.
Equations
Instances For
Given a sheaf Q and a morphism P ⟶ Q, construct a morphism from sheafify J P to Q.
Equations
- CategoryTheory.sheafifyLift J η hQ = (((CategoryTheory.sheafificationAdjunction J D).homEquiv P { val := Q, cond := hQ }).symm η).val
Instances For
A sheaf P is isomorphic to its own sheafification.
Equations
- CategoryTheory.sheafificationIso P = { hom := { val := (CategoryTheory.isoSheafify J ⋯).hom }, inv := { val := (CategoryTheory.isoSheafify J ⋯).inv }, hom_inv_id := ⋯, inv_hom_id := ⋯ }
Instances For
The natural isomorphism 𝟭 (Sheaf J D) ≅ sheafToPresheaf J D ⋙ presheafToSheaf J D.
Equations
- CategoryTheory.sheafificationNatIso J D = CategoryTheory.NatIso.ofComponents (fun (P : CategoryTheory.Sheaf J D) => CategoryTheory.sheafificationIso P) ⋯