Dense subsites #
We define IsCoverDense
functors into sites as functors such that there exists a covering sieve
that factors through images of the functor for each object in D
.
Main results #
CategoryTheory.Functor.IsCoverDense.Types.presheafHom
: IfG : C ⥤ (D, K)
is locally-full and cover-dense, then given any presheafℱ
and sheafℱ'
onD
, and a morphismα : G ⋙ ℱ ⟶ G ⋙ ℱ'
, we may glue them together to obtain a morphism of presheavesℱ ⟶ ℱ'
.CategoryTheory.Functor.IsCoverDense.sheafIso
: Ifℱ
above is a sheaf andα
is an iso, then the result is also an iso.CategoryTheory.Functor.IsCoverDense.iso_of_restrict_iso
: IfG : C ⥤ (D, K)
is locally-full and cover-dense, then given any sheavesℱ, ℱ'
onD
, and a morphismα : ℱ ⟶ ℱ'
, thenα
is an iso ifG ⋙ ℱ ⟶ G ⋙ ℱ'
is iso.CategoryTheory.Functor.IsDenseSubsite
: The functorG : C ⥤ D
exhibits(C, J)
as a dense subsite of(D, K)
ifG
is cover-dense, locally fully-faithful, andS
is a cover ofC
iff the image ofS
inD
is a cover.
References #
- [Joh02]: Sketches of an Elephant, ℱ. T. Johnstone: C2.2.
- https://ncatlab.org/nlab/show/dense+sub-site
- https://ncatlab.org/nlab/show/comparison+lemma
An auxiliary structure that witnesses the fact that f
factors through an image object of G
.
- obj : C
- lift : V ⟶ G.obj self.obj
- map : G.obj self.obj ⟶ U
- fac : CategoryTheory.CategoryStruct.comp self.lift self.map = f
Instances For
For a functor G : C ⥤ D
, and an object U : D
, Presieve.coverByImage G U
is the presieve
of U
consisting of those arrows that factor through images of G
.
Equations
Instances For
For a functor G : C ⥤ D
, and an object U : D
, Sieve.coverByImage G U
is the sieve of U
consisting of those arrows that factor through images of G
.
Equations
- CategoryTheory.Sieve.coverByImage G U = { arrows := CategoryTheory.Presieve.coverByImage G U, downward_closed := ⋯ }
Instances For
A functor G : (C, J) ⥤ (D, K)
is cover dense if for each object in D
,
there exists a covering sieve in D
that factors through images of G
.
This definition can be found in https://ncatlab.org/nlab/show/dense+sub-site Definition 2.2.
- is_cover : ∀ (U : D), CategoryTheory.Sieve.coverByImage G U ∈ K U
Instances
(Implementation). Given a hom between the pullbacks of two sheaves, we can whisker it with
coyoneda
to obtain a hom between the pullbacks of the sheaves of maps from X
.
Equations
- CategoryTheory.Functor.IsCoverDense.homOver α X = CategoryTheory.whiskerRight α (CategoryTheory.coyoneda.obj (Opposite.op X))
Instances For
(Implementation). Given an iso between the pullbacks of two sheaves, we can whisker it with
coyoneda
to obtain an iso between the pullbacks of the sheaves of maps from X
.
Equations
- CategoryTheory.Functor.IsCoverDense.isoOver α X = CategoryTheory.isoWhiskerRight α (CategoryTheory.coyoneda.obj (Opposite.op X))
Instances For
(Implementation). Given a section of ℱ
on X
, we can obtain a family of elements valued in ℱ'
that is defined on a cover generated by the images of G
.
Equations
- CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily α x✝¹ x hf = ℱ'.val.map (Nonempty.some hf).lift.op (α.app (Opposite.op (Nonempty.some hf).1) (ℱ.map (Nonempty.some hf).map.op x✝¹))
Instances For
(Implementation). The pushforwardFamily
defined is compatible.
(Implementation). The morphism ℱ(X) ⟶ ℱ'(X)
given by gluing the pushforwardFamily
.
Equations
- CategoryTheory.Functor.IsCoverDense.Types.appHom α X x = ⋯.amalgamate (CategoryTheory.Functor.IsCoverDense.Types.pushforwardFamily α x) ⋯
Instances For
(Implementation). The maps given in appIso
is inverse to each other and gives a ℱ(X) ≅ ℱ'(X)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a natural transformation G ⋙ ℱ ⟶ G ⋙ ℱ'
between presheaves of types,
where G
is locally-full and cover-dense, and ℱ'
is a sheaf,
we may obtain a natural transformation between sheaves.
Equations
- CategoryTheory.Functor.IsCoverDense.Types.presheafHom α = { app := fun (X : Dᵒᵖ) => CategoryTheory.Functor.IsCoverDense.Types.appHom α (Opposite.unop X), naturality := ⋯ }
Instances For
Given a natural isomorphism G ⋙ ℱ ≅ G ⋙ ℱ'
between presheaves of types,
where G
is locally-full and cover-dense, and ℱ, ℱ'
are sheaves,
we may obtain a natural isomorphism between presheaves.
Equations
Instances For
Given a natural isomorphism G ⋙ ℱ ≅ G ⋙ ℱ'
between presheaves of types,
where G
is locally-full and cover-dense, and ℱ, ℱ'
are sheaves,
we may obtain a natural isomorphism between sheaves.
Equations
- One or more equations did not get rendered due to their size.
Instances For
(Implementation). The sheaf map given in types.sheaf_hom
is natural in terms of X
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
(Implementation). sheafCoyonedaHom
but the order of the arguments of the functor are swapped.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a natural transformation G ⋙ ℱ ⟶ G ⋙ ℱ'
between presheaves of arbitrary category,
where G
is locally-full and cover-dense, and ℱ'
is a sheaf, we may obtain a natural
transformation between presheaves.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a natural isomorphism G ⋙ ℱ ≅ G ⋙ ℱ'
between presheaves of arbitrary category,
where G
is locally-full and cover-dense, and ℱ', ℱ
are sheaves,
we may obtain a natural isomorphism between presheaves.
Equations
Instances For
Given a natural isomorphism G ⋙ ℱ ≅ G ⋙ ℱ'
between presheaves of arbitrary category,
where G
is locally-full and cover-dense, and ℱ', ℱ
are sheaves,
we may obtain a natural isomorphism between presheaves.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The constructed sheafHom α
is equal to α
when restricted onto C
.
If the pullback map is obtained via whiskering,
then the result sheaf_hom (whisker_left G.op α)
is equal to α
.
A locally-full and cover-dense functor G
induces an equivalence between morphisms into a sheaf and
morphisms over the restrictions via G
.
Equations
- CategoryTheory.Functor.IsCoverDense.restrictHomEquivHom = { toFun := CategoryTheory.Functor.IsCoverDense.sheafHom, invFun := CategoryTheory.whiskerLeft G.op, left_inv := ⋯, right_inv := ⋯ }
Instances For
Given a locally-full and cover-dense functor G
and a natural transformation of sheaves
α : ℱ ⟶ ℱ'
, if the pullback of α
along G
is iso, then α
is also iso.
A locally-fully-faithful and cover-dense functor preserves compatible families.
If G : C ⥤ D
is cover dense and full, then the
map (P ⟶ Q) → (G.op ⋙ P ⟶ G.op ⋙ Q)
is bijective when Q
is a sheaf`.
The functor G : C ⥤ D
exhibits (C, J)
as a dense subsite of (D, K)
if G
is cover-dense, locally fully-faithful,
and S
is a cover of C
if and only if the image of S
in D
is a cover.
- isCoverDense' : G.IsCoverDense K
- isLocallyFull' : G.IsLocallyFull K
- isLocallyFaithful' : G.IsLocallyFaithful K
- functorPushforward_mem_iff : ∀ {X : C} {S : CategoryTheory.Sieve X}, CategoryTheory.Sieve.functorPushforward G S ∈ K (G.obj X) ↔ S ∈ J X