Functoriality of the realised Step 3 under flat morphisms: the general fold #
The second clause of [Kol07, 34.1] for the third step of BMO_{n,m}: for a family Φ' on Y
refining Φ on X along a flat h : Y ⟶ X (no surjectivity), the realised Step 3 on Y is
the pull-back of the realised Step 3 on X with the empty blow-ups deleted, Kollár's "deleting
every blow-up h^*π_i whose centre is empty and reindexing", in the form
BlowUpSequence.pullback and BlowUpSequence.eraseEmpty. Not in the sources beyond that
sentence.
- The run on
Yis the chain run with skips of the run onX(Hironaka/Resolution/Algebraic/Monomial/Geometric/ChainRunErase.lean,step3_chainE): a centre ofXwith no face ofYover it is skipped. comap_centerOf_eq_top,comap_centerOf_ne_top: a centre is skipped iff its pull-back is⊤(its preimage is empty).- A skip is an empty blow-up of
Y: the family onYis unchanged while the family onXbecomesblowUpPieces; the refinement persists alonginv (blowUpπ Y ⊤) ≫ blowUpMap h Z : Y ⟶ Bl_Z X(refinesAlongW_skip; the strict transforms pull back to the pieces sincehmisses the centre, the new piece has empty preimage), the member transport persists (totalTransform_component_memberOf_blowUpPieces_skip), anderaseEmpty_cons_of_eq_topofHironaka/Scheme/BlowUpSequence/EraseEmptyTransport.leandeletes the empty cell of the pulled-back sequence. - The fold
realizeAux_pullback_eraseEmptyisrealizeAux_pullback_of_surjectiveofHironaka/Resolution/Algebraic/Monomial/Geometric/PullbackRun.leanwith the skip case added and the label-free invariantRefinesAlongW(across a skip the family onXgains a label the family onYdoes not);realize_pullback_eraseEmptyis its form for a smoothh.
The result is used for the smooth functoriality of BMO_{n,m} in
Hironaka/Resolution/Algebraic/MarkedOrderReduction/SmoothStep3.lean; the helper
strictTransform_of_eq_top is used in
Hironaka/Resolution/Algebraic/Kol07/Thm36/EraseEmptyIndex.lean.
Centres missing, or meeting, the image of h #
A centre of X with no face of Y over it has empty preimage: every point over a face of
the centre lies on a face of Y mapping onto it (RefinesAlongW.exists_image_eq).
A centre of X with a face of Y over it has nonempty preimage.
Transport across an empty blow-up #
The strict transform under a centre propositionally equal to ⊤ is the pull-back
(strictTransform_top_left).
Along a skip (h misses the centre Z, and Y maps into Bl_Z X through the inverse of
the trivial blow-up of Y) the strict transform of J pulls back to the pull-back of J
(strictTransform_comap_of_flat of Hironaka/Scheme/BlowUpSequence/PullbackInduced.lean).
The closed-set form of comap_strictTransform_skip.
The square of a skip: π_X ∘ (inv π_Y ≫ blowUpMap) = h.
The skip: across an empty blow-up of X the refinement persists. Y's family is
unchanged, X's becomes blowUpPieces; the old pieces' strict transforms pull back to the
pieces (preimage_strictTransformCloseds_skip), the new pieces have empty preimage (they lie
over the centre, which h misses).
Across a skip the member transport persists: the member of a child on Y is the pull-back of
the strict transform of the member of its parent.
Deleting the empty blow-ups commutes with the transport of the base along an equality
(pullback_eqToHom_comp of Hironaka/Scheme/BlowUpSequence/Pullback.lean under eraseEmpty).
The fold #
The second clause of [Kol07, 34.1] along a run: the chain run with skips on a family of Y
refining along a flat h realises the pull-back of the realisation with the empty blow-ups
deleted, by one induction on the run. At a step with a face of Y over the centre, the
argument of realizeAux_pullback_of_surjective (the centre of Y is the pull-back of the centre
of X, the transported families refine again, eraseEmpty_cons_of_ne_top keeps the cell); at a
skip, the pulled-back centre is ⊤, eraseEmpty_cons_of_eq_top deletes the cell and carries the
tail back along the inverse of the trivial blow-up of Y, and the refinement persists along
inv π_Y ≫ blowUpMap (refinesAlongW_skip).
The statement for a smooth morphism #
The second clause of [Kol07, 34.1] for the geometric Step 3: for a smooth h, the geometric
Step 3 on Y is the pull-back of the geometric Step 3 on X with the empty blow-ups deleted.
The run on Y is the chain run with skips of the run on X (step3_chainE on
refines_toState, sub_restrictState and Rel.refl, combining step3_restrict and
step3_refine of Hironaka/Resolution/Algebraic/Monomial/Restrict/) and the chain run realises the
deleted pull-back (realizeAux_pullback_eraseEmpty with Y's structure morphism h ≫ f).