Skip to content

Commit 528d1b1

Browse files
feat(CategoryTheory/Sites): add coversTop.over (#38657)
Extract a lemma from `Quasicoherent.bind`, which is a statement purely about Grothendieck topologies. I put it into it's own file in order to not increase imports on either `Sites/Over.lean` or `Sites/CoversTop.lean`. Both files have been moved into a new directory `Sites/CoversTop/`. Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 parent 765d223 commit 528d1b1

6 files changed

Lines changed: 43 additions & 9 deletions

File tree

Mathlib.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3276,7 +3276,8 @@ public import Mathlib.CategoryTheory.Sites.CoproductSheafCondition
32763276
public import Mathlib.CategoryTheory.Sites.CoverLifting
32773277
public import Mathlib.CategoryTheory.Sites.CoverPreserving
32783278
public import Mathlib.CategoryTheory.Sites.Coverage
3279-
public import Mathlib.CategoryTheory.Sites.CoversTop
3279+
public import Mathlib.CategoryTheory.Sites.CoversTop.Basic
3280+
public import Mathlib.CategoryTheory.Sites.CoversTop.Over
32803281
public import Mathlib.CategoryTheory.Sites.DenseSubsite.Basic
32813282
public import Mathlib.CategoryTheory.Sites.DenseSubsite.InducedTopology
32823283
public import Mathlib.CategoryTheory.Sites.DenseSubsite.OneHypercoverDense

Mathlib/Algebra/Category/ModuleCat/Sheaf/Generators.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module
77

88
public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Free
99
public import Mathlib.Algebra.Category.ModuleCat.Sheaf.PushforwardContinuous
10-
public import Mathlib.CategoryTheory.Sites.CoversTop
10+
public import Mathlib.CategoryTheory.Sites.CoversTop.Basic
1111

1212
/-!
1313
# Generating sections of sheaves of modules

Mathlib/Algebra/Category/ModuleCat/Sheaf/Quasicoherent.lean

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ Authors: Joël Riou
55
-/
66
module
77

8-
public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators
98
public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Abelian
10-
public import Mathlib.CategoryTheory.Comma.Over.Pullback
9+
public import Mathlib.Algebra.Category.ModuleCat.Sheaf.Generators
10+
public import Mathlib.CategoryTheory.Sites.CoversTop.Over
1111

1212
/-!
1313
# Quasicoherent sheaves
@@ -361,11 +361,9 @@ noncomputable def QuasicoherentData.bind {R : Sheaf J RingCat.{u}}
361361
(M : SheafOfModules.{u} R) {I : Type u}
362362
(X : I → C) (hX : J.CoversTop X) (D : Π i, QuasicoherentData (M.over (X i))) :
363363
M.QuasicoherentData where
364-
I := Σ i, (D i).I
364+
I := (i : I) × (D i).I
365365
X ij := ((D ij.1).X ij.2).left
366-
coversTop Y := J.transitive (hX Y) _ fun Z f ⟨i, ⟨g⟩⟩ ↦
367-
J.superset_covering ((Sieve.functorPushforward_ofObjects_le _ _ _).trans
368-
(Sieve.ofObjects_mono fun i' ↦ by aesop)) ((D i).coversTop (.mk g))
366+
coversTop := hX.over (fun i ↦ (D i).coversTop)
369367
presentation i :=
370368
letI e := pushforwardPushforwardEquivalence (Over.iteratedSliceEquiv ((D i.1).X i.2))
371369
(S := (R.over _).over _) (R := R.over _) (𝟙 _) (𝟙 _)
File renamed without changes.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/-
2+
Copyright (c) 2026 Justus Springer. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Justus Springer
5+
-/
6+
module
7+
8+
public import Mathlib.CategoryTheory.Sites.CoversTop.Basic
9+
public import Mathlib.CategoryTheory.Sites.Over
10+
11+
/-!
12+
# CoversTop in over-categories
13+
14+
This file contains a transitivity lemma for `GrothendieckTopology.CoversTop`: if a family
15+
`X : I → C` covers the top for `J`, and for each `i` a family `Y i` covers the top for the
16+
induced topology on `Over (X i)`, then the combined family covers the top for `J`.
17+
18+
-/
19+
20+
@[expose] public section
21+
22+
universe u
23+
24+
namespace CategoryTheory.GrothendieckTopology
25+
26+
variable {C : Type*} [Category* C] {J : GrothendieckTopology C}
27+
28+
lemma CoversTop.over {I : Type*} {X : I → C} (hX : J.CoversTop X) {I' : I → Type u}
29+
{Y : (i : I) → I' i → Over (X i)} (hY : ∀ i, (J.over (X i)).CoversTop (Y i)) :
30+
J.CoversTop (fun (j : (i : I) × I' i) ↦ (Y j.1 j.2).left) :=
31+
fun j ↦ J.transitive (hX j) _ fun Z f ⟨i, ⟨g⟩⟩ ↦ J.superset_covering
32+
((Sieve.functorPushforward_ofObjects_le _ _ _).trans (Sieve.ofObjects_mono fun i' ↦ by aesop))
33+
(hY _ (.mk g))
34+
35+
end CategoryTheory.GrothendieckTopology

Mathlib/CategoryTheory/Sites/LocalProperties.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Authors: Christian Merten
66
module
77

88
public import Mathlib.CategoryTheory.Sites.Over
9-
public import Mathlib.CategoryTheory.Sites.CoversTop
9+
public import Mathlib.CategoryTheory.Sites.CoversTop.Basic
1010

1111
/-!
1212
# Local properties of sheaves

0 commit comments

Comments
 (0)