AlgebraicCurves.Geometry.Curves.Proofs.isDomain_tensorProduct_sections_of_geometricallyIntegral.NoncritGeom.ι_comp_eq
Source context 8 commands
Surrounding namespaces, section variables, and local commands at this declaration.
section ProofImplementation
namespace AlgebraicCurves.Geometry.Curves.Proofs
namespace isDomain_tensorProduct_sections_of_geometricallyIntegral
universe u
open CategoryTheory CategoryTheory.Limits AlgebraicGeometry
open scoped TensorProduct
namespace NoncritGeom
variable {R : Type u} [CommRing R] {C : Scheme.{u}} (c : C ⟶ Spec (CommRingCat.of R))
(U : C.Opens) (hU : IsAffineOpen U) (K : Type u) [Field K] [Algebra R K]Lean source · full declaration
theorem ι_comp_eq :
letI := Scheme.TwoAffineOpenCover.algebraOfHom c U
U.ι ≫ c = hU.isoSpec.hom ≫ Spec.map (CommRingCat.ofHom (algebraMap R Γ(C, U))) := by
let := Scheme.TwoAffineOpenCover.algebraOfHom c U
have h1 : hU.fromSpec ≫ c = Spec.map (c.appLE ⊤ U le_top) ≫ (isAffineOpen_top (Spec (.of
R))).fromSpec :=
(IsAffineOpen.SpecMap_appLE_fromSpec c (isAffineOpen_top _) hU le_top).symm
have h2 : (isAffineOpen_top (Spec (CommRingCat.of R))).fromSpec = Spec.map (Scheme.ΓSpecIso
(.of R)).inv := by
rw [IsAffineOpen.fromSpec_top, Scheme.isoSpec_Spec_inv]
have h3 : (CommRingCat.ofHom (algebraMap R Γ(C, U))) = (Scheme.ΓSpecIso (.of R)).inv ≫ c.appLE
⊤ U le_top := rfl
rw [h3, Spec.map_comp, ← h2, ← h1, ← Category.assoc, IsAffineOpen.isoSpec_hom hU,
← IsAffineOpen.isoSpec_inv_ι hU, ← Category.assoc, ← IsAffineOpen.isoSpec_hom hU,
Iso.hom_inv_id,
Category.id_comp]