Documentation

SphereEversion.Global.Localisation

Link with the local story #

This file bridges the gap between Chapter 2 and Chapter 3. It builds on SmoothEmbedding.lean but goes all the way to vector spaces (the previous file is about embedding any manifold into another one).

Localizing relations and 1-jet sections #

Now we really bridge the gap all the way to vector spaces.

Convert a 1-jet section between vector spaces seen as manifold to a 1-jet section between those vector spaces.

Equations
  • F.loc = { f := F.bs, f_diff := , φ := fun (x : E) => (F x).snd, φ_diff := }
Instances For

    Turns a relation between E and E' seen as manifolds into a relation between them seen as vector spaces. One annoying bit is equiv.prod_assoc E E' (E →L[ℝ] E') that is needed to reassociate a product of types.

    Equations
    Instances For

      Unlocalizing relations and 1-jet sections #

      Convert a 1-jet section between vector spaces to a 1-jet section between those vector spaces seen as manifolds.

      Equations
      • 𝓕.unloc = { bs := 𝓕.f, ϕ := fun (x : E) => (𝓕 x).2, smooth' := }
      Instances For
        theorem JetSec.unloc_hol_at_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace E'] (𝓕 : JetSec E E') (x : E) :
        Equations
        • 𝓕.unloc = { bs := fun (t : ) => (𝓕 t).f, ϕ := fun (t : ) (x : E) => ((𝓕 t) x).2, smooth' := }
        Instances For
          structure ChartPair {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] (I : ModelWithCorners E H) (M : Type u₃) [TopologicalSpace M] [ChartedSpace H M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] (I' : ModelWithCorners E' H') (M' : Type u₆) [MetricSpace M'] [ChartedSpace H' M'] :
          Type (max (max (max u₁ u₃) u₄) u₆)

          A pair of charts together with a compact subset of the first vector space.

          Instances For
            def FormalSol.localize {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') (F : FormalSol R) (hF : Set.range (F.bs p.φ) Set.range p.ψ) :
            Equations
            Instances For
              theorem FormalSol.isHolonomicLocalize {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') (F : FormalSol R) (hF : Set.range (F.bs p.φ) Set.range p.ψ) (x : E) (hx : F.IsHolonomicAt (p.φ x)) :
              structure ChartPair.compat' {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') (F : FormalSol R) (𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol) :
              Instances For
                def RelLoc.HtpyFormalSol.unloc {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') (𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol) :
                Equations
                Instances For
                  theorem RelLoc.HtpyFormalSol.unloc_congr {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') {𝓕 𝓕' : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} {t t' : } {x : E} (h : (𝓕 t) x = (𝓕' t') x) :
                  ((unloc p 𝓕) t) x = ((unloc p 𝓕') t') x
                  theorem RelLoc.HtpyFormalSol.unloc_congr_const {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} {𝓕' : (RelMfld.localize p.φ p.ψ R).relLoc.FormalSol} {t : } {x : E} (h : (𝓕 t) x = 𝓕' x) :
                  ((unloc p 𝓕) t) x = (↑𝓕').unloc x
                  theorem RelLoc.HtpyFormalSol.unloc_congr' {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') {𝓕 𝓕' : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} {t t' : } (h : 𝓕 t = 𝓕' t') :
                  (unloc p 𝓕) t = (unloc p 𝓕') t'
                  @[simp]
                  theorem FormalSol.transfer_unloc_localize {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') (F : FormalSol R) (hF : Set.range (F.bs p.φ) Set.range p.ψ) (x : E) :
                  p.φ.transfer p.ψ ((↑(localize p F hF)).unloc x) = F (p.φ x)
                  theorem ChartPair.mkHtpy_aux {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') {F : FormalSol R} {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} (h : p.compat' F 𝓕) (t : ) (x : E) (hx : xp.K₁) :
                  F (p.φ x) = (OneJetBundle.embedding p.φ p.ψ) (((RelLoc.HtpyFormalSol.unloc p 𝓕) t) x)
                  def ChartPair.mkHtpy {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] (F : FormalSol R) (𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol) :
                  Equations
                  Instances For
                    theorem ChartPair.mkHtpy_congr {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] (F : FormalSol R) {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} {t t' : } (h : 𝓕 t = 𝓕 t') :
                    (p.mkHtpy F 𝓕) t = (p.mkHtpy F 𝓕) t'
                    theorem ChartPair.mkHtpy_eq_self {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] (F : FormalSol R) (𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol) {t : } {m : M} (hm : ∀ (hF : Set.range (F.bs p.φ) Set.range p.ψ), xp.K₁, m = p.φ x(𝓕 t) x = (FormalSol.localize p F hF) x) :
                    ((p.mkHtpy F 𝓕) t) m = F m
                    theorem ChartPair.mkHtpy_eq_of_not_mem {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] (F : FormalSol R) (𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol) {t : } {m : M} (hm : mp.φ '' p.K₁) :
                    ((p.mkHtpy F 𝓕) t) m = F m
                    theorem ChartPair.mkHtpy_eq_of_eq {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] (F : FormalSol R) (𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol) (h𝓕 : p.compat' F 𝓕) {t : } {x : E} (h : (𝓕 t) x = (FormalSol.localize p F ) x) :
                    ((p.mkHtpy F 𝓕) t) (p.φ x) = F (p.φ x)
                    theorem ChartPair.mkHtpy_eq_of_forall {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] {F : FormalSol R} {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} (h𝓕 : p.compat' F 𝓕) {t : } (h : 𝓕 t = (FormalSol.localize p F )) :
                    (p.mkHtpy F 𝓕) t = F
                    theorem ChartPair.mkHtpy_localize {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] {F : FormalSol R} {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} {t : } {e : E} (h : p.compat' F 𝓕) (rg : Set.range (((p.mkHtpy F 𝓕) t).bs p.φ) Set.range p.ψ) :
                    (((p.mkHtpy F 𝓕) t).localize p.φ p.ψ rg) e = (𝓕 t).unloc e
                    theorem ChartPair.mkHtpy_isHolonomicAt_iff {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] {F : FormalSol R} {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol} (h : p.compat' F 𝓕) {t : } {e : E} :
                    ((p.mkHtpy F 𝓕) t).IsHolonomicAt (p.φ e) (𝓕 t).IsHolonomicAt e
                    theorem ChartPair.dist_update' {E : Type u₁} [NormedAddCommGroup E] [NormedSpace E] {H : Type u₂} [TopologicalSpace H] {I : ModelWithCorners E H} {M : Type u₃} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I (↑) M] {E' : Type u₄} [NormedAddCommGroup E'] [NormedSpace E'] {H' : Type u₅} [TopologicalSpace H'] {I' : ModelWithCorners E' H'} {M' : Type u₆} [MetricSpace M'] [ChartedSpace H' M'] [IsManifold I' (↑) M'] {R : RelMfld I M I' M'} (p : ChartPair I M I' M') [T2Space M] [FiniteDimensional E'] {δ : M} (hδ_pos : ∀ (x : M), 0 < δ x) (hδ_cont : Continuous δ) {F : FormalSol R} (hF : Set.range (F.bs p.φ) Set.range p.ψ) :
                    η > 0, ∀ {𝓕 : (RelMfld.localize p.φ p.ψ R).relLoc.HtpyFormalSol}, p.compat' F 𝓕ep.K₁, tSet.Icc 0 1, (𝓕 t).f e - (↑(FormalSol.localize p F hF)).f e < ηdist (((p.mkHtpy F 𝓕) t).bs (p.φ e)) (F.bs (p.φ e)) < δ (p.φ e)