Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 6fc3517

Browse files
committed
feat(category_theory/sites): generate lemmas (#4840)
A couple of simple lemmas about the sieve generated by certain presieves.
1 parent 517f0b5 commit 6fc3517

File tree

2 files changed

+29
-17
lines changed

2 files changed

+29
-17
lines changed

src/category_theory/sites/pretopology.lean

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -167,12 +167,7 @@ See [MM92] Chapter III, Section 2, Equations (3,4).
167167
-/
168168
def of_grothendieck (J : grothendieck_topology C) : pretopology C :=
169169
{ coverings := λ X R, sieve.generate R ∈ J X,
170-
has_isos := λ X Y f i,
171-
begin
172-
apply J.covering_of_eq_top,
173-
rw [← sieve.id_mem_iff_eq_top],
174-
exactI ⟨_, inv f, f, by simp⟩,
175-
end,
170+
has_isos := λ X Y f i, by exactI J.covering_of_eq_top (by simp),
176171
pullbacks := λ X Y f R hR,
177172
begin
178173
rw [set.mem_def, pullback_arrows_comm],
@@ -197,14 +192,12 @@ def gi : galois_insertion (to_grothendieck C) (of_grothendieck C) :=
197192
begin
198193
split,
199194
{ intros h X R hR,
200-
apply h,
201-
refine ⟨_, hR, _⟩,
202-
apply sieve.gi_generate.gc.le_u_l },
195+
exact h _ ⟨_, hR, sieve.le_generate R⟩ },
203196
{ rintro h X S ⟨R, hR, RS⟩,
204197
apply J.superset_covering _ (h _ hR),
205198
rwa sieve.gi_generate.gc }
206199
end,
207-
le_l_u := λ J X S hS, ⟨S, J.superset_covering (sieve.gi_generate.gc.le_u_l _) hS, le_refl _⟩,
200+
le_l_u := λ J X S hS, ⟨S, J.superset_covering S.le_generate hS, le_refl _⟩,
208201
choice := λ x hx, to_grothendieck C x,
209202
choice_eq := λ _ _, rfl }
210203

@@ -224,8 +217,7 @@ def trivial : pretopology C :=
224217
refine ⟨pullback (eq_to_hom (eq.refl _) ≫ g) f, pullback.snd, _, _⟩,
225218
{ refine ⟨pullback.lift (f ≫ inv g) (𝟙 _) (by simp), _, _⟩,
226219
{ apply pullback.hom_ext,
227-
{ rw [assoc, pullback.lift_fst],
228-
rw ← pullback.condition_assoc,
220+
{ rw [assoc, pullback.lift_fst, ← pullback.condition_assoc],
229221
simp },
230222
{ simp } },
231223
{ simp } },

src/category_theory/sites/sieves.lean

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,31 @@ def gi_generate : galois_insertion (generate : presieve X → sieve X) arrows :=
219219
choice_eq := λ _ _, rfl,
220220
le_l_u := λ S Y f hf, ⟨_, 𝟙 _, _, hf, category.id_comp _⟩ }
221221

222+
lemma le_generate (R : presieve X) : R ≤ generate R :=
223+
gi_generate.gc.le_u_l R
224+
225+
/-- If the identity arrow is in a sieve, the sieve is maximal. -/
226+
lemma id_mem_iff_eq_top : S (𝟙 X) ↔ S = ⊤ :=
227+
⟨λ h, top_unique $ λ Y f _, by simpa using downward_closed _ h f,
228+
λ h, h.symm ▸ trivial⟩
229+
230+
/-- If an arrow set contains a split epi, it generates the maximal sieve. -/
231+
lemma generate_of_contains_split_epi {R : presieve X} (f : Y ⟶ X) [split_epi f]
232+
(hf : R f) : generate R = ⊤ :=
233+
begin
234+
rw ← id_mem_iff_eq_top,
235+
exact ⟨_, section_ f, f, hf, by simp⟩,
236+
end
237+
238+
@[simp]
239+
lemma generate_of_singleton_split_epi (f : Y ⟶ X) [split_epi f] :
240+
generate (presieve.singleton f) = ⊤ :=
241+
generate_of_contains_split_epi f (presieve.singleton_self _)
242+
243+
@[simp]
244+
lemma generate_top : generate (⊤ : presieve X) = ⊤ :=
245+
generate_of_contains_split_epi (𝟙 _) ⟨⟩
246+
222247
/-- Given a morphism `h : Y ⟶ X`, send a sieve S on X to a sieve on Y
223248
as the inverse image of S with `_ ≫ h`.
224249
That is, `sieve.pullback S h := (≫ h) '⁻¹ S`. -/
@@ -246,11 +271,6 @@ lemma pullback_inter {f : Y ⟶ X} (S R : sieve X) :
246271
(S ⊓ R).pullback f = S.pullback f ⊓ R.pullback f :=
247272
by simp [sieve.ext_iff]
248273

249-
/-- If the identity arrow is in a sieve, the sieve is maximal. -/
250-
lemma id_mem_iff_eq_top : S (𝟙 X) ↔ S = ⊤ :=
251-
⟨λ h, top_unique $ λ Y f _, by simpa using downward_closed _ h f,
252-
λ h, h.symm ▸ trivial⟩
253-
254274
lemma pullback_eq_top_iff_mem (f : Y ⟶ X) : S f ↔ S.pullback f = ⊤ :=
255275
by rw [← id_mem_iff_eq_top, mem_pullback, category.id_comp]
256276

0 commit comments

Comments
 (0)