Cover-preserving functors between sites. #
In order to show that a functor is continuous, we define cover-preserving functors between sites as functors that push covering sieves to covering sieves. Then, a cover-preserving and compatible-preserving functor is continuous.
Main definitions #
CategoryTheory.CoverPreserving
: a functor between sites is cover-preserving if it pushes covering sieves to covering sievesCategoryTheory.CompatiblePreserving
: a functor between sites is compatible-preserving if it pushes compatible families of elements to compatible families.
Main results #
CategoryTheory.isContinuous_of_coverPreserving
: IfG : C ⥤ D
is cover-preserving and compatible-preserving, thenG
is a continuous functor, i.e.G.op ⋙ -
as a functor(Dᵒᵖ ⥤ A) ⥤ (Cᵒᵖ ⥤ A)
of presheaves maps sheaves to sheaves.
References #
- [Elephant]: Sketches of an Elephant, P. T. Johnstone: C2.3.
- https://stacks.math.columbia.edu/tag/00WU
A functor G : (C, J) ⥤ (D, K)
between sites is cover-preserving
if for all covering sieves R
in C
, R.functorPushforward G
is a covering sieve in D
.
- cover_preserve : ∀ {U : C} {S : CategoryTheory.Sieve U}, S ∈ J U → CategoryTheory.Sieve.functorPushforward G S ∈ K (G.obj U)
Instances For
The identity functor on a site is cover-preserving.
The composition of two cover-preserving functors is cover-preserving.
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
functorPushforward
used.
- compatible : ∀ (ℱ : CategoryTheory.SheafOfTypes K) {Z : C} {T : CategoryTheory.Presieve Z} {x : CategoryTheory.Presieve.FamilyOfElements (G.op.comp ℱ.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₂), CategoryTheory.CategoryStruct.comp f₁ (G.map g₁) = CategoryTheory.CategoryStruct.comp f₂ (G.map g₂) → ℱ.val.map f₁.op (x g₁ hg₁) = ℱ.val.map f₂.op (x g₂ hg₂)
Instances For
CompatiblePreserving
functors indeed preserve compatible families.
If F
is cover-preserving and compatible-preserving,
then F
is a continuous functor.
This result is basically https://stacks.math.columbia.edu/tag/00WW.