Documentation

Hironaka.Resolution.Algebraic.MarkedOrderReduction.Step2Separation

Step 2 of marked order reduction: separating the cosupport from the nonmonomial part #

Step 2 of the proof of [Kol07, Theorem 107] ([Kol07, 111, Step 2]) makes the cosupports of (I, m) and of N(I) disjoint. With s the maximal order of N(I) along cosupp(I, m), the order is reduced step by step until s = 0, which is the disjointness. Kollár's device is the observation that ord_Z J₁ ≥ s and ord_Z J₂ ≥ m together are equivalent to ord_Z (J₁^m + J₂^s) ≥ ms: order reduction is applied to the single ideal N(I)^m + I^s, of order ≥ ms, and every smooth blow-up sequence of order ms for it is at once one of order s for N(I) and one of order m for I; after r = r(m, s) blow-ups cosupp(I_r, m) ∩ cosupp(N(I_r), s) = ∅, and the process continues with s − 1. At the end the two cosupports are disjoint; since every further centre lies in cosupp(I, m), X may be replaced by X ∖ cosupp N(I), where I = M(I).

The construction follows the pattern of Step 1 (Hironaka/Resolution/Algebraic/MarkedOrderReduction/Step1NonmonomialPart.lean), with the input bo : ∀ d, BOData n d, order reduction for ideals in dimension n at every mark.

The result of Step 1, max-ord N(I) < m, is not a hypothesis here: the construction, its admission and its termination do not use it (the bound max-ord (N(I)^m + I^s) ≤ ms holds for every marked triple of the class); the assembly (Hironaka/Resolution/Algebraic/MarkedOrderReduction/Assembly.lean) applies Step 2 after Step 1.

noncomputable def Hironaka.BMO.sepOrder {k : Type u} [Field k] (T : MarkedTriple k) :

The separation order s ([Kol07, 111, Step 2]: "let s be the maximum order of N(I) along cosupp(I, m)"), as a natural number (coe_sepOrder).

Equations
Instances For
    theorem Hironaka.BMO.coe_sepOrder {k : Type u} [Field k] [CharZero k] (T : MarkedTriple k) :
    ↑(sepOrder T) = (nonmonomialPart T.I T.E).maxOrdAlong {x : ↥T.X.left | ↑T.m ≤ T.I.ord x}

    (sepOrder T : ℕ∞) = max-ord_{cosupp(I, m)} N(I): the maximal order along a set of an ideal sheaf nonzero on every component is finite (maxOrdAlong_ne_top).

    theorem Hironaka.BMO.sepOrder_eq_zero_iff {k : Type u} [Field k] [CharZero k] (T : MarkedTriple k) :
    sepOrder T = 0 ↔ Disjoint {x : ↥T.X.left | ↑T.m ≤ T.I.ord x} ↑(nonmonomialPart T.I T.E).support

    The exit of the loop ([Kol07, 111, Step 2]: "s = 0, which is the same as cosupp(I, m) ∩ cosupp N(I) = ∅").

    noncomputable def Hironaka.BMO.sepIdeal {k : Type u} [Field k] (T : MarkedTriple k) :

    The separating ideal N(I)^m + I^s of [Kol07, 111, Step 2] (the sum of ideal sheaves is ⊔).

    Equations
    Instances For

      Powers of an ideal sheaf nonzero on every component of a triple's scheme are nonzero on every component, the stalks being domains (isNonzeroEverywhere_mul); no characteristic hypothesis.

      N(I)^m + I^s is nonzero on every component: it contains N(I)^m.

      noncomputable def Hironaka.BMO.sepTriple {k : Type u} [Field k] (T : MarkedTriple k) :

      The unmarked triple (X, N(I)^m + I^s, E) to which the round's order reduction is applied ([Kol07, 111, Step 2]).

      Equations
      Instances For
        theorem Hironaka.BMO.sepTriple_X {k : Type u} [Field k] (T : MarkedTriple k) :

        The scheme of (X, N(I)^m + I^s, E) is X.

        The ideal of (X, N(I)^m + I^s, E) is the separating ideal.

        theorem Hironaka.BMO.sepTriple_E {k : Type u} [Field k] (T : MarkedTriple k) :
        (sepTriple T).E = T.E

        The boundary of (X, N(I)^m + I^s, E) is E.

        theorem Hironaka.BMO.maxOrd_sepIdeal_le {k : Type u} [Field k] [CharZero k] (T : MarkedTriple k) {n m : ℕ} (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
        (sepIdeal T).maxOrd ≤ ↑(T.m * sepOrder T)

        max-ord (N(I)^m + I^s) ≤ ms ([Kol07, 111, Step 2]: "which has order ≥ ms"; here the upper bound needed for the domain of BO_{n,ms}): off cosupp(I, m), ord_x I ≤ m so s · ord_x I ≤ ms; on it, ord_x N(I) ≤ s by the definition of s, so m · ord_x N(I) ≤ ms; the order of the sum is the minimum. No hypothesis on the outcome of Step 1 is needed.

        For s ≥ 1 the triple (X, N(I)^m + I^s, E) lies in BOClass n (m·s) ([Kol07, Theorem 68], the domain of BO_{ms}): the mark m·s ≥ 1, the dimension bound of T, and max-ord ≤ m·s.

        noncomputable def Hironaka.BMO.step2Round {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

        One round of Step 2 ([Kol07, 111, Step 2]: "we apply order reduction to the ideal N(I)^m + I^s"): the value of BO_{n,ms} at the order m·s on the triple (X, N(I)^m + I^s, E), for s ≥ 1.

        Equations
        Instances For
          theorem Hironaka.BMO.step2Round_eq {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
          step2Round bo T hT hs = ((bo (T.m * sepOrder T)).functor k).seq (sepTriple T) ⋯

          One round of Step 2 is the value of BO_{n,ms} on (X, N(I)^m + I^s, E).

          theorem Hironaka.BMO.step2Round_isOrderSeq {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

          The round is a smooth blow-up sequence of order m·s for (X, N(I)^m + I^s, E) (the functor's field; [Kol07, Theorem 68]).

          theorem Hironaka.BMO.step2Round_noEmptyCenters {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

          The round contains no empty blow-up (the functor's field; [Kol07, 32]).

          theorem Hironaka.BMO.maxOrd_weakTransformSeq_step2Round_lt {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
          ((step2Round bo T hT hs).weakTransformSeq (sepIdeal T) (Fin.last (step2Round bo T hT hs).length)).maxOrd < ↑(T.m * sepOrder T)

          The birational transform of N(I)^m + I^s at the end of the round has maximal order < m·s (clause (1) of [Kol07, Theorem 103] for the round at order m·s).

          theorem Hironaka.BMO.weakTransformSeq_step2Round {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) (i : Fin ((step2Round bo T hT hs).length + 1)) :
          (step2Round bo T hT hs).weakTransformSeq (sepIdeal T) i = (step2Round bo T hT hs).markedTransformSeq (nonmonomialPart T.I T.E) (sepOrder T) i ^ T.m ⊔ (step2Round bo T hT hs).markedTransformSeq T.I T.m i ^ sepOrder T

          At every stage of the round, the induced birational transform of N(I)^m + I^s is Π^{-1}_*(N(I), s)^m + Π^{-1}_*(I, m)^s ([Kol07, 111, Step 2]: a sequence of order ms for the sum is one of order s for N(I) and of order m for I, and the transforms match).

          theorem Hironaka.BMO.step2Round_isOrderGeSeq {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

          The round is a smooth blow-up sequence of order ≥ m starting with (X, I, m, E) ([Kol07, 111, Step 2]: "also … a smooth blow-up sequence of order m starting with I"): the same centres and boundaries, the order clause by Kollár's observation ord_Z (J₁^m + J₂^s) ≥ ms ⇔ ord_Z J₁ ≥ s ∧ ord_Z J₂ ≥ m.

          theorem Hironaka.BMO.step2Round_isOrderGeSeq_nonmonomial {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

          The round is a smooth blow-up sequence of order ≥ s starting with (X, N(I), s, E) ([Kol07, 111, Step 2]: "also a smooth blow-up sequence of order s starting with N(I)").

          noncomputable def Hironaka.BMO.step2Triple {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

          The marked triple (X_r, Π^{-1}_*(I, m), m, Π^{-1}_{tot} E) induced at the end of one round ([Kol07, 111, Step 2]: "we stop after r = r(m, s) steps"; MarkedTriple.induced through step2Round_isOrderGeSeq).

          Equations
          Instances For
            theorem Hironaka.BMO.step2Triple_X {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
            (step2Triple bo T hT hs).X.left = (step2Round bo T hT hs).last

            The scheme of the induced marked triple after a round is the end result of the round.

            theorem Hironaka.BMO.step2Triple_I {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
            (step2Triple bo T hT hs).I = (step2Round bo T hT hs).markedTransformSeq T.I T.m (Fin.last (step2Round bo T hT hs).length)

            The ideal of the induced marked triple after a round is Π^{-1}_*(I, m).

            theorem Hironaka.BMO.step2Triple_E {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
            (step2Triple bo T hT hs).E = (step2Round bo T hT hs).totalTransformSeq T.E (Fin.last (step2Round bo T hT hs).length)

            The boundary of the induced marked triple after a round is Π^{-1}_{tot} E.

            theorem Hironaka.BMO.step2Triple_m {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
            (step2Triple bo T hT hs).m = T.m

            The mark of the induced marked triple after a round is unchanged.

            theorem Hironaka.BMO.bmoClass_step2Triple {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

            The induced marked triple after a round is again of BMOClass n m: the stages of a smooth blow-up sequence are smooth of the same relative dimension, and the mark is unchanged.

            theorem Hironaka.BMO.sepOrder_step2Triple_lt {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :

            After a round at order m·s, the separation order drops ([Kol07, 111, Step 2]: the rounds at the separation order s stop once cosupp(I_r, m) and cosupp(N(I_r), s) are disjoint, and Kollár continues with s − 1): clause (1) of [Kol07, Theorem 103] gives max-ord (N_r^m + I_r^s) < ms, so by Kollár's observation no point has ord N_r ≥ s and ord I_r ≥ m; and N(I_r) = N(N_r) (nonmonomialPart_markedTransformSeq_eq_of_isOrderGeSeq) with N_r ⊆ N(N_r) gives ord_x N(I_r) ≤ ord_x N_r < s on cosupp(I_r, m).

            @[irreducible]
            noncomputable def Hironaka.BMO.step2 {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :

            Step 2 of the proof of [Kol07, Theorem 107] ([Kol07, 111, Step 2]: "we reduce this order step-by-step, eventually ending up with s = 0"), by well-founded recursion on the separation order s = sepOrder T: the empty sequence once s = 0, and otherwise one round BO_{n,ms}(X, N(I)^m + I^s, E) followed by Step 2 of the induced marked triple, whose separation order is smaller (sepOrder_step2Triple_lt). Carried with the sequence: it is a smooth blow-up sequence of order ≥ m starting with (X, I, m, E) (isOrderGeSeq_concat with step2Round_isOrderGeSeq) without empty blow-ups (noEmptyCenters_concat). BO_{n,ms} is called only for s ≥ 1.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem Hironaka.BMO.step2_of_eq_zero {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (h : sepOrder T = 0) :

              At the exit (s = 0), Step 2 is the empty sequence.

              theorem Hironaka.BMO.step2_of_pos {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) (hs : 0 < sepOrder T) :
              ↑(step2 bo T hT) = (step2Round bo T hT hs).concat ↑(step2 bo (step2Triple bo T hT hs) ⋯)

              For s ≥ 1, Step 2 is one round followed by Step 2 of the induced marked triple (the loop unrolled once).

              theorem Hironaka.BMO.step2_isOrderGeSeq {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
              (↑(step2 bo T hT)).IsOrderGeSeq (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I T.m T.E

              Step 2 is a smooth blow-up sequence of order ≥ m starting with (X, I, m, E) ([Kol07, Definition 66] for Π_2).

              theorem Hironaka.BMO.step2_noEmptyCenters {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
              (↑(step2 bo T hT)).NoEmptyCenters

              Step 2 contains no empty blow-up ([Kol07, 32]).

              theorem Hironaka.BMO.maxOrdAlong_nonmonomialPart_step2_eq_zero_aux {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (l : ℕ) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
              sepOrder T ≤ l → (nonmonomialPart ((↑(step2 bo T hT)).markedTransformSeq T.I T.m (Fin.last (↑(step2 bo T hT)).length)) ((↑(step2 bo T hT)).totalTransformSeq T.E (Fin.last (↑(step2 bo T hT)).length))).maxOrdAlong {x : ↥((↑(step2 bo T hT)).stage (Fin.last (↑(step2 bo T hT)).length)) | ↑T.m ≤ ((↑(step2 bo T hT)).markedTransformSeq T.I T.m (Fin.last (↑(step2 bo T hT)).length)).ord x} = 0

              The induction behind the result of Step 2, on a bound l for the separation order, following the recursion of step2; stated on the induced data of the sequence (no dependence on the order proof), so that the unfolding equations rewrite.

              theorem Hironaka.BMO.sepOrder_induced_step2_eq_zero {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
              sepOrder (T.induced ↑(step2 bo T hT) ⋯ (Fin.last (↑(step2 bo T hT)).length)) = 0

              At the end of Step 2 the separation order is 0, for the marked triple induced at the end ([Kol07, 111, Step 2]: "eventually we achieve a situation where the cosupports of N(I) and of (I, m) are disjoint").

              theorem Hironaka.BMO.disjoint_cosupp_induced_step2 {k : Type u} [Field k] [CharZero k] {n m : ℕ} (bo : (d : ℕ) → BOData n d) (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
              Disjoint {x : ↥(T.induced ↑(step2 bo T hT) ⋯ (Fin.last (↑(step2 bo T hT)).length)).X.left | ↑(T.induced ↑(step2 bo T hT) ⋯ (Fin.last (↑(step2 bo T hT)).length)).m ≤ (T.induced ↑(step2 bo T hT) ⋯ (Fin.last (↑(step2 bo T hT)).length)).I.ord x} ↑(nonmonomialPart (T.induced ↑(step2 bo T hT) ⋯ (Fin.last (↑(step2 bo T hT)).length)).I (T.induced ↑(step2 bo T hT) ⋯ (Fin.last (↑(step2 bo T hT)).length)).E).support

              At the end of Step 2, cosupp(I_r, m) ∩ cosupp N(I_r) = ∅ ([Kol07, 111, Step 2]), the set form of sepOrder_induced_step2_eq_zero.

              When the separation order is 0, cosupp(I, m) is contained in the complement of cosupp N(I) ([Kol07, 111, Step 2]: "the center of any further blow-up is contained in cosupp(I, m)", which at the exit lies in X ∖ cosupp N(I)).

              Off cosupp N(I) the stalk of I is the stalk of its monomial part ([Kol07, 111, Step 2]: "replace X by X ∖ cosupp N(I) and thus assume that I = M(I)", at a point): I = M(I) · N(I) and N(I)_x = 𝒪_x.

              theorem Hironaka.BMO.ord_eq_ord_monomialPart_of_notMem_support {k : Type u} [Field k] (T : MarkedTriple k) {x : ↥T.X.left} (hx : x ∉ (nonmonomialPart T.I T.E).support) :
              T.I.ord x = (monomialPart T.I T.E).ord x

              Off cosupp N(I), the order of I is the order of M(I).

              theorem Hironaka.BMO.comap_ι_eq_monomialPart {k : Type u} [Field k] (T : MarkedTriple k) (U : T.X.left.Opens) (hU : Set.range ⇑U.ι ⊆ (↑(nonmonomialPart T.I T.E).support)ᶜ) :
              T.I.comap U.ι = (monomialPart T.I T.E).comap U.ι

              On an open U inside the complement of cosupp N(I), the restrictions of I and of M(I) agree ([Kol07, 111, Step 2]: "I = M(I)" on X ∖ cosupp N(I)); extensionality by stalks, through the stalk map of an open immersion.

              theorem Hironaka.BMO.setOf_le_ord_monomialPart_subset {k : Type u} [Field k] (T : MarkedTriple k) :
              {x : ↥T.X.left | ↑T.m ≤ (monomialPart T.I T.E).ord x} ⊆ {x : ↥T.X.left | ↑T.m ≤ T.I.ord x}

              cosupp(M(I), m) ⊆ cosupp(I, m), since I ⊆ M(I): a centre of order ≥ m for the monomial part is of order ≥ m for I.