Cover-preserving functors between sites. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define cover-preserving functors between sites as functors that push covering sieves to
covering sieves. A cover-preserving and compatible-preserving functor G : C ⥤ D
then pulls
sheaves on D
back to sheaves on C
via G.op ⋙ -
.
Main definitions #
category_theory.cover_preserving
: a functor between sites is cover-preserving if it pushes covering sieves to covering sievescategory_theory.compatible_preserving
: a functor between sites is compatible-preserving if it pushes compatible families of elements to compatible families.category_theory.pullback_sheaf
: the pullback of a sheaf along a cover-preserving and compatible-preserving functor.category_theory.sites.pullback
: the induced functorSheaf K A ⥤ Sheaf J A
for a cover-preserving and compatible-preserving functorG : (C, J) ⥤ (D, K)
.
Main results #
category_theory.sites.whiskering_left_is_sheaf_of_cover_preserving
: IfG : C ⥤ D
is cover-preserving and compatible-preserving, thenG ⋙ -
(uᵖ
) as a functor(Dᵒᵖ ⥤ A) ⥤ (Cᵒᵖ ⥤ A)
of presheaves maps sheaves to sheaves.
References #
- [Joh02]: Sketches of an Elephant, P. T. Johnstone: C2.3.
- https://stacks.math.columbia.edu/tag/00WW
- cover_preserve : ∀ {U : C} {S : category_theory.sieve U}, S ∈ ⇑J U → category_theory.sieve.functor_pushforward G S ∈ ⇑K (G.obj U)
A functor G : (C, J) ⥤ (D, K)
between sites is cover-preserving
if for all covering sieves R
in C
, R.pushforward_functor G
is a covering sieve in D
.
The identity functor on a site is cover-preserving.
The composition of two cover-preserving functors is cover-preserving.
- compatible : ∀ (ℱ : category_theory.SheafOfTypes K) {Z : C} {T : category_theory.presieve Z} {x : category_theory.presieve.family_of_elements (G.op ⋙ ℱ.val) T}, x.compatible → ∀ {Y₁ Y₂ : C} {X : D} (f₁ : X ⟶ G.obj Y₁) (f₂ : X ⟶ G.obj Y₂) {g₁ : Y₁ ⟶ Z} {g₂ : Y₂ ⟶ Z} (hg₁ : T g₁) (hg₂ : T g₂), f₁ ≫ G.map g₁ = f₂ ≫ G.map g₂ → ℱ.val.map f₁.op (x g₁ hg₁) = ℱ.val.map f₂.op (x g₂ hg₂)
A functor G : (C, J) ⥤ (D, K)
between sites is called compatible preserving if for each
compatible family of elements at C
and valued in G.op ⋙ ℱ
, and each commuting diagram
f₁ ≫ G.map g₁ = f₂ ≫ G.map g₂
, x g₁
and x g₂
coincide when restricted via fᵢ
.
This is actually stronger than merely preserving compatible families because of the definition of
functor_pushforward
used.
compatible_preserving
functors indeed preserve compatible families.
If G
is cover-preserving and compatible-preserving,
then G.op ⋙ _
pulls sheaves back to sheaves.
This result is basically https://stacks.math.columbia.edu/tag/00WW.
The pullback of a sheaf along a cover-preserving and compatible-preserving functor.
The induced functor from Sheaf K A ⥤ Sheaf J A
given by G.op ⋙ _
if G
is cover-preserving and compatible-preserving.
Equations
- category_theory.sites.pullback A hG₁ hG₂ = {obj := λ (ℱ : category_theory.Sheaf K A), category_theory.pullback_sheaf hG₁ hG₂ ℱ, map := λ (_x _x_1 : category_theory.Sheaf K A) (f : _x ⟶ _x_1), {val := ((category_theory.whiskering_left Cᵒᵖ Dᵒᵖ A).obj G.op).map f.val}, map_id' := _, map_comp' := _}