Documentation

Hironaka.Resolution.Analytic.Principalization.Assembly

The value of the principalization family on a relatively compact open #

Kollรกr's construction of the principalization functor [Kol07, 72] read over a relatively compact open U โ‹ M of the triple (M, ๐“˜, E): choose a relatively compact open W with closure U โІ W (the shrinking chain U โ‹ W โ‹ M), restrict the triple to W โ€” finitely many members of E meet closure W (IsSnc.finite_of_isCompact) โ€” blow up the disjoining centres of [Kol07, 72] (disjoinList), form the disjoined triple on the last stage (disjoinedTriple, in the marked class at mark 1), apply the marked order-reduction family BMO_{n,1} to it and read its value on the reading open over U (liftRange, relatively compact since the composite blow-down is proper), append it to the disjoining list restricted to U (shrinkAppend), and delete the empty rounds (Kollรกr's convention [Kol07, 32]). This module defines that value, principalizationValue, and proves it has no empty centres; that it does not depend on W, and the compatibility clause of the family, are proved in Canonicity.lean; the clauses of [Kol07, Theorem 35] in the Clause*.lean modules of this directory. The value is what the resolution of an analytic space is assembled from (Hironaka/Manifold/Sequence/Resolve/).

The shrinking open W of the chain U โ‹ W โ‹ M #

noncomputable def Hironaka.Manifold.shrinkOpen {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) :

The shrinking open of the chain: a relatively compact open containing closure U (chosen; Mathlib's exists_isOpen_superset_and_isCompact_closure on the locally compact manifold).

Equations
Instances For
    theorem Hironaka.Manifold.closure_subset_shrinkOpen {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) :
    closure โ†‘U โІ โ†‘(shrinkOpen U hU)
    theorem Hironaka.Manifold.isCompact_closure_shrinkOpen {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) :
    IsCompact (closure โ†‘(shrinkOpen U hU))
    theorem Hironaka.Manifold.le_shrinkOpen {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) :

    The restricted triple over W and its disjoining list #

    @[reducible, inline]
    noncomputable abbrev Hironaka.Manifold.restrictTriple {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (W : TopologicalSpace.Opens M.carrier) :
    Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) (M.restrict W)

    The triple restricted to the open W (Kollรกr's "over a relatively compact open").

    Equations
    Instances For
      theorem Hironaka.Manifold.finite_nonempty_restrictTriple {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (W : TopologicalSpace.Opens M.carrier) (hW : IsCompact (closure โ†‘W)) :

      Finitely many members of E meet a relatively compact open (Kollรกr's E_1, โ€ฆ, E_k, [Kol07, 72]; IsSnc.finite_of_isCompact), so the restricted family has finitely many nonempty members.

      noncomputable def Hironaka.Manifold.disjoinBound {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (W : TopologicalSpace.Opens M.carrier) :

      Kollรกr's k: the number of members of E meeting W.

      Equations
      Instances For
        theorem Hironaka.Manifold.meetLocus_disjoinBound_eq_empty {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (W : TopologicalSpace.Opens M.carrier) (hW : IsCompact (closure โ†‘W)) :

        No point of W lies on k + 1 members.

        @[reducible, inline]
        noncomputable abbrev Hironaka.Manifold.disjoinListOn {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (W : TopologicalSpace.Opens M.carrier) (hW : IsCompact (closure โ†‘W)) :

        The disjoining blow-ups of [Kol07, 72] for the triple restricted to W.

        Equations
        Instances For

          The value built from a list and a triple on its last stage #

          noncomputable def Hironaka.Manifold.valueOf {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} (bmo : BMOanFam ๐•œ n 1) {X N : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) X) (T' : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) (L.stage (Fin.last L.length))) (hT' : Manifold.AnalyticTriple.BMOClass 1 T') (ฮน : AnalyticMap N X) (hฮน : IsLocalDiffeomorph (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) โŠค โ‡‘ฮน) (hc : IsCompact (closure (Set.range โ‡‘ฮน))) :

          The value built from a list L on X and a triple T' of the marked class on its last stage, read along a local analytic isomorphism ฮน : N โ†’ X with relatively compact range: the shrink-and-append of L along ฮน with the order-reduction value of T' on the reading open, the empty rounds deleted. The value on U is its instance at the disjoining list and the disjoined triple; the general form is what the independence of the shrinking open compares.

          Equations
          Instances For
            theorem Hironaka.Manifold.valueOf_congr_map {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} (bmo : BMOanFam ๐•œ n 1) {X N : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) X) (T' : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) (L.stage (Fin.last L.length))) (hT' : Manifold.AnalyticTriple.BMOClass 1 T') {ฮน ฮน' : AnalyticMap N X} (e : ฮน = ฮน') (hฮน : IsLocalDiffeomorph (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) โŠค โ‡‘ฮน) (hฮน' : IsLocalDiffeomorph (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) โŠค โ‡‘ฮน') (hc : IsCompact (closure (Set.range โ‡‘ฮน))) (hc' : IsCompact (closure (Set.range โ‡‘ฮน'))) :
            valueOf bmo L T' hT' ฮน hฮน hc = valueOf bmo L T' hT' ฮน' hฮน' hc'

            The value is compatible with an equality of the reading maps.

            theorem Hironaka.Manifold.valueOf_disjoinedTripleOf_congr {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} (bmo : BMOanFam ๐•œ n 1) {X N : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) X) {Lโ‚ Lโ‚‚ : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) X} (e : Lโ‚ = Lโ‚‚) (hโ‚ : Manifold.HypersurfaceFamily.IsSnc (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) (Lโ‚.toSuccession.totalTransformSeqFrom T.F (Fin.last Lโ‚.toSuccession.length))) (hโ‚' : ((Lโ‚.toSuccession.totalTransformSeqFrom T.F (Fin.last Lโ‚.toSuccession.length)).subfamily fun (k : (Lโ‚.toSuccession.totalTransformSeqFrom T.F (Fin.last Lโ‚.toSuccession.length)).ฮน) => k โˆˆ Set.range (Lโ‚.toSuccession.originalIdx T.F (Fin.last Lโ‚.toSuccession.length))).meetLocus 2 = โˆ…) (hโ‚‚ : Manifold.HypersurfaceFamily.IsSnc (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) (Lโ‚‚.toSuccession.totalTransformSeqFrom T.F (Fin.last Lโ‚‚.toSuccession.length))) (hโ‚‚' : ((Lโ‚‚.toSuccession.totalTransformSeqFrom T.F (Fin.last Lโ‚‚.toSuccession.length)).subfamily fun (k : (Lโ‚‚.toSuccession.totalTransformSeqFrom T.F (Fin.last Lโ‚‚.toSuccession.length)).ฮน) => k โˆˆ Set.range (Lโ‚‚.toSuccession.originalIdx T.F (Fin.last Lโ‚‚.toSuccession.length))).meetLocus 2 = โˆ…) (ฮน : AnalyticMap N X) (hฮน : IsLocalDiffeomorph (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) (modelWithCornersSelf ๐•œ (Fin n โ†’ ๐•œ)) โŠค โ‡‘ฮน) (hc : IsCompact (closure (Set.range โ‡‘ฮน))) :
            valueOf bmo Lโ‚ (disjoinedTripleOf T Lโ‚ hโ‚ hโ‚') โ‹ฏ ฮน hฮน hc = valueOf bmo Lโ‚‚ (disjoinedTripleOf T Lโ‚‚ hโ‚‚ hโ‚‚') โ‹ฏ ฮน hฮน hc

            The value built from the disjoined triple is compatible with an equality of lists.

            The value on U #

            noncomputable def Hironaka.Manifold.principalizationValueOn {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (bmo : BMOanFam ๐•œ n 1) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) (W : TopologicalSpace.Opens M.carrier) (hW : IsCompact (closure โ†‘W)) (hUW : closure โ†‘U โІ โ†‘W) :

            The value on U computed with a shrinking open W ([Kol07, 72], per relatively compact open): for any relatively compact open W with closure U โІ W, disjoin over W, apply BMO_{n,1} to the disjoined triple, read it on the reading open over U, append to the disjoining list restricted to U, and delete the empty rounds ([Kol07, 32]). The independence of W is proved with the compatibility clause (Canonicity.lean).

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              noncomputable def Hironaka.Manifold.principalizationValue {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (bmo : BMOanFam ๐•œ n 1) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) :

              The value of the principalization family on U: the value computed with the chosen shrinking open shrinkOpen U hU.

              Equations
              Instances For
                theorem Hironaka.Manifold.noEmptyCenters_principalizationValue {๐•œ : Type} [RCLike ๐•œ] {n : โ„•} {M : AnalyticManifold ๐•œ (Fin n โ†’ ๐•œ)} (bmo : BMOanFam ๐•œ n 1) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl ๐•œ (Fin n โ†’ ๐•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure โ†‘U)) :

                The value has no empty centres (Kollรกr's convention on empty blow-ups, [Kol07, 32]).