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
.
A proposition saying that the inclusion functor from sheaves to presheaves admits a left adjoint.
Equations
- CategoryTheory.HasWeakSheafify J A = (CategoryTheory.sheafToPresheaf J A).IsRightAdjoint
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 : CategoryTheory.HasWeakSheafify J A
- isLeftExact : Nonempty (CategoryTheory.Limits.PreservesFiniteLimits (CategoryTheory.sheafToPresheaf J A).leftAdjoint)
Instances
Equations
- ⋯ = ⋯
The sheafification functor, left adjoint to the inclusion.
Equations
- CategoryTheory.presheafToSheaf J A = (CategoryTheory.sheafToPresheaf J A).leftAdjoint
Instances For
Equations
The sheafification-inclusion adjunction.
Equations
Instances For
Equations
- ⋯ = ⋯
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
- CategoryTheory.toSheafify J P = (CategoryTheory.sheafificationAdjunction J D).unit.app P
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
- CategoryTheory.sheafification J D = (CategoryTheory.presheafToSheaf J D).comp (CategoryTheory.sheafToPresheaf J D)
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
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
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) ⋯