Documentation

Hironaka.Resolution.Algebraic.MarkedOrderReduction.Assembly

The functor BMO_{n,m} assembled #

[Kol07, Theorem 107] asserts, assuming order reduction for ideals in dimensions ≤ n, a smooth blow-up sequence functor BMO_{n,m} on marked triples (X, I, m, E) with dim X = n such that (1) max-ord I_r < m at the end, (2) BMO_{n,m} commutes with smooth morphisms and with change of fields, and (3) BMO_{n,m}(X, I, m, ∅) = BO_{n,m}(X, I, ∅) when m = max-ord I. Its proof ([Kol07, 111]) is the concatenation of three steps, each run on the marked triple induced at the end of the previous one: Step 1 reduces max-ord N(I) below m (Hironaka/Resolution/Algebraic/MarkedOrderReduction/Step1NonmonomialPart.lean, step1), Step 2 separates cosupp(I, m) from cosupp N(I) (Hironaka/Resolution/Algebraic/MarkedOrderReduction/Step2Separation.lean, step2), and Step 3 reduces the order of the monomial part M(I) below m (the geometric Step 3 of Hironaka/Resolution/Algebraic/Monomial/Geometric/, run on X for (M(I), m, E); Hironaka/Resolution/Algebraic/MarkedOrderReduction/Step3Input.lean). Empty blow-ups are to be deleted ([Kol07, 32]); none occur, each step being without empty blow-ups, so the concatenation is the functor's value as it stands.

The input is bo : ∀ d, BOData n d, order reduction for ideals in dimension n at every order, since the orders that Steps 1–2 call are not bounded in terms of m. Clause (1) (BMO.maxOrd_lt), clause (2) (BMO.commutesWithSmooth, BMO.commutesWithBaseChange, with BMO.indifferentToEmptyMembers) and clause (3) (BMO.eq_BO_of_maxOrd) are the theorems of Clause1.lean, Smooth.lean, BaseChangeLoop.lean and Clause3.lean; the data BMO.data : BMOData n m are assembled from them in Theorem107.lean.

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

The marked triple induced at the end of Step 1 ([Kol07, 111]: "instead of (X^1, (Π_1)^{-1}_*(I, m), (Π_1)^{-1}_{tot}(E)), write (X, I, m, E)").

Equations
Instances For
    theorem Hironaka.BMO.bmoClass_afterStep1 {k : Type u} [Field k] [CharZero k] {n : ℕ} (bo : (d : ℕ) → BOData n d) {m : ℕ} (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :

    The end of Step 1 is again a marked triple of BMOClass n m (MarkedTriple.bmoClass_induced).

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

    After Step 1, max-ord N(I) < m ([Kol07, 111]: "we may assume that max-ord N(I) < m"; roundOrder_induced_step1_lt read on the induced triple).

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

    The marked triple induced at the end of Step 2 of afterStep1, with cosupp(I, m) ∩ cosupp N(I) = ∅ ([Kol07, 111, Step 2]).

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

      The end of Step 2 is again a marked triple of BMOClass n m.

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

      After Step 2 the separation order is 0 ([Kol07, 111, Step 2]: "cosupp(I, m) ∩ cosupp N(I) = ∅"; sepOrder_induced_step2_eq_zero read on the induced triple).

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

      The smooth blow-up sequence BMO_{n,m}(X, I, m, E) ([Kol07, Theorem 107] and [Kol07, 111]): Step 1, then Step 2 of the induced marked triple, then the geometric Step 3 (on X for (M(I), m, E)) of the induced marked triple, concatenated.

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

        BMO_{n,m}(X, I, m, E) is a smooth blow-up sequence of order ≥ m for (X, I, m, E) (conditions (2′)–(4′) of [Kol07, Definition 66]): each step is one for the marked triple induced at the end of the previous step, and the order condition concatenates (isOrderGeSeq_concat).

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

        BMO_{n,m}(X, I, m, E) contains no empty blow-up ([Kol07, 32]): none of the three steps does.

        theorem Hironaka.BMO.eraseEmpty_bmoSeq {k : Type u} [Field k] [CharZero k] {n : ℕ} (bo : (d : ℕ) → BOData n d) {m : ℕ} (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
        (bmoSeq bo T hT).eraseEmpty = bmoSeq bo T hT

        The deletion of empty blow-ups ([Kol07, 32]) leaves BMO_{n,m}(X, I, m, E) unchanged: there are none (eraseEmpty_eq_self_iff).

        noncomputable def Hironaka.BMO.functor {k : Type u} [Field k] [CharZero k] {n : ℕ} (bo : (d : ℕ) → BOData n d) (m : ℕ) :

        The functor BMO_{n,m} of [Kol07, Theorem 107] on the class BMOClass n m: the sequence bmoSeq, of order ≥ m for its marked triple, without empty blow-ups (OrderGeSeqFunctor). Clauses (1)–(3) are the theorems BMO.maxOrd_lt, BMO.commutesWithSmooth, BMO.commutesWithBaseChange, BMO.indifferentToEmptyMembers and BMO.eq_BO_of_maxOrd. The mark m is explicit, since it is not determined by the input bo: BMO.functor m bo.

        Equations
        Instances For
          theorem Hironaka.BMO.functor_seq {k : Type u} [Field k] [CharZero k] {n : ℕ} (bo : (d : ℕ) → BOData n d) {m : ℕ} (T : MarkedTriple k) (hT : MarkedTriple.BMOClass n m T) :
          (functor bo m).seq T hT = bmoSeq bo T hT

          The value of the functor BMO_{n,m} is the assembled sequence.