Documentation

Hironaka.Resolution.Algebraic.Kol07.Thm35.Disjoin.TriplePullback

The disjoined triple commutes with smooth pullback and base change #

The functoriality of the principalization functor, clauses (4) and (5) of [Kol07, Theorem 35], "follow[s] from the corresponding functoriality properties in (69) and from (71.2)" [Kol07, 72]; for this the disjoined triple Hironaka.disjoinedTriple T = (X', π^* I, ∑ E^i) must carry the pullback data of disjoinedTriple T' along the lift of a smooth g : X' ⟶ X ([Kol07, 34.1]) and the base-change data along the lift of the projection X_{L,σ} ⟶ X ([Kol07, 34.2]). disjoin_functorial (Hironaka/Resolution/Algebraic/Kol07/Thm35/Disjoin/Functorial.lean) gives disjoinSeq (E.comap g) = (disjoinSeq E).pullback g, an equality of sequences, so the last stages agree only up to an eqToHom, and pullbackLastHom (Hironaka/Scheme/BlowUpSequence/ConcatPullback.lean) is the lift of g to the last stages. This module assembles the two into

The one non-formal point is the ordered family ∑ E^i (collapsedFamily): it is the total transform at the end of the disjoining sequence with the birational transforms of the original members collapsed into E^0 (DivisorFamily.collapse), and collapsing commutes with inverse images, componentwise, the collapsed member being a product (collapse_comap, comap_finset_prod), while the total transform and the marking of the original members commute with flat pullback by totalTransformSeq_pullback and the transport of originalIdx, in the recursive form of subfamily_originalIdx_pullback (collapse_originalIdx_pullback). The collapse is defined at the end of an arbitrary sequence S, so that the eqToHom of disjoin_functorial can be absorbed along an equality of sequences (collapsedFamily_congr). The decidability instance of the collapsed predicate is carried explicitly through the recursion (collapse_congr_inst: the collapse does not depend on it), since the constructive instance found for · ∈ Set.range f on a finite type and the classical one are not definitionally equal.

One general fact about sequences is placed here beside its use: Triple.IsBaseChangeOf.isPullback_pullbackLastHom, the last-stage lift of a base change is again a base change (the stage square Triple.IsBaseChangeOf.isPullback_pullbackStageHom at the last index across the identification pullbackStageIdx_last). This module is the first that imports pullbackStageIdx_last (EraseEmptyInduced.lean), pullbackLastHom (ConcatPullback.lean) and isPullback_pullbackStageHom (BaseChange.lean) together.

Collapsing commutes with inverse images #

The collapse does not depend on the decidability instance of the collapsed predicate.

theorem Hironaka.Sequence.collapse_comap {X Y : AlgebraicGeometry.Scheme} (F : X.DivisorFamily) (p : F.ι → Prop) [hp : DecidablePred p] (φ : Y ⟶ X) :
(F.collapse p).comap φ = (F.comap φ).collapse p

Collapsing a set of members commutes with the inverse image along any morphism: the collapsed member is a product, and inverse images of ideal sheaves are multiplicative (comap_finset_prod); the other members are unchanged. (The index type of F.comap φ is that of F only by unfolding, so the decidability instance is passed by hand.)

theorem Hironaka.Sequence.collapse_totalTransformSeq_eq_idx {X : AlgebraicGeometry.Scheme} (S : X.BlowUpSequence) (E : X.DivisorFamily) {i j : Fin (S.length + 1)} (e : i = j) (P : (i : Fin (S.length + 1)) → (S.totalTransformSeq E i).ι → Prop) (iP : (i : Fin (S.length + 1)) → DecidablePred (P i)) :

Transport of a collapse of the total transform along an equality of stage indices: the eqToHom of the stage identification is absorbed (the analogue for collapse of subfamily_totalTransformSeq_eq_idx).

theorem Hironaka.Sequence.collapse_originalIdx_congr {X : AlgebraicGeometry.Scheme} (S : X.BlowUpSequence) (F₁ F₂ : X.DivisorFamily) (e : F₁ = F₂) (i : Fin (S.length + 1)) {T : Type u} (x₁ : T → F₁.ι) (x₂ : T → F₂.ι) (hx : x₁ ≍ x₂) (i₁ : DecidablePred fun (b : (S.totalTransformSeq F₁ i).ι) => b ∈ Set.range fun (t : T) => S.originalIdx F₁ i (x₁ t)) (i₂ : DecidablePred fun (b : (S.totalTransformSeq F₂ i).ι) => b ∈ Set.range fun (t : T) => S.originalIdx F₂ i (x₂ t)) :
((S.totalTransformSeq F₁ i).collapse fun (b : (S.totalTransformSeq F₁ i).ι) => b ∈ Set.range fun (t : T) => S.originalIdx F₁ i (x₁ t)) = (S.totalTransformSeq F₂ i).collapse fun (b : (S.totalTransformSeq F₂ i).ι) => b ∈ Set.range fun (t : T) => S.originalIdx F₂ i (x₂ t)

Congruence of the collapse of the total transform along the marked original members, along an equality of the starting families (the analogue for collapse of subfamily_originalIdx_congr).

theorem Hironaka.Sequence.collapse_originalIdx_pullback {X : AlgebraicGeometry.Scheme} (S : X.BlowUpSequence) {Y : AlgebraicGeometry.Scheme} (g : Y ⟶ X) [AlgebraicGeometry.Flat g] (E : X.DivisorFamily) (j : ℕ) (hj : j < S.length + 1) {T : Type u} (x : T → E.ι) (i₁ : DecidablePred fun (b : ((S.pullback g).totalTransformSeq (E.comap g) (S.pullbackStageIdx g ⟨j, hj⟩)).ι) => b ∈ Set.range fun (t : T) => (S.pullback g).originalIdx (E.comap g) (S.pullbackStageIdx g ⟨j, hj⟩) (x t)) (i₂ : DecidablePred fun (b : (S.totalTransformSeq E ⟨j, hj⟩).ι) => b ∈ Set.range fun (t : T) => S.originalIdx E ⟨j, hj⟩ (x t)) :
(((S.pullback g).totalTransformSeq (E.comap g) (S.pullbackStageIdx g ⟨j, hj⟩)).collapse fun (b : ((S.pullback g).totalTransformSeq (E.comap g) (S.pullbackStageIdx g ⟨j, hj⟩)).ι) => b ∈ Set.range fun (t : T) => (S.pullback g).originalIdx (E.comap g) (S.pullbackStageIdx g ⟨j, hj⟩) (x t)) = ((S.totalTransformSeq E ⟨j, hj⟩).collapse fun (b : (S.totalTransformSeq E ⟨j, hj⟩).ι) => b ∈ Set.range fun (t : T) => S.originalIdx E ⟨j, hj⟩ (x t)).comap (S.pullbackStageHom g ⟨j, hj⟩)

Along a flat g, the total transform at stage ⟨j, hj⟩ with the birational transforms of the marked original members x t collapsed pulls back to the corresponding collapse of the pulled-back sequence (totalTransformSeq_pullback, subfamily_originalIdx_pullback): by recursion on the sequence, the marked members carried through the first blow-up as toLex (Sum.inl (x t)); at the base the collapse commutes with the inverse image (collapse_comap).

The collapsed family at the end of a sequence #

The collapsed family along an equality of sequences: the eqToHom of the last stages is absorbed.

The collapsed family of the pulled-back sequence is the inverse image of the collapsed family along the last-stage lift (collapse_originalIdx_pullback at the last index, across pullbackStageIdx_last).

A general fact about sequences #

The last-stage lift of the projection of a base change is again a base change ([Kol07, 34.2] at the last stage): the stage square isPullback_pullbackStageHom at the last index across the identification pullbackStageIdx_last.

The lift to the disjoined triples #

The lift of g : T'.X.left ⟶ T.X.left to the disjoined triples (over possibly different base fields), across the identification e of the disjoining sequence of T'.E with the pullback of that of T.E (disjoin_functorial) and the last-stage lift pullbackLastHom.

Equations
Instances For

    The disjoining sequence of the pullback data is the pullback of the disjoining sequence (disjoinSeq_comap_of_flat read through IsPullbackOf).

    The disjoining sequence of the base-change data is the pullback of the disjoining sequence (disjoinSeq_comap_of_flat, the projection being flat).

    If T' carries the pullback data of T along a flat g, the disjoined triple of T' carries the pullback data of the disjoined triple of T along the lift disjoinedMap ([Kol07, 72 and 34.1]): the structure morphism and the ideal by pullbackLastHom_comp_composite, the ordered family by collapsedFamily_pullback.

    If T' carries the base-change data of T along σ through p, the disjoined triple of T' carries the base-change data of the disjoined triple of T through the lift disjoinedMap ([Kol07, 72 and 34.2]): the cartesian square by IsBaseChangeOf.isPullback_pullbackLastHom pasted on the eqToHom, the ideal and the ordered family as for the pullback data.