The stage index of a sequence after deleting its empty blow-ups #
Kollár's convention on empty blow-ups [Kol07, 32] and the second clause of functoriality under
smooth morphisms [Kol07, 34.1] ("deleting every blow-up h^*π_i whose center is empty", then
reindexing) compare a sequence with the sequence obtained by
deleting its empty blow-ups: the stage m of S with a nonempty centre becomes the stage
eraseIdx S m of S.eraseEmpty, the number of nonempty centres of S before m. The embedded
desingularization loop is transported along a smooth morphism h whose pulled-back run has empty
centres (the centres missing the image of h), and the affine resolution functor truncates at a
first-centre index, so the predicate CenterContains and the
truncation take have to be carried across eraseEmpty:
eraseEmpty_take:S.eraseEmpty.take (eraseIdx S m) = (S.take m).eraseEmpty;centerContains_eraseEmpty_iff: at a stagemwith a nonempty centre, the centre ofS.eraseEmptyateraseIdx S mcontains the strict transform ofcif and only if the centre ofSatmdoes; a deleted (empty) blow-up carries the strict transforms along the trivial blow-up (strictTransform_of_eq_top), an isomorphism, along which the predicate transports (centerContains_pullback_iff_of_isIso);exists_eraseIdx_eq: every stage ofS.eraseEmptyiseraseIdx S mfor a stagemofSwith a nonempty centre;eraseIdx_mono.
Used by Hironaka.Resolution.Algebraic.Kol07.Thm36.FirstCenterEraseEmpty and the transport lemmas
of the embedded desingularization (Hironaka.Resolution.Algebraic.Wlo05.EmbeddedEraseEmpty).
The reindexing of [Kol07, 34.1]: the stage of S.eraseEmpty corresponding to the stage m of
S, namely the number of nonempty centres of S before m.
Equations
- Hironaka.Resolution.eraseIdx (AlgebraicGeometry.Scheme.BlowUpSequence.nil x✝¹) x✝ = 0
- Hironaka.Resolution.eraseIdx (AlgebraicGeometry.Scheme.BlowUpSequence.cons x✝ D rest) 0 = 0
- Hironaka.Resolution.eraseIdx (AlgebraicGeometry.Scheme.BlowUpSequence.cons x✝ D rest) m.succ = (if D = ⊤ then 0 else 1) + Hironaka.Resolution.eraseIdx rest m
Instances For
A deleted (empty) blow-up does not advance the index.
A kept (nonempty) blow-up advances the index by one.
The index is monotone in the stage.
The reindexing on the truncations [Kol07, 34.1]: the erased sequence truncated at the index of
m is the erased truncation at m.
The predicate CenterContains across the deletion of empty blow-ups [Kol07, 34.1]: at a stage
m of S with a nonempty centre, the centre of S.eraseEmpty at eraseIdx S m contains the
strict transform of c if and only if the centre of S at m does. A deleted empty blow-up
carries the strict transform along the trivial blow-up (strictTransform_top_left), an isomorphism
along which the predicate transports (centerContains_pullback_iff_of_isIso).
Every stage of S.eraseEmpty is the index of a stage of S with a nonempty centre.
A stage of S.eraseEmpty below the index of n is the index of a nonempty stage below n.