The concrete dyadic quadratic cover is connected, finite etale, surjective, and free of rank two over the stated affine localization.
Source context 3 commands
Surrounding namespaces, section variables, and local commands at this declaration.
noncomputable section
open CategoryTheory Polynomial AlgebraicGeometry
namespace ShimizuYamaguchi26BranchedCoveringstheorem exists_connected_finite_etale_quadratic_cover (u v : ℤ)
(hu : Odd u) (hv : (4 : ℤ) ∣ v) (hv0 : v ≠ 0) :
∃ ε : ℤ, (ε = 1 ∨ ε = -1) ∧
let R : Type := TwoSectionCoordinateRing u v
let B : Type := TwoSectionQuadraticAlgebra u v ε
let π : Spec (CommRingCat.of B) ⟶ Spec (CommRingCat.of R) :=
Spec.map (CommRingCat.ofHom (algebraMap R B))
IsIntegral (Spec (CommRingCat.of B)) ∧ ConnectedSpace (Spec (CommRingCat.of B)) ∧
IsFinite π ∧ Etale π ∧ Surjective π ∧ Module.Free R B ∧ Module.finrank R B = 2 := by
obtain ⟨ε, hε, hεu⟩ := exists_sign_four_dvd_one_add u hu
refine ⟨ε, hε, ?_⟩
let R : Type := TwoSectionCoordinateRing u v
let B : Type := TwoSectionQuadraticAlgebra u v ε
let c : ℤ[X] := quadraticConstantTerm u v ε
let cR : R := algebraMap ℤ[X] R c
let : IsDomain R := Localization.Away.isDomain (boundaryPolynomial_ne_zero u v hv0)
let : IsDomain B := twoSectionQuadraticAlgebra_isDomain u v ε hε hεu hv hv0
let : Module.Finite R B := (quadraticPolynomial_monic cR).finite_adjoinRoot
let : Module.Free R B := (quadraticPolynomial_monic cR).free_adjoinRoot
have hunit : IsUnit (1 - 4 * cR) :=
quadraticConstantTerm_discriminant_isUnit u v ε hε hεu hv
have hetale : Algebra.Etale R B := quadraticPolynomial_etale cR hunit
refine ⟨inferInstance, inferInstance, ?_, ?_, ?_, inferInstance,
quadraticPolynomial_finrank cR⟩
· exact (IsFinite.SpecMap_iff (CommRingCat.ofHom (algebraMap R B))).mpr
(RingHom.finite_algebraMap.mpr inferInstance)
· exact (HasRingHomProperty.Spec_iff (P := @Etale)).mpr
(RingHom.etale_algebraMap.mpr hetale)
· exact ⟨PrimeSpectrum.comap_surjective_of_faithfullyFlat (A := R) (B := B)⟩