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

Commit b77916d

Browse files
committed
feat(algebraic_geometry/Scheme): improve cosmetics of definition (#7325)
Purely cosmetic, but the definition is going on a poster, so ... Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
1 parent 40bb51e commit b77916d

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

src/algebraic_geometry/Scheme.lean

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@ namespace algebraic_geometry
2626
/--
2727
We define `Scheme` as a `X : LocallyRingedSpace`,
2828
along with a proof that every point has an open neighbourhood `U`
29-
so that that the restriction of `X` to `U` is isomorphic, as a space with a presheaf of commutative
30-
rings, to `Spec.PresheafedSpace R` for some `R : CommRing`.
29+
so that that the restriction of `X` to `U` is isomorphic,
30+
as a space with a presheaf of commutative rings,
31+
to `Spec.PresheafedSpace R` for some `R : CommRing`.
3132
3233
(Note we're not asking in the definition that this is an isomorphism as locally ringed spaces,
3334
although that is a consequence.)
3435
-/
3536
structure Scheme extends X : LocallyRingedSpace :=
36-
(local_affine : ∀ x : carrier, ∃ (U : opens carrier) (m : x ∈ U) (R : CommRing)
37-
(i : X.to_SheafedSpace.to_PresheafedSpace.restrict _ (opens.inclusion_open_embedding U) ≅
38-
Spec.PresheafedSpace R), true)
37+
(local_affine : ∀ x : X, ∃ (U : open_nhds x) (R : CommRing),
38+
nonempty (X.to_PresheafedSpace.restrict _ U.open_embedding ≅ Spec.PresheafedSpace R))
3939

4040
-- PROJECT
4141
-- In fact, we can make the isomorphism `i` above an isomorphism in `LocallyRingedSpace`.
@@ -63,7 +63,7 @@ def to_LocallyRingedSpace (S : Scheme) : LocallyRingedSpace := { ..S }
6363
-/
6464
noncomputable
6565
def Spec (R : CommRing) : Scheme :=
66-
{ local_affine := λ x, ⟨⊤, trivial, R, (Spec.PresheafedSpace R).restrict_top_iso, trivial⟩,
66+
{ local_affine := λ x, ⟨⊤, trivial, R, (Spec.PresheafedSpace R).restrict_top_iso⟩,
6767
.. Spec.LocallyRingedSpace R }
6868

6969
/--

src/algebraic_geometry/presheafed_space.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,12 @@ subspace.
197197
-/
198198
@[simps]
199199
def to_restrict_top (X : PresheafedSpace C) :
200-
X ⟶ X.restrict (opens.inclusion ⊤) (opens.inclusion_open_embedding ⊤) :=
200+
X ⟶ X.restrict (opens.inclusion ⊤) (opens.open_embedding ⊤) :=
201201
{ base := ⟨λ x, ⟨x, trivial⟩, continuous_def.2 $ λ U ⟨S, hS, hSU⟩, hSU ▸ hS⟩,
202202
c := { app := λ U, X.presheaf.map $ (hom_of_le $ λ x hxU, ⟨⟨x, trivial⟩, hxU, rfl⟩ :
203203
(opens.map (⟨λ x, ⟨x, trivial⟩, continuous_def.2 $ λ U ⟨S, hS, hSU⟩, hSU ▸ hS⟩ :
204204
X.1 ⟶ (opens.to_Top X.1).obj ⊤)).obj (unop U) ⟶
205-
(opens.inclusion_open_embedding ⊤).is_open_map.functor.obj (unop U)).op,
205+
(opens.open_embedding ⊤).is_open_map.functor.obj (unop U)).op,
206206
naturality':= λ U V f, show X.presheaf.map _ ≫ _ = _ ≫ X.presheaf.map _,
207207
by { rw [← map_comp, ← map_comp], refl } } }
208208

@@ -211,7 +211,7 @@ The isomorphism from the restriction to the top subspace.
211211
-/
212212
@[simps]
213213
def restrict_top_iso (X : PresheafedSpace C) :
214-
X.restrict (opens.inclusion ⊤) (opens.inclusion_open_embedding ⊤) ≅ X :=
214+
X.restrict (opens.inclusion ⊤) (opens.open_embedding ⊤) ≅ X :=
215215
{ hom := X.of_restrict _ _ _,
216216
inv := X.to_restrict_top,
217217
hom_inv_id' := ext _ _ (concrete_category.hom_ext _ _ $ λ ⟨x, _⟩, rfl) $

src/topology/category/Top/open_nhds.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ full_subcategory_inclusion _
6666

6767
@[simp] lemma inclusion_obj (x : X) (U) (p) : (inclusion x).obj ⟨U,p⟩ = U := rfl
6868

69+
lemma open_embedding {x : X} (U : open_nhds x) : open_embedding (U.1.inclusion) :=
70+
U.1.open_embedding
71+
6972
instance open_nhds_is_filtered (x : X) : is_filtered (open_nhds x)ᵒᵖ :=
7073
{ nonempty := ⟨op ⊤⟩,
7174
cocone_objs := λ U V, ⟨op (unop U ⊓ unop V),

src/topology/category/Top/opens.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def inclusion {X : Top.{u}} (U : opens X) : (to_Top X).obj U ⟶ X :=
119119
{ to_fun := _,
120120
continuous_to_fun := continuous_subtype_coe }
121121

122-
lemma inclusion_open_embedding {X : Top.{u}} (U : opens X) : open_embedding (inclusion U) :=
122+
lemma open_embedding {X : Top.{u}} (U : opens X) : open_embedding (inclusion U) :=
123123
is_open.open_embedding_subtype_coe U.2
124124

125125
/-- `opens.map f` gives the functor from open sets in Y to open set in X,

0 commit comments

Comments
 (0)