Theory of sieves
- For an object
X
of a categoryC
, asieve X
is a set of morphisms toX
which is closed under left-composition. - The complete lattice structure on sieves is given, as well as the Galois insertion given by downward-closing.
- A
sieve X
(functorially) induces a presheaf onC
together with a monomorphism to the yoneda embedding ofX
.
Tags
sieve, pullback
A sieve gives a subset of the over category of X
.
Equations
- S.set_over = λ (f : category_theory.over X), S.arrows f.hom
The supremum of a collection of sieves: the union of them all.
Equations
- category_theory.sieve.Sup 𝒮 = {arrows := λ (Y : C), {f : Y ⟶ X | ∃ (S : category_theory.sieve X) (H : S ∈ 𝒮), S.arrows f}, downward_closed := _}
The infimum of a collection of sieves: the intersection of them all.
Equations
- category_theory.sieve.Inf 𝒮 = {arrows := λ (Y : C), {f : Y ⟶ X | ∀ (S : category_theory.sieve X), S ∈ 𝒮 → S.arrows f}, downward_closed := _}
The union of two sieves is a sieve.
The intersection of two sieves is a sieve.
Sieves on an object X
form a complete lattice.
We generate this directly rather than using the galois insertion for nicer definitional
properties.
Equations
- category_theory.sieve.complete_lattice = {sup := category_theory.sieve.union X, le := λ (S R : category_theory.sieve X), ∀ (Y : C) (f : Y ⟶ X), S.arrows f → R.arrows f, lt := bounded_lattice.lt._default (λ (S R : category_theory.sieve X), ∀ (Y : C) (f : Y ⟶ X), S.arrows f → R.arrows f), le_refl := _, le_trans := _, lt_iff_le_not_le := _, le_antisymm := _, le_sup_left := _, le_sup_right := _, sup_le := _, inf := category_theory.sieve.inter X, inf_le_left := _, inf_le_right := _, le_inf := _, top := {arrows := λ (_x : C), set.univ, downward_closed := _}, le_top := _, bot := {arrows := λ (_x : C), ∅, downward_closed := _}, bot_le := _, Sup := category_theory.sieve.Sup X, Inf := category_theory.sieve.Inf X, le_Sup := _, Sup_le := _, Inf_le := _, le_Inf := _}
The maximal sieve always exists.
Equations
- basic : ∀ {C : Type u} [_inst_1 : category_theory.category C] {X : C} (𝒢 : set (category_theory.over X)) {Y : C} {f : Y ⟶ X}, category_theory.over.mk f ∈ 𝒢 → category_theory.sieve.generate_sets 𝒢 Y f
- close : ∀ {C : Type u} [_inst_1 : category_theory.category C] {X : C} (𝒢 : set (category_theory.over X)) {Y Z : C} {f : Y ⟶ X} (g : Z ⟶ Y), category_theory.sieve.generate_sets 𝒢 Y f → category_theory.sieve.generate_sets 𝒢 Z (g ≫ f)
Take the downward-closure of a set of morphisms to X
.
Generate the smallest sieve containing the given set of arrows.
Equations
Show that there is a galois insertion (generate, set_over).
Equations
- category_theory.sieve.gi_generate = {choice := λ (𝒢 : set (category_theory.over X)) (_x : (category_theory.sieve.generate 𝒢).set_over ≤ 𝒢), category_theory.sieve.generate 𝒢, gc := _, le_l_u := _, choice_eq := _}
Given a morphism h : Y ⟶ X
, send a sieve S on X to a sieve on Y
as the inverse image of S with _ ≫ h
.
That is, sieve.pullback S h := (≫ h) '⁻¹ S
.
Equations
- category_theory.sieve.pullback h S = {arrows := λ (Y_1 : C) (sl : Y_1 ⟶ Y), S.arrows (sl ≫ h), downward_closed := _}
If the identity arrow is in a sieve, the sieve is maximal.
Push a sieve R
on Y
forward along an arrow f : Y ⟶ X
: gf : Z ⟶ X
is in the sieve if gf
factors through some g : Z ⟶ Y
which is in R
.
If f
is a monomorphism, the pushforward-pullback adjunction on sieves is coreflective.
Equations
If f
is a split epi, the pushforward-pullback adjunction on sieves is reflective.
Equations
A sieve induces a presheaf.
If a sieve S is contained in a sieve T, then we have a morphism of presheaves on their induced presheaves.
Equations
- category_theory.sieve.nat_trans_of_le h = {app := λ (Y : Cᵒᵖ) (f : S.functor.obj Y), ⟨f.val, _⟩, naturality' := _}
The natural inclusion from the functor induced by a sieve to the yoneda embedding.
Equations
- S.functor_inclusion = {app := λ (Y : Cᵒᵖ) (f : S.functor.obj Y), f.val, naturality' := _}
The presheaf induced by a sieve is a subobject of the yoneda embedding.