Documentation

Hironaka.Resolution.Algebraic.Wlo05.EmbeddedCP4Algebra

The algebra of one blow-up along a chain stratum #

The commutative algebra of the statement CP4 of the embedded desingularization (Hironaka.Resolution.Algebraic.Wlo05.EmbeddedChainRelative, Hironaka.Resolution.Algebraic.Wlo05.EmbeddedCP4): what happens to a chain form under the blow-up of a chain stratum, stated in a domain R — the local ring š’Ŗ_{B,q} of the blow-up at a point q of the exceptional divisor — with a fixed element ε, the exceptional coordinate of the chart.

The chart is that of [Kol07, Definition 60] (the local coordinates in which the blow-up is monomial). The identities are elementary and not taken from the literature; the scheme-level statements are in Hironaka.Resolution.Algebraic.Wlo05.EmbeddedCP4Chart, Hironaka.Resolution.Algebraic.Wlo05.EmbeddedCP4NewCoords and Hironaka.Resolution.Algebraic.Wlo05.EmbeddedCP4.

Monomials #

theorem Hironaka.Resolution.monomialOf_mul {R : Type u_1} [CommRing R] {n : ā„•} (u v : Fin n → R) (a : Fin n → ā„•) :
monomialOf (fun (k : Fin n) => u k * v k) a = monomialOf u a * monomialOf v a

A monomial in a pointwise product of two coordinate families is the product of the monomials.

theorem Hironaka.Resolution.monomialOf_ite_mem {R : Type u_1} [CommRing R] {n : ā„•} (ε : R) (C : Finset (Fin n)) (a : Fin n → ā„•) :
monomialOf (fun (k : Fin n) => if k ∈ C then ε else 1) a = ε ^ āˆ‘ k ∈ C, a k

The monomial in the family which is ε on C and 1 off C is ε to the total exponent on C.

theorem Hironaka.Resolution.isUnit_monomialOf {R : Type u_1} [CommRing R] {n : ā„•} {u : Fin n → R} (hu : āˆ€ (k : Fin n), IsUnit (u k)) (a : Fin n → ā„•) :

A monomial in units is a unit.

theorem Hironaka.Resolution.isUnit_prod_of_forall_isUnit {R : Type u_1} [CommRing R] {ι : Type u_2} (s : Finset ι) {u : ι → R} (hu : āˆ€ (i : ι), IsUnit (u i)) :
IsUnit (āˆ i ∈ s, u i)

A product of units is a unit.

Chain generators after the chart substitution #

theorem Hironaka.Resolution.span_singleton_mul_span_range {R : Type u_1} [CommRing R] {ι : Type u_2} (x : R) (g : ι → R) :
Ideal.span {x} * Ideal.span (Set.range g) = Ideal.span (Set.range fun (i : ι) => x * g i)

span {x} Ā· span (range g) = span (range (x Ā· g)).

theorem Hironaka.Resolution.chainIdeal_isUnit_mul {R : Type u_1} [CommRing R] {r : ā„•} (φ M : Fin r → R) {u : Fin r → R} (hu : āˆ€ (i : Fin r), IsUnit (u i)) :
(chainIdeal φ fun (i : Fin r) => u i * M i) = chainIdeal φ M

Units multiplying the level monomials do not change the chain ideal.

theorem Hironaka.Resolution.chainKIdeal_isUnit_mul {R : Type u_1} [CommRing R] {r : ā„•} (φ M : Fin (r + 1) → R) {u : Fin (r + 1) → R} (hu : āˆ€ (i : Fin (r + 1)), IsUnit (u i)) :
(chainKIdeal φ fun (i : Fin (r + 1)) => u i * M i) = chainKIdeal φ M

Units multiplying the level monomials do not change the K-shape.

theorem Hironaka.Resolution.chainGen_pow_mul {R : Type u_1} [CommRing R] {r : ā„•} (ε : R) (Ī“ e : Fin r → ā„•) (φ N : Fin r → R) (i : Fin r) :
chainGen (fun (i : Fin r) => ε ^ Ī“ i * φ i) (fun (i : Fin r) => ε ^ e i * N i) i = ε ^ (āˆ‘ i' : Fin r with i' < i, e i' + Ī“ i) * chainGen φ N i

The i-th chain generator after the substitution f_i ↦ ε^{Ī“_i} φ_i, M_i ↦ ε^{e_i} N_i carries ε to the power āˆ‘_{i' < i} e_{i'} + Ī“_i.

theorem Hironaka.Resolution.chainGen_pow_mul_left {R : Type u_1} [CommRing R] {r : ā„•} (ε : R) (e : Fin r → ā„•) (φ N : Fin r → R) (i : Fin r) :
chainGen φ (fun (i : Fin r) => ε ^ e i * N i) i = (ε ^ āˆ‘ i' : Fin r with i' < i, e i') * chainGen φ N i

The i-th chain generator with level monomials ε^{e_i} N_i carries ε^{āˆ‘_{i' < i} e_{i'}}.

def Hironaka.Resolution.epsOrder {r : ā„•} (eā‚€ : ā„•) (e Ī“ : Fin r → ā„•) (i : Fin r) :

The ε-order E_i = eā‚€ + āˆ‘_{i' < i} e_{i'} + Ī“_i of the i-th pulled-back chain generator (eā‚€ the ε-order of the top monomial, e_{i'} those of the level monomials, Ī“_i that of the i-th chain equation).

Equations
Instances For
    theorem Hironaka.Resolution.span_mul_chainIdeal_pow_eq {R : Type u_1} [CommRing R] {r : ā„•} (ε mā‚€ : R) (eā‚€ : ā„•) (Ī“ e : Fin r → ā„•) (φ N : Fin r → R) :
    (Ideal.span {ε ^ eā‚€ * mā‚€} * chainIdeal (fun (i : Fin r) => ε ^ Ī“ i * φ i) fun (i : Fin r) => ε ^ e i * N i) = Ideal.span (Set.range fun (i : Fin r) => ε ^ epsOrder eā‚€ e Ī“ i * (mā‚€ * chainGen φ N i))

    The pulled-back chain form is generated by ε^{E_i} Ā· mā‚€ Ā· (āˆ_{i' < i} N_{i'}) φ_i.

    theorem Hironaka.Resolution.colon_span_singleton_mul_self {R : Type u_1} [CommRing R] [IsDomain R] {ε : R} (hε : ε ≠ 0) (J : Ideal R) :
    Submodule.colon (Ideal.span {ε} * J) ↑(Ideal.span {ε}) = J

    In a domain, (ε Ā· J) : (ε) = J for ε ≠ 0.

    theorem Hironaka.Resolution.sum_filter_lt_tsub {r : ā„•} (E D : Fin (r + 1) → ā„•) (hmono : āˆ€ (i : Fin r), E i.castSucc ≤ E i.succ) (hD : āˆ€ (i : Fin r), D i.castSucc = E i.succ - E i.castSucc) (i : Fin (r + 1)) :
    āˆ‘ i' : Fin (r + 1) with i' < i, D i' = E i - E 0

    The telescoping sum of the increments of a non-decreasing sequence on Fin (r + 1).

    theorem Hironaka.Resolution.zero_le_of_forall_castSucc_le_succ {r : ā„•} (E : Fin (r + 1) → ā„•) (hmono : āˆ€ (i : Fin r), E i.castSucc ≤ E i.succ) (i : Fin (r + 1)) :
    E 0 ≤ E i

    A non-decreasing sequence on Fin (r + 1) is bounded below by its first value.

    theorem Hironaka.Resolution.colon_span_mul_chainIdeal_pow {R : Type u_1} [CommRing R] {r : ā„•} [IsDomain R] {ε : R} (hε : ε ≠ 0) (mā‚€ : R) (eā‚€ : ā„•) (Ī“ e : Fin (r + 1) → ā„•) (φ N : Fin (r + 1) → R) (hpos : 1 ≤ epsOrder eā‚€ e Ī“ 0) (hmono : āˆ€ (i : Fin r), epsOrder eā‚€ e Ī“ i.castSucc ≤ epsOrder eā‚€ e Ī“ i.succ) (D : Fin (r + 1) → ā„•) (hD : āˆ€ (i : Fin r), D i.castSucc = epsOrder eā‚€ e Ī“ i.succ - epsOrder eā‚€ e Ī“ i.castSucc) :
    Submodule.colon (Ideal.span {ε ^ eā‚€ * mā‚€} * chainIdeal (fun (i : Fin (r + 1)) => ε ^ Ī“ i * φ i) fun (i : Fin (r + 1)) => ε ^ e i * N i) ↑(Ideal.span {ε}) = Ideal.span {ε ^ (epsOrder eā‚€ e Ī“ 0 - 1) * mā‚€} * chainIdeal φ fun (i : Fin (r + 1)) => ε ^ D i * N i

    The division by ε, the algebraic core of CP4: in a domain, when the ε-orders E_i of the pulled-back chain generators are ≄ 1 and non-decreasing (the content of the admissibility condition (ā˜…)), the colon by (ε) of the pulled-back chain form is again a chain form: the same equations φ, level monomials ε^{E_{i+1} āˆ’ E_i} N_i (recorded as D) and top monomial ε^{E_0 āˆ’ 1} mā‚€ — the telescoping ε^{E_i āˆ’ 1} = ε^{E_0 āˆ’ 1} āˆ_{i' < i} ε^{E_{i'+1} āˆ’ E_{i'}}.

    theorem Hironaka.Resolution.update_pow_mul_last {R : Type u_1} [CommRing R] {r : ā„•} (ε : R) (Ī“ : Fin (r + 1) → ā„•) (φ : Fin (r + 1) → R) :
    Function.update (fun (i : Fin (r + 1)) => ε ^ Ī“ i * φ i) (Fin.last r) 1 = fun (i : Fin (r + 1)) => ε ^ Function.update Ī“ (Fin.last r) 0 i * Function.update φ (Fin.last r) 1 i

    The K-shape substitution: the last equation 1 is untouched.

    theorem Hironaka.Resolution.colon_span_mul_chainKIdeal_pow {R : Type u_1} [CommRing R] {r : ā„•} [IsDomain R] {ε : R} (hε : ε ≠ 0) (mā‚€ : R) (eā‚€ : ā„•) (Ī“ e : Fin (r + 1) → ā„•) (φ N : Fin (r + 1) → R) (hpos : 1 ≤ epsOrder eā‚€ e (Function.update Ī“ (Fin.last r) 0) 0) (hmono : āˆ€ (i : Fin r), epsOrder eā‚€ e (Function.update Ī“ (Fin.last r) 0) i.castSucc ≤ epsOrder eā‚€ e (Function.update Ī“ (Fin.last r) 0) i.succ) (D : Fin (r + 1) → ā„•) (hD : āˆ€ (i : Fin r), D i.castSucc = epsOrder eā‚€ e (Function.update Ī“ (Fin.last r) 0) i.succ - epsOrder eā‚€ e (Function.update Ī“ (Fin.last r) 0) i.castSucc) :
    Submodule.colon (Ideal.span {ε ^ eā‚€ * mā‚€} * chainKIdeal (fun (i : Fin (r + 1)) => ε ^ Ī“ i * φ i) fun (i : Fin (r + 1)) => ε ^ e i * N i) ↑(Ideal.span {ε}) = Ideal.span {ε ^ (epsOrder eā‚€ e (Function.update Ī“ (Fin.last r) 0) 0 - 1) * mā‚€} * chainKIdeal φ fun (i : Fin (r + 1)) => ε ^ D i * N i

    The division by ε for the K-shape: the colon by (ε) of the pulled-back K-shape is the K-shape with the new monomials, the ε-orders being those with Γ_r = 0 for the last generator (which carries no equation).

    Saturation by a coordinate #

    theorem Hironaka.Resolution.iSup_colon_pow_span_singleton_eq_of_isPrime {R : Type u_1} [CommRing R] {J P : Ideal R} (hP : P.IsPrime) {ε : R} (hε : ε āˆ‰ P) (hJP : J ≤ P) {t : ā„•} (hPJ : āˆ€ x ∈ P, x * ε ^ t ∈ J) :
    ⨆ (i : ā„•), Submodule.colon J ↑(Ideal.span {ε} ^ i) = P

    (J : ε^āˆž) = P for a prime P ∌ ε with J āŠ† P and P Ā· ε^t āŠ† J: the strict transform of a coordinate subspace through the centre.

    theorem Hironaka.Resolution.iSup_colon_pow_eq_top_of_pow_mem {R : Type u_1} [CommRing R] {J : Ideal R} {ε : R} {t : ā„•} (hJ : ε ^ t ∈ J) :
    ⨆ (i : ā„•), Submodule.colon J ↑(Ideal.span {ε} ^ i) = ⊤

    (J : ε^āˆž) = š’Ŗ when a power of ε lies in J (the charts of the chain equations f_l, where the exceptional coordinate is a pulled-back equation of the strict transform's centre).

    theorem Hironaka.Resolution.iSup_colon_pow_span_singleton_mul_pow {R : Type u_1} [CommRing R] {w ε : R} (hw : Prime w) (hε : ε āˆ‰ Ideal.span {w}) (t : ā„•) :
    ⨆ (i : ā„•), Submodule.colon (Ideal.span {w * ε ^ t}) ↑(Ideal.span {ε} ^ i) = Ideal.span {w}

    ((w ε^t) : ε^āˆž) = (w) for a prime element w not dividing ε (the strict transform of a member through the centre).

    Monomials in coordinate primes #

    theorem Hironaka.Resolution.monomialOf_mem_span_image_iff {R : Type u_1} [CommRing R] [IsRegularLocalRing R] {n : ā„•} {z : Fin n → R} (hz : IsLocalRing.maximalIdeal R = Ideal.span (Set.range z)) (hn : ↑n = ringKrullDim R) (t : Finset (Fin n)) (a : Fin n → ā„•) :
    monomialOf z a ∈ Ideal.span (z '' ↑t) ↔ ∃ k ∈ t, a k ≠ 0

    A monomial in a regular system of parameters lies in the coordinate prime (z_k : k ∈ t) iff one of its coordinates with positive exponent lies in t.

    theorem Hironaka.Resolution.monomialOf_mem_span_image_union_iff {R : Type u_1} [CommRing R] [IsRegularLocalRing R] {n : ā„•} {z : Fin n → R} (hz : IsLocalRing.maximalIdeal R = Ideal.span (Set.range z)) (hn : ↑n = ringKrullDim R) {r : ā„•} {σ : Fin (r + 1) → Fin n} (T : Finset (Fin (r + 1))) (s : Finset (Fin n)) {a : Fin n → ā„•} (ha : āˆ€ (k : Fin n), a k ≠ 0 → k āˆ‰ Set.range σ) :

    A monomial supported off the range of σ lies in the coordinate prime of σ '' T ∪ s iff it lies in the coordinate prime of s.

    theorem Hironaka.Resolution.span_mul_chainKIdeal_le_stratum_iff {R : Type u_1} [CommRing R] [IsRegularLocalRing R] {n : ā„•} {z : Fin n → R} (hz : IsLocalRing.IsRegularSystemOfParameters z) {r : ā„•} (σ : Fin (r + 1) → Fin n) (hσ : Function.Injective σ) (s : Finset (Fin n)) (hs : āˆ€ (i : Fin (r + 1)), σ i āˆ‰ s) (b : Fin n → ā„•) (a : Fin (r + 1) → Fin n → ā„•) (hb : āˆ€ (k : Fin n), b k ≠ 0 → k āˆ‰ Set.range σ) (ha : āˆ€ (i : Fin (r + 1)) (k : Fin n), a i k ≠ 0 → k āˆ‰ Set.range σ) {l : ā„•} (hl : l ≤ r) :
    (Ideal.span {monomialOf z b} * chainKIdeal (z ∘ σ) fun (i : Fin (r + 1)) => monomialOf z (a i)) ≤ Ideal.span (z ∘ σ '' {i : Fin (r + 1) | ↑i < l}) āŠ” Ideal.span (z '' ↑s) ↔ monomialOf z b * āˆ i : Fin (r + 1) with ↑i < l, monomialOf z (a i) ∈ Ideal.span (z '' ↑s)

    The characterisation of K ≤ Z: the K-shape lies in the ideal of the chain stratum iff the monomial M⁰ Ā· Mā‚€ ⋯ M_{lāˆ’1} lies in (z_s) — the CUMULATIVE condition, weaker than the admissibility condition (ā˜…) and not automatic; (ā˜…) implies it.

    The ε-orders of an admissible or terminal-normal stratum #

    def Hironaka.Resolution.stratumCoords {n r : ā„•} (σ : Fin (r + 1) → Fin n) (s : Finset (Fin n)) (l : ā„•) :

    The coordinates of the chain stratum (f_i : i < l) + (e_j : j ∈ s).

    Equations
    Instances For
      theorem Hironaka.Resolution.mem_stratumCoords_iff {n r : ā„•} (σ : Fin (r + 1) → Fin n) (s : Finset (Fin n)) (hσ : Function.Injective σ) (hs : āˆ€ (i : Fin (r + 1)), σ i āˆ‰ s) (l : ā„•) (i : Fin (r + 1)) :
      σ i ∈ stratumCoords σ s l ↔ ↑i < l

      A chain coordinate lies among the stratum's coordinates iff its level is below l.

      theorem Hironaka.Resolution.sum_stratumCoords_eq {n r : ā„•} (σ : Fin (r + 1) → Fin n) (s : Finset (Fin n)) (l : ā„•) (c : Fin n → ā„•) (hc : āˆ€ (k : Fin n), c k ≠ 0 → k āˆ‰ Set.range σ) :
      āˆ‘ k ∈ stratumCoords σ s l, c k = āˆ‘ k ∈ s, c k

      The total exponent over the stratum's coordinates of an exponent vector supported off the chain is its total exponent over s.

      theorem Hironaka.Resolution.span_image_comp_sup_eq {n r : ā„•} (σ : Fin (r + 1) → Fin n) (s : Finset (Fin n)) {R : Type u_1} [CommRing R] (z : Fin n → R) (l : ā„•) :
      Ideal.span (z ∘ σ '' {i : Fin (r + 1) | ↑i < l}) āŠ” Ideal.span (z '' ↑s) = Ideal.span (z '' ↑(stratumCoords σ s l))

      The stratum's ideal is the coordinate prime of its coordinates.

      theorem Hironaka.Resolution.epsOrder_zero {r : ā„•} (eā‚€ : ā„•) (e Ī“ : Fin (r + 1) → ā„•) :
      epsOrder eā‚€ e Ī“ 0 = eā‚€ + Ī“ 0

      The ε-order of the i-th generator, unfolded at 0.

      theorem Hironaka.Resolution.epsOrder_succ {r : ā„•} (eā‚€ : ā„•) (e Ī“ : Fin (r + 1) → ā„•) (i : Fin r) :
      epsOrder eā‚€ e Ī“ i.succ + Ī“ i.castSucc = epsOrder eā‚€ e Ī“ i.castSucc + e i.castSucc + Ī“ i.succ

      The ε-orders of consecutive generators differ by e_i + Ī“_{i+1} āˆ’ Ī“_i.

      theorem Hironaka.Resolution.epsOrder_mono_of {r : ā„•} (eā‚€ : ā„•) (e Ī“ : Fin (r + 1) → ā„•) (h : āˆ€ (i : Fin r), Ī“ i.castSucc ≤ e i.castSucc + Ī“ i.succ) (i : Fin r) :
      epsOrder eā‚€ e Ī“ i.castSucc ≤ epsOrder eā‚€ e Ī“ i.succ

      Monotonicity of the ε-orders from the level condition Ī“_i ≤ e_i + Ī“_{i+1}.

      A chain equation that is a unit #

      theorem Hironaka.Resolution.prod_filter_lt_last_eq_mul {R : Type u_1} [CommRing R] {r : ā„•} (M : Fin (r + 1) → R) (iā‚€ : Fin (r + 1)) :
      āˆ i : Fin (r + 1) with i < Fin.last r, M i = (āˆ i : Fin (r + 1) with i < iā‚€, M i) * āˆ i : Fin (r + 1) with i < Fin.last r ∧ ¬i < iā‚€, M i

      The monomial āˆ_{i < r} M_i of the K-shape's last generator is a multiple of the monomial āˆ_{i < iā‚€} M_i of any earlier generator.

      theorem Hironaka.Resolution.chainIdeal_eq_chainKIdeal_of_isUnit {R : Type u_1} [CommRing R] {r : ā„•} (φ M : Fin (r + 1) → R) {iā‚€ : Fin (r + 1)} (hu : IsUnit (φ iā‚€)) :
      chainIdeal φ M = chainKIdeal φ M

      When one of the chain equations is a unit, the un-isolated chain form and the K-shape coincide — both are generated by the generators below that level and the monomial of that level.