Deleting unit members of the boundary: the exceptional family and the positions #
A member of the boundary equal to the unit ideal is invisible: the empty blow-up convention
[Kol07, 32] and the reindexing in the second clause of [Kol07, 34.1]. IsTopErasure E' E e
(Hironaka/Resolution/Algebraic/Kol07/EraseEmptyEmbedding.lean) names the relation "E' is E
with unit members deleted along the order embedding e". This module proves what the
boundary-clearing rounds of the proof of Theorem 103 [Kol07, 104, Steps 2.1 and 2.2] (one round per
member of the boundary, then the restriction to the hypersurface with the exceptional sub-family
F_r) need about it:
strictTransformSeq_top: the strict transform of the unit ideal along any sequence is the unit ideal (strictTransform_top_rightiterated), so a deleted member's transform is⊤at every stage;exists_isTopErasure_totalTransformSeq_exceptional: the deletion induced at the end of a sequence (exists_isTopErasure_totalTransformSeq) sends the exceptional indices, those not of the formoriginalIdx, onto the exceptional indices; henceexists_orderEmbedding_exceptionalFamily: the exceptional sub-families of the two boundaries are the same family up to a surjective order embedding matching the members;card_subtype_lt_eq_symm_monoEquivOfFin: in a finite linear order the number of elements belowxis the position ofxin the enumerationmonoEquivOfFin, used to count the surviving positions below a given one;eraseEmpty_cons_nil_eq_nil,concat_eq_of_eq_nil: a one-step sequence with an empty center erases to the empty sequence; concatenating the empty sequence changes nothing.
The unit ideal along a sequence, the empty center, the empty tail #
The strict transform of the unit ideal along a blow-up sequence is the unit ideal at every
stage (strictTransform_top_right iterated).
A one-step sequence whose center is the unit ideal (the empty blow-up) erases to the empty sequence [Kol07, 32].
Concatenating the empty sequence does not change a sequence (the empty sequence is a right
unit for concat).
Concatenating a tail equal to the empty sequence does not change a sequence (the form used when the tail is a functor's value).
Counting positions in a finite linear order #
In a finite linear order the number of elements strictly below x is the position of x in
the enumeration monoEquivOfFin; this is how the reindexing of [Kol07, 34.1] is counted.
The number of elements at most x is the position of x plus one.
The deletion at the end of a sequence sends exceptional indices onto exceptional indices #
A deletion of unit members of the starting family induces a deletion between the families at
the end of any sequence which carries the transforms of the original members to the transforms of
the original members, hits every index that is not the transform of an original member, and sends
an index onto the transform of an original member only if it is one
(exists_isTopErasure_totalTransformSeq with the exceptional indices tracked).
Deleting unit members of the starting family does not change the exceptional sub-family at the end of a sequence: the two exceptional sub-families are matched by a surjective order embedding with equal members [Kol07, 32 and 34.1].