The realise congruence #
The geometric Step 3 PieceFamily.realize is invariant under a renumbering of the piece family
(PieceFamily.Rel ρ σ Φ Φ' of Hironaka/Resolution/Algebraic/Monomial/Geometric/Congruence.lean):
the same pieces and exponents, the components re-embedded by the strictly monotone ρ, the labels
by the strictly monotone σ. Not in the sources; Kollár's Step 3 reads label tuples
lexicographically and face sums, and puts the new divisor last, so an order-preserving renumbering
cannot change the run. The proof has a combinatorial half and a geometric half.
- Combinatorial half, the lockstep of the two runs (
RunRel). The relationMonomialState.Relis preserved by a blow-up (Rel.blowUpofHironaka/Resolution/Algebraic/Monomial/Restrict/Extend.lean, with the renumbering extended byextendComp/extendLabel), and Kollár's choice is transported (Rel.choice_eq). The runs of Step 3 on two related states therefore proceed in lockstep: at each step the centre of the renumbered state is the image of the centre of the original one under the current renumbering, and the renumbering extends.RunRel ρ σ D P L L' ρ' σ' D' P'records this chain (the pattern ofphase_restrictwith the subnerve equal to the whole nerve);step3_runRelruns it along Step 3, andstep3_relis the summary: an order embeddingρ'extendingρwith(step3 P).2 = (step3 D).2.map (image (image ρ'))andRel ρ' σ'between the final states. - Geometric half, the fold. Along the lockstep the two piece families keep the same pieces
(
PieceEq): the old pieces become their strict transforms under the same centre (the centre of a finset of faces is the vanishing ideal of the union of their face sets,PieceEq.centerOf), the new pieces are the preimages of the same face sets, and the counters, labels and exponents of the families are those of the states (Agrees). The two folds then produce the same blow-up sequence (realizeAux_runRel). The two tails live over the blow-ups at the two centres, which are equal but not syntactically so; the transport along that equality is by thecast*lemmas below, each proved bysubst(nothing about the schemes is used).
Nothing geometric enters: realize is a function of the state and of the pieces as closed sets,
so the congruence holds for piece families on any scheme. It is used in
Hironaka/Resolution/Algebraic/MarkedOrderReduction/SmoothStep3.lean for the deletion of empty
boundary members.
The lockstep of two runs related by a renumbering #
The lockstep of two runs (the pattern of phase_restrict): from the states D, P
related by Rel ρ σ, the lists L (on D) and L' (on P) proceed centre by centre, each
centre of P the image of the centre of D under the current renumbering, the renumbering
extended by extendComp/extendLabel at each blow-up, ending at the states D', P' with the
renumbering ρ', σ'.
- nil (ρ σ : ℕ → ℕ) (D P : MonomialState) : RunRel ρ σ D P [] [] ρ σ D P
- cons {ρ σ : ℕ → ℕ} {D P : MonomialState} (h : Rel ρ σ D P) (S : Finset (Finset ℕ)) (hSD : S ⊆ D.nerve) (hS0 : ∀ Q ∈ S, Q.Nonempty) {L L' : List (Finset (Finset ℕ))} {ρ' σ' : ℕ → ℕ} {D' P' : MonomialState} (hL : RunRel (extendComp ρ D P S (Finset.image (Finset.image ρ) S)) (extendLabel σ D P) (D.blowUp S) (P.blowUp (Finset.image (Finset.image ρ) S)) L L' ρ' σ' D' P') : RunRel ρ σ D P (S :: L) (Finset.image (Finset.image ρ) S :: L') ρ' σ' D' P'
Instances For
RunRel.cons with the image centre given up to an equation.
The lockstep composes.
The faces of the image centre lie in the nerve of the renumbered state.
The images of nonempty faces are nonempty.
The final label renumbering agrees with the initial one on the initial labels.
The renumbered run is the image of the run under the final renumbering (which agrees with every intermediate one on the components then present).
The lockstep along a phase and along Step 3 #
A phase of Step 3 on two states related by a renumbering proceeds in lockstep
(phase_restrict with the subnerve the whole nerve).
The phases r, …, r + k − 1 in lockstep.
The run on a renumbered state is the image of the run, under a renumbering ρ' extending
ρ (and σ' extending σ), with the final states again related.
Families following states #
The counters, labels and exponents of a piece family are those of a state (with the mark
m): the invariant that lets the state-level renumbering drive the geometric fold.
The component counter.
The label counter.
The labels.
The exponents.
The mark.
Instances For
A family agrees with its own state.
The agreement passes through a blow-up: blowUpPieces and MonomialState.blowUp use the
same formulas for the counters, labels and exponents.
Families with the same pieces along a renumbering #
The pieces of Φ' at the renumbered indices are the pieces of Φ.
Equations
Instances For
The face set of the image of a set of live components is the face set of the set.
The face ideal of the image of a live face is the face ideal of the face.
The centre of the image of a finset of live faces is the centre of the finset.
Transport along an equality of centres #
A piece family on the blow-up at Z, read on the blow-up at Z' = Z.
Equations
- Hironaka.Monomial.PieceFamily.castFamily hZ Ψ = hZ ▸ Ψ
Instances For
A closed set of the blow-up at Z, read on the blow-up at Z' = Z.
Equations
- Hironaka.Monomial.PieceFamily.castCloseds hZ C = hZ ▸ C
Instances For
A blow-up sequence of the blow-up at Z, read on the blow-up at Z' = Z.
Equations
- Hironaka.Monomial.PieceFamily.castSeq hZ T = hZ ▸ T
Instances For
The transported family agrees with the same state.
The piece correspondence passes through a blow-up #
Along the lockstep, the two transported families keep the same pieces: the old pieces are
the strict transforms of the same pieces under the same centre, the new pieces the preimages of
the same face sets, at the indices matched by extendComp.
The fold #
Along the lockstep, the two folds produce the same blow-up sequence, by one induction on
RunRel: the centres agree (PieceEq.centerOf), the transported families keep the same pieces
(PieceEq.blowUpPieces) and follow the blown-up states (Agrees.blowUpPieces), and the tails
are identified through the equality of the centres.
The geometric Step 3 is invariant under a renumbering of the piece family. The states are
related by MonomialState.Rel, Step 3 runs in lockstep (step3_runRel), and the fold follows
(realizeAux_runRel).