OAI/AlgebraicGeometry/SurfaceCones/KummerUnramifiedNormalization.lean
106 declarations, 0 contain sorry, 0 declared as axioms
Étale algebras obtained by adjoining roots of units, and normalization charts for the complete-quadrangle Kummer cover in OpenAI's A Complete Local Domain without a Small Cohen–Macaulay Module, Section 6.
- def
OAI.KummerEtale.standardPairRootEquivline 16Source documentation
A standard etale equation with localization polynomial one is precisely its ordinary root algebra.
def standardPairRootEquiv (P : StandardEtalePair R) (hg : P.g = 1) : P.Ring ≃ₐ[R] AdjoinRoot P.f := by … - lemma
OAI.KummerEtale.unitRoot_bezoutline 31Source documentation
Bezout identity for the unit-root equation, with the precise ring units that make its derivative invertible.
lemma unitRoot_bezout (n : ℕ) (hn : 0 < n) (u v : Rˣ) (hv : (v : R) = (n : R)) : derivative (X ^ n - C (u : R)) * (C ((v⁻¹ * u⁻¹ : Rˣ) : R) * X) + (X ^ n - C (u : R)) * (- C ((u⁻¹ : Rˣ) : R)) = (1 : R[X]) := by … - def
OAI.KummerEtale.unitRootPairline 50Source documentation
The explicit standard etale pair for adjoining an n-th root of a unit.
def unitRootPair (n : ℕ) (hn : 0 < n) (u v : Rˣ) (hv : (v : R) = (n : R)) : StandardEtalePair R where … - theorem
OAI.KummerEtale.etale_adjoin_unit_rootline 60Source documentation
Adjoining an n-th root of a unit is etale when n is invertible. These are exactly the hypotheses used in the characteristic-zero cover.
theorem etale_adjoin_unit_root (n : ℕ) (hn : 0 < n) (u : R) (hu : IsUnit u) (hnunit : IsUnit (n : R)) : Algebra.Etale R (AdjoinRoot (X ^ n - C u)) := by … - lemma
OAI.EtaleNormal.base_injectiveline 79 - abbrev
OAI.EtaleNormal.Genericline 83 - lemma
OAI.EtaleNormal.inverted_leline 85 - instance
OAI.EtaleNormal.genericDomainline 90 - lemma
OAI.EtaleNormal.generic_finiteline 96 - lemma
OAI.EtaleNormal.generic_isFieldline 103 - lemma
OAI.EtaleNormal.generic_fractionRingline 109Source documentation
The generic algebra is the entire fraction field of the etale domain, not just a subring of it.
lemma generic_fractionRing : IsFractionRing S (Generic R S) := by …
Mentions: OAI.EtaleNormal.Generic
- theorem
OAI.EtaleNormal.integrallyClosedline 122Source documentation
Smooth base change and integral closedness of the base force all integral elements in the generic fraction algebra to lie in the chart.
theorem integrallyClosed [IsIntegrallyClosed R] : IsIntegrallyClosed S := by …
- theorem
OAI.KummerEtale.etale_monic_factorline 154Source documentation
A monic factor of a unit-root equation itself defines an etale algebra. The Bezout equation is derived, not assumed.
theorem etale_monic_factor (n : ℕ) (hn : 0 < n) (u : Rˣ) (hnunit : IsUnit (n : R)) (g : R[X]) (hg : g.Monic) (hd : g ∣ X ^ n - C (u : R)) : Algebra.Etale R (AdjoinRoot g) := by … - theorem
OAI.KummerEtale.etale_adjoin_unit_root_in_fieldline 179Source documentation
A chosen root inside a field, rather than the whole potentially disconnected root algebra, still provides an etale integral domain cover.
theorem etale_adjoin_unit_root_in_field (n : ℕ) (hn : 0 < n) (u : Rˣ) (hnunit : IsUnit (n : R)) (x : L) (hx : x ^ n = algebraMap R L (u : R)) : Algebra.Etale R (Algebra.adjoin R ({x} : Set L)) := by … - theorem
OAI.KummerEtale.exists_domain_unit_rootline 195Source documentation
A finite free étale domain cover with one prescribed root of a unit.
theorem exists_domain_unit_root (n : ℕ) (hn : 0 < n) (hnunit : IsUnit (n : R)) (u : Rˣ) : ∃ (S : Type u) (_ : CommRing S) (_ : IsDomain S) (_ : Algebra R S) (_ : Module.Finite R S) (_ : Module.Free R S) (_ : Algebra.Etale R S) (_ : IsIntegrallyClosed S), ∃ c : Sˣ, (c : S) ^ n = algebraMap R S (u : R) := by … - theorem
OAI.KummerEtale.exists_domain_unit_rootsline 225Source documentation
Simultaneously adjoining the five unit factors can be done by a genuine finite faithfully flat etale integral cover. All roots are actual units.
theorem exists_domain_unit_roots (n : ℕ) (hn : 0 < n) (hnunit : IsUnit (n : R)) {m : ℕ} (u : Fin m → Rˣ) : ∃ (S : Type u) (_ : CommRing S) (_ : IsDomain S) (_ : Algebra R S) (_ : Module.Finite R S) (_ : Module.Free R S) (_ : Algebra.Etale R S) (_ : IsIntegrallyClosed S), (Function.Surjective (PrimeSpectrum.comap (algebraMap R S))) ∧ ∃ c : Fin m → Sˣ, ∀ i, (c i : S) ^ n = algebraMap R S (u i : R) := by … - theorem
OAI.KummerEtale.finite_unit_rootsline 264Source documentation
The actual finite subalgebra generated by finitely many unit roots is finite free and etale. This concerns the fixed roots inside the original function field, not some unrelated etale cover.
theorem finite_unit_roots (n : ℕ) (hn : 0 < n) (hnunit : IsUnit (n : R)) (s : Finset L) (hs : ∀ x ∈ s, ∃ u : Rˣ, x ^ n = algebraMap R L (u : R)) : Algebra.Etale R (Algebra.adjoin R (s : Set L)) ∧ Module.Finite R (Algebra.adjoin R (s : Set L)) ∧ Module.Free R (Algebra.adjoin R (s : Set L)) ∧ IsIntegrallyClosed (Algebra.adjoin R (s : Set L)) := by … - theorem
OAI.KummerEtale.adjoin_fractionRingline 328Source documentation
Generators for the original extension over the fraction field give the fraction field of their actual integral subalgebra.
theorem adjoin_fractionRing (s : Set L) (hs : Algebra.adjoin K s = ⊤) : IsFractionRing (Algebra.adjoin R s) L := by … - theorem
OAI.KummerEtale.normalization_unit_rootsline 365Source documentation
The whole normalization off the branch divisor is exactly the root subalgebra and is finite free and etale. All claims concern the SAME field L.
theorem normalization_unit_roots (n : ℕ) (hn : 0 < n) (hnunit : IsUnit (n : R)) (s : Finset L) (hs : ∀ x ∈ s, ∃ u : Rˣ, x ^ n = algebraMap R L (u : R)) (hgen : Algebra.adjoin K (s : Set L) = ⊤) : integralClosure R L = Algebra.adjoin R (s : Set L) := by … - def
OAI.KummerCover.chosenRootline 387 - lemma
OAI.KummerCover.chosenRoot_powline 390 - abbrev
OAI.KummerCover.rootFieldline 394 - def
OAI.KummerCover.fieldRootline 397 - lemma
OAI.KummerCover.fieldRoot_powline 400 - lemma
OAI.KummerCover.fieldRoot_generatesline 405 - instance
OAI.KummerCover.finite_rootFieldline 413 - abbrev
OAI.KummerLines.Rline 424 - abbrev
OAI.KummerLines.Kline 425 - def
OAI.KummerLines.lineFormline 428 - def
OAI.KummerLines.pointline 429 - def
OAI.KummerLines.variableIndexline 430 - lemma
OAI.KummerLines.coefficient_oneline 432 - lemma
OAI.KummerLines.degree_leline 436 - lemma
OAI.KummerLines.degree_eqline 444 - lemma
OAI.KummerLines.prime_lineFormline 451 - lemma
OAI.KummerLines.eval_at_selfline 457 - lemma
OAI.KummerLines.eval_at_otherline 460 - lemma
OAI.KummerLines.pairwise_not_associatedline 463 - def
OAI.KummerLines.radicandline 474 - abbrev
OAI.KummerLines.Lline 475 - instance
OAI.KummerLines.prime_sevenline 476 - def
OAI.KummerLines.branchProductline 484 - lemma
OAI.KummerLines.branchProduct_ne_zeroline 485 - lemma
OAI.KummerLines.branchPowers_leline 487 - def
OAI.KummerLines.offBranchline 493Source documentation
The literal affine complement of the five branch lines in A². This subalgebra model keeps the original fraction field C(x,y) definitionally.
noncomputable def offBranch : Subalgebra R K := …
Mentions: OAI.KummerLines.R, OAI.KummerLines.K
- abbrev
OAI.KummerLines.Uline 495 - instance
OAI.KummerLines.(instance at line 496)line 496 - instance
OAI.KummerLines.(instance at line 499)line 499 - instance
OAI.KummerLines.(instance at line 502)line 502 - lemma
OAI.KummerLines.lineForm_unitline 505 - instance
OAI.KummerLines.(instance at line 509)line 509 - lemma
OAI.KummerLines.exponent_unitline 514 - def
OAI.KummerLines.rootSetline 519 - lemma
OAI.KummerLines.rootSet_coeline 522 - theorem
OAI.KummerLines.offBranch_normalizationline 529Source documentation
Over the actual open complement of the arrangement, the normalization is generated as a finite algebra by the original five roots.
theorem offBranch_normalization : integralClosure U (L p) = Algebra.adjoin U (Set.range (KummerCover.fieldRoot (p := p) radicand)) := by …Mentions: OAI.KummerLines.U, OAI.KummerLines.L, OAI.KummerCover.fieldRoot, OAI.KummerLines.radicand
- abbrev
OAI.KummerLines.offBranchCoverline 542 - theorem
OAI.KummerLines.offBranchCover_finiteFreeEtaleline 546Source documentation
The actual unramified part of the source cover is finite free etale, not just normal or a finite extension generically.
theorem offBranchCover_finiteFreeEtale : Module.Finite U (offBranchCover p) ∧ Module.Free U (offBranchCover p) ∧ Algebra.Etale U (offBranchCover p) := by …Mentions: OAI.KummerLines.U, OAI.KummerLines.offBranchCover
- theorem
OAI.KummerLines.offBranchCover_smoothline 565Source documentation
The normalized cover over the complement of the branch lines is smooth over the complex numbers.
theorem offBranchCover_smooth : Algebra.Smooth ℂ (offBranchCover p) := by …
Mentions: OAI.KummerLines.offBranchCover
- theorem
OAI.KummerLines.offBranchCover_surjectiveline 574Source documentation
The finite etale cover is surjective on the actual branch-complement spectrum; no point has been removed from this locus upstairs.
theorem offBranchCover_surjective : Function.Surjective (PrimeSpectrum.comap (algebraMap U (offBranchCover p))) := by …Mentions: OAI.KummerLines.U, OAI.KummerLines.offBranchCover
- lemma
OAI.EtaleRegular.dim_le_of_flat_localline 589 - theorem
OAI.EtaleRegular.regular_localline 602 - theorem
OAI.EtaleRegular.regularline 617Source documentation
Etale coordinate algebras preserve regularity at every prime.
theorem regular [IsRegularRing R] [Algebra.Etale R S] : IsRegularRing S := by …
- theorem
OAI.KummerLines.offBranchCover_regularline 635 - def
OAI.KummerLines.offBranchRestrictionEquivline 648Source documentation
Restricting the normalization of the actual original affine plane to its branch complement gives the same literal finite etale cover. This is an isomorphism of algebras, not only a generic-field identification.
def offBranchRestrictionEquiv : U ⊗[R] integralClosure R (L p) ≃ₐ[U] offBranchCover p := by …Mentions: OAI.KummerLines.U, OAI.KummerLines.R, OAI.KummerLines.L, OAI.KummerLines.offBranchCover
- theorem
OAI.KummerLines.normalization_offBranch_regularline 658Source documentation
All points of the original normalized cover away from the branch locus are regular. No replacement of the original five-root field or hypothesis of normality/regularity of its normalization occurs.
theorem normalization_offBranch_regular : IsRegularRing (U ⊗[R] integralClosure R (L p)) := by …Mentions: OAI.KummerLines.U, OAI.KummerLines.R, OAI.KummerLines.L
- lemma
OAI.AlgebraicIndependent.of_polynomial_expressionsline 677Source documentation
For a finite family, independence of polynomial expressions in its members forces independence of the original generators. This is the finite transcendence-degree converse needed for the actual ramified Kummer coordinate charts.
lemma of_polynomial_expressions {k A ι : Type} [Field k] [CommRing A] [IsDomain A] [Algebra k A] [Finite ι] {x y : ι → A} (hy : AlgebraicIndependent k y) (hmem : ∀ i, y i ∈ Algebra.adjoin k (Set.range x)) : AlgebraicIndependent k x := by … - lemma
OAI.AlgebraicIndependent.of_powersline 702Source documentation
Independent powers of finitely many elements give independent roots.
lemma of_powers {k A ι : Type} [Field k] [CommRing A] [IsDomain A] [Algebra k A] [Finite ι] {x : ι → A} (n : ι → ℕ) (h : AlgebraicIndependent k (fun i => x i ^ n i)) : AlgebraicIndependent k x := … - abbrev
OAI.KummerTriple.rootline 720 - lemma
OAI.KummerTriple.root_powline 721 - lemma
OAI.KummerTriple.root_ne_zeroline 723 - def
OAI.KummerTriple.coordinateRootline 734Source documentation
Coordinates at the exceptional divisor over the actual triple point (0,0): u is the original root of x, v is root(y)/root(x).
def coordinateRoot : Fin 2 → L p := ![root p 0, root p 1 / root p 0]
Mentions: OAI.KummerTriple.root
- lemma
OAI.KummerTriple.coordinateRoot_zero_powline 735 - lemma
OAI.KummerTriple.coordinateRoot_one_powline 737 - lemma
OAI.KummerTriple.original_root_oneline 742 - lemma
OAI.KummerTriple.coordinateRoot_independentline 746 - def
OAI.KummerTriple.Cline 769Source documentation
The x-chart of the blowup of the original plane at (0,0). Its coordinates s,t map to x,y/x, and the blowdown is x=s,y=st.
def C := MvPolynomial (Fin 2) ℂ
- instance
OAI.KummerTriple.(instance at line 770)line 770 - instance
OAI.KummerTriple.(instance at line 771)line 771 - instance
OAI.KummerTriple.(instance at line 772)line 772 - instance
OAI.KummerTriple.(instance at line 773)line 773 - def
OAI.KummerTriple.blowdownline 774 - instance
OAI.KummerTriple.(instance at line 775)line 775 - instance
OAI.KummerTriple.(instance at line 776)line 776 - def
OAI.KummerTriple.chartMapline 779 - instance
OAI.KummerTriple.(instance at line 781)line 781 - instance
OAI.KummerTriple.(instance at line 782)line 782 - lemma
OAI.KummerTriple.chartMap_blowdownline 784 - instance
OAI.KummerTriple.(instance at line 805)line 805 - lemma
OAI.KummerTriple.chartMap_injectiveline 808 - def
OAI.KummerTriple.coordinateAlgebraline 838Source documentation
The two ramified coordinates form an actual polynomial plane in the original field. No independent auxiliary Kummer field is substituted.
def coordinateAlgebra : Subalgebra ℂ (L p) := …
- abbrev
OAI.KummerTriple.Bline 840 - def
OAI.KummerTriple.planeEquivline 841 - instance
OAI.KummerTriple.(instance at line 842)line 842 - instance
OAI.KummerTriple.(instance at line 844)line 844 - def
OAI.KummerTriple.bRootline 849 - def
OAI.KummerTriple.planeMapline 851 - lemma
OAI.KummerTriple.planeMap_compline 852 - instance
OAI.KummerTriple.(instance at line 860)line 860 - instance
OAI.KummerTriple.(instance at line 861)line 861 - instance
OAI.KummerTriple.(instance at line 863)line 863 - lemma
OAI.KummerTriple.coordinateRoot_powline 866 - lemma
OAI.KummerTriple.coordinateRoot_integralline 873 - instance
OAI.KummerTriple.(instance at line 880)line 880 - instance
OAI.KummerTriple.(instance at line 890)line 890 - instance
OAI.KummerTriple.(instance at line 892)line 892 - instance
OAI.KummerTriple.(instance at line 893)line 893