Definitions/Def_RingTheory_AffineDilatation.lean
Affine dilatation algebras inside
For a commutative ring A, an ideal I \subseteq A and an element a \in A, this module constructs the affine dilatation (affine blow-up) algebra A[I/a] as a subalgebra of the localisation away from a. The generating set AffineDilatation.gen I a is the image of I under the map g \mapsto g/a into Localization.Away a, where the denominator is a itself regarded as an element of the submonoid of powers of a; AffineDilatation.mem_gen_iff records that membership in it means exactly being of the form g/a for some g \in I. Then AffineDilatation.subalgebra I a is the A-subalgebra of Localization.Away a generated by this set, i.e. Algebra.adjoin A (gen I a), so that concretely it is the subring A[g/a : g \in I] \subseteq A[1/a]; AffineDilatation.Ring I a is an abbreviation for the corresponding type, the coercion of that subalgebra, which thereby carries its A-algebra structure.
The remaining declarations give the elementary interface. For g \in I, AffineDilatation.divElem I a g hg is the element of Ring I a given by the fraction g/a together with its membership proof, and AffineDilatation.coe_divElem, AffineDilatation.divElem_mem identify its image in Localization.Away a with g/a and place that image in the generating set. AffineDilatation.coe_algebraMap says that the structure map A \to A[I/a] is, after inclusion, the localisation map A \to A[1/a], and AffineDilatation.algebraMap_mul_divElem records the defining relation a \cdot (g/a) = g inside A[I/a] for every g \in I. Two further lemmas state that the subalgebra is by definition the adjoin of the generating set and that the generating set is contained in it. No hypotheses are imposed on A, I or a beyond A being a commutative ring; in particular a need not lie in I, and finiteness or flatness properties are not part of the definition.
Relation to Mathlib
Mathlib has localisations away from an element and Algebra.adjoin, but no notion of affine blow-up or dilatation algebra; this is the project's own definition, packaged as a Subalgebra A (Localization.Away a).
Where it is used
These definitions are the affine-local input to the theory of dilatations (Néron blow-ups) developed in the modules importing them, where the basic properties of A[I/a] — the behaviour of a as a nonzerodivisor, the universal property, finite type and flatness over a discrete valuation ring — are established and used in the study of integral models.
References
- S. Bosch, W. Lütkebohmert and M. Raynaud, Néron Models, Ergebnisse der Mathematik und ihrer Grenzgebiete (3) 21, Springer, 1990, §3.2
- A. Mayeux, T. Richarz and M. Romagny, Néron blowups and low-degree cohomological applications, Algebraic Geometry 10 (2023), §2
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 70 lines
- 11 declarations
- used in the statements of 12 theorems and imported by 12 proofs
- imports 0 definition modules
Source file: Definitions/Def_RingTheory_AffineDilatation.lean
Declarations
- def
AffineDilatation.gen - def
AffineDilatation.subalgebra - abbrev
AffineDilatation.Ring - def
AffineDilatation.divElem - theorem
AffineDilatation.coe_divElem - theorem
AffineDilatation.coe_algebraMap - theorem
AffineDilatation.algebraMap_mul_divElem - theorem
AffineDilatation.mem_gen_iff - theorem
AffineDilatation.subalgebra_eq_adjoin - theorem
AffineDilatation.gen_subset - theorem
AffineDilatation.divElem_mem
Source
import Mathlib set_option autoImplicit false noncomputable section universe u namespace AffineDilatation variable {A : Type u} [CommRing A] def gen (I : Ideal A) (a : A) : Set (Localization.Away a) := (fun g : A => IsLocalization.mk' (Localization.Away a) g (⟨a, Submonoid.mem_powers a⟩ : Submonoid.powers a)) '' (I : Set A) def subalgebra (I : Ideal A) (a : A) : Subalgebra A (Localization.Away a) := Algebra.adjoin A (gen I a) abbrev Ring (I : Ideal A) (a : A) : Type u := ↥(subalgebra I a) def divElem (I : Ideal A) (a : A) (g : A) (hg : g ∈ I) : Ring I a := ⟨IsLocalization.mk' (Localization.Away a) g (⟨a, Submonoid.mem_powers a⟩ : Submonoid.powers a), Algebra.subset_adjoin ⟨g, hg, rfl⟩⟩ @[simp] theorem coe_divElem (I : Ideal A) (a : A) (g : A) (hg : g ∈ I) : ((divElem I a g hg : Ring I a) : Localization.Away a) = IsLocalization.mk' (Localization.Away a) g (⟨a, Submonoid.mem_powers a⟩ : Submonoid.powers a) := rfl theorem coe_algebraMap (I : Ideal A) (a : A) (g : A) : ((algebraMap A (Ring I a) g : Ring I a) : Localization.Away a) = algebraMap A (Localization.Away a) g := rfl theorem algebraMap_mul_divElem (I : Ideal A) (a : A) (g : A) (hg : g ∈ I) : algebraMap A (Ring I a) a * divElem I a g hg = algebraMap A (Ring I a) g := by apply Subtype.ext change algebraMap A (Localization.Away a) a * IsLocalization.mk' (Localization.Away a) g (⟨a, Submonoid.mem_powers a⟩ : Submonoid.powers a) = algebraMap A (Localization.Away a) g rw [mul_comm] exact IsLocalization.mk'_spec (Localization.Away a) g (⟨a, Submonoid.mem_powers a⟩ : Submonoid.powers a) theorem mem_gen_iff (I : Ideal A) (a : A) (x : Localization.Away a) : x ∈ gen I a ↔ ∃ g ∈ I, IsLocalization.mk' (Localization.Away a) g (⟨a, Submonoid.mem_powers a⟩ : Submonoid.powers a) = x := Iff.rfl theorem subalgebra_eq_adjoin (I : Ideal A) (a : A) : subalgebra I a = Algebra.adjoin A (gen I a) := rfl theorem gen_subset (I : Ideal A) (a : A) : gen I a ⊆ (subalgebra I a : Set (Localization.Away a)) := Algebra.subset_adjoin theorem divElem_mem (I : Ideal A) (a : A) (g : A) (hg : g ∈ I) : ((divElem I a g hg : Ring I a) : Localization.Away a) ∈ gen I a := ⟨g, hg, rfl⟩ end AffineDilatation end
Statements phrased using this module (12)
- Simultaneous dilatation along a descending chain of closed strata
NeronModelInfra.exists_hom_isIso_morphismRestrict_compl_iso_affineDilatation_of_antitone_isClosed6 below · depth 30 - Smoothness defect drops under an affine dilatation
NeronModelInfra.smoothnessDefect_affineDilatation_add_one_le_of_isSmoothAt_of_mem_freeLocus21 below · depth 30 - Affine dilatations commute with localisation
AffineDilatation.exists_algHom_isLocalization_map3 below · depth 31 - Dilatation of a quotient: surjectivity and π-saturated kernel
AffineDilatation.exists_algHom_surjective_ker_iff_of_surjective0 below · depth 31 - Differentials of an affine dilatation along a coordinate centre
AffineDilatation.exists_basis_kaehlerDifferential_of_smooth_of_basis7 below · depth 31 - In the dilatation A[I/a], a is regular and I becomes principal
AffineDilatation.isSMulRegular_and_map_eq_span_singleton0 below · depth 31 - Universal property of the affine dilatation A[I/a]
AffineDilatation.nonempty_algHom_and_subsingleton_of_isSMulRegular0 below · depth 31 - Dilatation of a closed subset of the special fibre
NeronModelInfra.exists_isAffineHom_isIso_morphismRestrict_iso_affineDilatation_of_isClosed5 below · depth 31 - Affine dilatation of a finitely generated ideal is of finite type
AffineDilatation.finiteType_of_fg0 below · depth 32 - Elements of the dilatation A[I/a] are the fractions g/aⁿ, g∈ Iⁿ
AffineDilatation.mem_subalgebra_iff_exists_mem_pow0 below · depth 32 - Dilatation of a polynomial ring along (π, Zⱼ) is polynomial
AffineDilatation.nonempty_algEquiv_mvPolynomial_sum0 below · depth 32 - Flat base change for affine dilatations
AffineDilatation.nonempty_algEquiv_tensorProduct_of_flat_of_map_eq2 below · depth 32