@@ -140,7 +140,8 @@ theorem toΓSpecCApp_iff
140140 (f :
141141 (structureSheaf <| Γ.obj <| op X).val.obj (op <| basicOpen r) ⟶
142142 X.presheaf.obj (op <| X.toΓSpecMapBasicOpen r)) :
143- toOpen _ (basicOpen r) ≫ f = X.toToΓSpecMapBasicOpen r ↔ f = X.toΓSpecCApp r := by
143+ CommRingCat.ofHom (algebraMap (Γ.obj (op X)) _) ≫ f = X.toToΓSpecMapBasicOpen r ↔
144+ f = X.toΓSpecCApp r := by
144145 have loc_inst := IsLocalization.to_basicOpen (Γ.obj (op X)) r
145146 refine ConcreteCategory.ext_iff.trans ?_
146147 rw [← @IsLocalization.Away.lift_comp _ _ _ _ _ _ _ r loc_inst _
@@ -151,7 +152,8 @@ theorem toΓSpecCApp_iff
151152 exact IsLocalization.ringHom_ext (Submonoid.powers r) h
152153 apply congr_arg
153154
154- theorem toΓSpecCApp_spec : toOpen _ (basicOpen r) ≫ X.toΓSpecCApp r = X.toToΓSpecMapBasicOpen r :=
155+ theorem toΓSpecCApp_spec :
156+ CommRingCat.ofHom (algebraMap (Γ.obj (op X)) _) ≫ X.toΓSpecCApp r = X.toToΓSpecMapBasicOpen r :=
155157 (X.toΓSpecCApp_iff r _).2 rfl
156158
157159/-- The sheaf hom on all basic opens, commuting with restrictions. -/
@@ -163,7 +165,9 @@ def toΓSpecCBasicOpens :
163165 naturality r s f := by
164166 apply (StructureSheaf.to_basicOpen_epi (Γ.obj (op X)) r.unop).1
165167 simp only [← Category.assoc]
166- rw [X.toΓSpecCApp_spec r.unop]
168+ rw [show algebraMap (Γ.obj (op X)) ((structureSheaf (Γ.obj (op X))).val.obj _) = algebraMap _
169+ ((structureSheafInType (Γ.obj (op X)) (Γ.obj (op X))).val.obj _) from rfl,
170+ X.toΓSpecCApp_spec r.unop]
167171 convert X.toΓSpecCApp_spec s.unop
168172 symm
169173 apply X.presheaf.map_comp
@@ -182,7 +186,8 @@ theorem toΓSpecSheafedSpace_app_eq :
182186 apply TopCat.Sheaf.extend_hom_app _ _ _
183187
184188@[reassoc] theorem toΓSpecSheafedSpace_app_spec (r : Γ.obj (op X)) :
185- toOpen (Γ.obj (op X)) (basicOpen r) ≫ X.toΓSpecSheafedSpace.hom.c.app (op (basicOpen r)) =
189+ CommRingCat.ofHom (algebraMap (Γ.obj (op X)) _) ≫
190+ X.toΓSpecSheafedSpace.hom.c.app (op (basicOpen r)) =
186191 X.toToΓSpecMapBasicOpen r :=
187192 (X.toΓSpecSheafedSpace_app_eq r).symm ▸ X.toΓSpecCApp_spec r
188193
@@ -191,8 +196,8 @@ stalks (in `Spec Γ(X)` and in `X`). -/
191196theorem toStalk_stalkMap_toΓSpec (x : X) :
192197 toStalk _ _ ≫ X.toΓSpecSheafedSpace.hom.stalkMap x = X.presheaf.Γgerm x := by
193198 rw [PresheafedSpace.Hom.stalkMap,
194- ← toOpen_germ _ (basicOpen (1 : Γ.obj (op X))) _ (by rw [basicOpen_one]; trivial),
195- ← Category.assoc, Category.assoc (toOpen _ _), stalkFunctor_map_germ, ← Category.assoc,
199+ ← algebraMap_germ (basicOpen (1 : Γ.obj (op X))) _ (by rw [basicOpen_one]; trivial),
200+ ← Category.assoc, Category.assoc (CommRingCat.ofHom _), stalkFunctor_map_germ, ← Category.assoc,
196201 X.toΓSpecSheafedSpace_app_eq, X.toΓSpecCApp_spec, Γgerm]
197202 erw [← stalkPushforward_germ _ _ X.presheaf ⊤]
198203 congr 1
@@ -244,7 +249,7 @@ theorem comp_ring_hom_ext {X : LocallyRingedSpace.{u}} {R : CommRingCat.{u}} {f
244249 (h :
245250 ∀ r : R,
246251 f ≫ X.presheaf.map (homOfLE le_top : (Opens.map β.base).obj (basicOpen r) ⟶ _).op =
247- toOpen R (basicOpen r ) ≫ β.c.app (op (basicOpen r))) :
252+ CommRingCat.ofHom (algebraMap _ _ ) ≫ β.c.app (op (basicOpen r))) :
248253 X.toΓSpec ≫ Spec.locallyRingedSpaceMap f = β := by
249254 refine LocallyRingedSpace.forgetToSheafedSpace.map_injective
250255 (Spec.basicOpen_hom_ext w ?_)
@@ -258,10 +263,11 @@ theorem comp_ring_hom_ext {X : LocallyRingedSpace.{u}} {R : CommRingCat.{u}} {f
258263/-- `toSpecΓ _` is an isomorphism so these are mutually two-sided inverses. -/
259264theorem Γ_Spec_left_triangle : toSpecΓ (Γ.obj (op X)) ≫ X.toΓSpec.c.app (op ⊤) = 𝟙 _ := by
260265 unfold toSpecΓ
261- rw [← toOpen_res _ (basicOpen (1 : Γ.obj (op X))) ⊤ (eqToHom basicOpen_one.symm),
262- Category.assoc, NatTrans.naturality, ← Category.assoc]
263- erw [X.toΓSpecSheafedSpace_app_spec 1 , ← Functor.map_comp]
264- convert eqToHom_map X.presheaf _; rfl
266+ have := X.toΓSpecSheafedSpace_app_spec 1
267+ unfold toToΓSpecMapBasicOpen toΓSpecMapBasicOpen at this
268+ rw! [basicOpen_one] at this
269+ convert this
270+ exact (X.presheaf.map_id ..).symm
265271
266272end LocallyRingedSpace
267273
@@ -303,7 +309,7 @@ theorem right_triangle (R : CommRingCat) :
303309 rw [← IsLocalization.AtPrime.to_map_mem_maximal_iff ((structureSheaf R).presheaf.stalk p)
304310 p.asIdeal x]
305311 rfl
306- · intro r; apply toOpen_res
312+ · intro r; rfl
307313
308314/-- The adjunction `Γ ⊣ Spec` from `CommRingᵒᵖ` to `LocallyRingedSpace`. -/
309315@[simps]
@@ -323,23 +329,26 @@ def locallyRingedSpaceAdjunction : Γ.rightOp ⊣ Spec.toLocallyRingedSpace.{u}
323329 Spec.toLocallyRingedSpace_map, Quiver.Hom.unop_op]
324330 exact right_triangle R.unop
325331
326- /-- `@[simp]`-normal form of `locallyRingedSpaceAdjunction_counit_app`. -/
327- @[simp]
332+
328333lemma toSpecΓ_unop (R : CommRingCatᵒᵖ) :
329- AlgebraicGeometry.toSpecΓ (Opposite.unop R) = toOpen R.unop ⊤ := rfl
334+ AlgebraicGeometry.toSpecΓ (Opposite.unop R) = CommRingCat.ofHom (algebraMap _ _) := rfl
330335
331336/-- `@[simp]`-normal form of `locallyRingedSpaceAdjunction_counit_app'`. -/
332337@[simp]
333338lemma toSpecΓ_of (R : Type u) [CommRing R] :
334- AlgebraicGeometry.toSpecΓ (CommRingCat.of R) = toOpen R ⊤ := rfl
339+ AlgebraicGeometry.toSpecΓ (CommRingCat.of R) = CommRingCat.ofHom (algebraMap _ _) := rfl
335340
336341lemma locallyRingedSpaceAdjunction_counit_app (R : CommRingCatᵒᵖ) :
337342 locallyRingedSpaceAdjunction.counit.app R =
338- (toOpen R.unop ⊤ ).op := rfl
343+ (CommRingCat.ofHom (algebraMap _ _) ).op := rfl
339344
340345lemma locallyRingedSpaceAdjunction_counit_app' (R : Type u) [CommRing R] :
341346 locallyRingedSpaceAdjunction.counit.app (op <| CommRingCat.of R) =
342- (toOpen R ⊤).op := rfl
347+ (CommRingCat.ofHom (algebraMap _ _)).op := rfl
348+
349+ lemma unop_locallyRingedSpaceAdjunction_counit_app' (R : Type u) [CommRing R] :
350+ (locallyRingedSpaceAdjunction.counit.app (op <| CommRingCat.of R)).unop =
351+ (CommRingCat.ofHom (algebraMap _ _)) := rfl
343352
344353lemma locallyRingedSpaceAdjunction_homEquiv_apply
345354 {X : LocallyRingedSpace} {R : CommRingCatᵒᵖ}
@@ -356,16 +365,16 @@ lemma locallyRingedSpaceAdjunction_homEquiv_apply'
356365lemma toOpen_comp_locallyRingedSpaceAdjunction_homEquiv_app
357366 {X : LocallyRingedSpace} {R : Type u} [CommRing R]
358367 (f : Γ.rightOp.obj X ⟶ op (CommRingCat.of R)) (U) :
359- StructureSheaf.toOpen R U.unop ≫
368+ CommRingCat.ofHom (algebraMap R _) ≫
360369 (locallyRingedSpaceAdjunction.homEquiv X (op <| CommRingCat.of R) f).c.app U =
361370 f.unop ≫ X.presheaf.map (homOfLE le_top).op := by
362- rw [← StructureSheaf.toOpen_res _ _ _ (homOfLE le_top), Category.assoc,
371+ dsimp
372+ rw [← StructureSheaf.algebraMap_self_map _ U _ (homOfLE le_top).op, Category.assoc,
363373 NatTrans.naturality _ (homOfLE (le_top (a := U.unop))).op,
364- show (toOpen R ⊤) = (toOpen R ⊤).op.unop from rfl,
365- ← locallyRingedSpaceAdjunction_counit_app']
374+ ← unop_locallyRingedSpaceAdjunction_counit_app']
366375 simp_rw [← Γ_map_op]
367- rw [← Γ.rightOp_map_unop, ← Category.assoc, ← unop_comp, ← Adjunction.homEquiv_counit,
368- Equiv.symm_apply_apply]
376+ rw [← Γ.rightOp_map_unop, ← Category.assoc, ← unop_comp]
377+ erw [← Adjunction.homEquiv_counit, Equiv.symm_apply_apply]
369378 rfl
370379
371380/-- The adjunction `Γ ⊣ Spec` from `CommRingᵒᵖ` to `Scheme`. -/
@@ -459,19 +468,6 @@ lemma Scheme.toSpecΓ_preimage_basicOpen (X : Scheme.{u}) (r : Γ(X, ⊤)) :
459468 rw [Scheme.toSpecΓ_appTop]
460469 exact Iso.inv_hom_id_apply (C := CommRingCat) _ _
461470
462- -- Warning: this LHS of this lemma breaks the structure-sheaf abstraction.
463- @ [reassoc (attr := simp)]
464- theorem toOpen_toSpecΓ_app {X : Scheme.{u}} (U) :
465- StructureSheaf.toOpen _ _ ≫ X.toSpecΓ.app U =
466- X.presheaf.map (homOfLE (by exact le_top)).op := by
467- rw [← StructureSheaf.toOpen_res _ _ _ (homOfLE le_top), Category.assoc,
468- NatTrans.naturality _ (homOfLE (le_top (a := U))).op]
469- change (ΓSpec.adjunction.counit.app (Scheme.Γ.rightOp.obj X)).unop ≫
470- (Scheme.Γ.rightOp.map (ΓSpec.adjunction.unit.app X)).unop ≫ _ = _
471- rw [← Category.assoc, ← unop_comp, ΓSpec.adjunction.left_triangle_components]
472- dsimp
473- exact Category.id_comp _
474-
475471lemma ΓSpecIso_inv_ΓSpec_adjunction_homEquiv {X : Scheme.{u}} {B : CommRingCat} (φ : B ⟶ Γ(X, ⊤)) :
476472 (Scheme.ΓSpecIso B).inv ≫ ((ΓSpec.adjunction.homEquiv X (op B)) φ.op).appTop = φ := by
477473 simp only [Adjunction.homEquiv_apply, Scheme.Spec_map, Opens.map_top, Scheme.Hom.comp_app]
0 commit comments