Documentation

Orbifolds.Diffeology.Basic

@[reducible, inline]
abbrev Eucl (n : ) :
Equations
Instances For
    class DiffeologicalSpace (X : Type u_1) :
    Type u_1

    A diffeology on X, given by the smooth functions (or "plots") from ℝⁿ to X.

    Instances

      D-topology of a diffeological space. This is a definition rather than an instance because the D-topology might not agree with already registered topologies like the one on normed spaces.

      Equations
      Instances For
        def IsPlot {X : Type u_1} [DiffeologicalSpace X] {n : } (p : Eucl nX) :
        Equations
        Instances For
          def DSmooth {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] (f : XY) :

          A function between diffeological spaces is smooth iff composition with it preserves smoothness of plots.

          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem DiffeologicalSpace.ext {X : Type u_1} {d₁ d₂ : DiffeologicalSpace X} (h : @IsPlot X d₁ = @IsPlot X d₂) :
                  d₁ = d₂
                  theorem DiffeologicalSpace.ext_iff {X : Type u_1} {d₁ d₂ : DiffeologicalSpace X} :
                  d₁ = d₂ @IsPlot X d₁ = @IsPlot X d₂
                  theorem isPlot_const {X : Type u_1} [DiffeologicalSpace X] {n : } {x : X} :
                  IsPlot fun (x_1 : Eucl n) => x
                  theorem isPlot_reparam {X : Type u_1} [DiffeologicalSpace X] {n m : } {p : Eucl mX} {f : Eucl nEucl m} (hp : IsPlot p) (hf : ContDiff (↑) f) :
                  IsPlot (p f)
                  theorem isOpen_iff_preimages_plots {X : Type u_1} [DiffeologicalSpace X] {u : Set X} :
                  IsOpen u ∀ (n : ) (p : Eucl nX), IsPlot pIsOpen (p ⁻¹' u)
                  theorem IsPlot.continuous {X : Type u_1} [DiffeologicalSpace X] {n : } {p : Eucl nX} (hp : IsPlot p) :
                  theorem DSmooth.continuous {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {f : XY} (hf : DSmooth f) :
                  theorem dsmooth_iff {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {f : XY} :
                  DSmooth f ∀ (n : ) (p : Eucl nX), IsPlot pIsPlot (f p)
                  theorem dsmooth_id' {X : Type u_1} [DiffeologicalSpace X] :
                  DSmooth fun (x : X) => x
                  theorem DSmooth.comp {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] {f : XY} {g : YZ} (hg : DSmooth g) (hf : DSmooth f) :
                  DSmooth (g f)
                  theorem DSmooth.comp' {X : Type u_1} {Y : Type u_2} {Z : Type u_3} [DiffeologicalSpace X] [DiffeologicalSpace Y] [DiffeologicalSpace Z] {f : XY} {g : YZ} (hg : DSmooth g) (hf : DSmooth f) :
                  DSmooth fun (x : X) => g (f x)
                  theorem dsmooth_const {X : Type u_1} {Y : Type u_2} [DiffeologicalSpace X] [DiffeologicalSpace Y] {y : Y} :
                  DSmooth fun (x : X) => y

                  Replaces the D-topology of a diffeology with another topology equal to it. Useful to construct diffeologies with better definitional equalities.

                  Equations
                  Instances For
                    structure DiffeologicalSpace.CorePlotsOn (X : Type u_4) :
                    Type u_4

                    A structure with plots specified on open subsets of ℝⁿ rather than ℝⁿ itself. Useful for constructing diffeologies, as it often makes the locality condition easiert to prove.

                    Instances For

                      Constructs a diffeology from plots defined on open subsets or ℝⁿ rather than ℝⁿ itself, organised in the form of the auxiliary CorePlotsOn structure. This is more involved in most regards, but also often makes it quite a lot easier to prove the locality condition.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Diffeology on a finite-dimensional normed space. We make this a definition instead of an instance because we also want to have product diffeologies as an instance, and having both would cause instance diamonds on spaces like Fin n → ℝ.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          Technical condition saying that the diffeology on a space is the one coming from smoothness in the sense of ContDiff ℝ ∞. Necessary as a hypothesis for some theorems because some normed spaces carry a diffeology that is equal but not defeq to the normed space diffeology (for example the product diffeology in the case of Fin n → ℝ), so the information that these theorems still holds needs to be made available via this typeclass.

                          Instances

                            Technical condition saying that the topology on a type agrees with the D-topology. Necessary because the D-topologies on for example products and subspaces don't agree with the product and subspace topologies.

                            Instances

                              A smooth function between spaces that are equipped with the D-topology is continuous.

                              theorem IsPlot.dsmooth {X : Type u_1} [DiffeologicalSpace X] {n : } {p : Eucl nX} (hp : IsPlot p) :
                              theorem DSmooth.isPlot {X : Type u_1} [DiffeologicalSpace X] {n : } {p : Eucl nX} (hp : DSmooth p) :
                              theorem isPlot_iff_dsmooth {X : Type u_1} [DiffeologicalSpace X] {n : } {p : Eucl nX} :
                              def DiffeologicalSpace.toPlots {X : Type u_4} :
                              DiffeologicalSpace XSet ((n : ) × (Eucl nX))

                              The plots belonging to a diffeology, as a subset of (n : ℕ) × (Eucl n → X).

                              Equations
                              Instances For
                                def DiffeologicalSpace.generatePlots {X : Type u_4} (g : Set ((n : ) × (Eucl nX))) :
                                Set ((n : ) × (Eucl nX))

                                The plots belonging to the diffeology generated by g.

                                Equations
                                Instances For
                                  def DiffeologicalSpace.generateFrom {X : Type u_4} (g : Set ((n : ) × (Eucl nX))) :

                                  The diffeology generated by a set g of plots.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    theorem DiffeologicalSpace.isPlot_generateFrom_of_mem {X : Type u_4} {g : Set ((n : ) × (Eucl nX))} {n : } {p : Eucl nX} (hp : n, p g) :
                                    theorem DiffeologicalSpace.le_def {X : Type u_4} {d₁ d₂ : DiffeologicalSpace X} :
                                    d₁ d₂ d₁.toPlots d₂.toPlots
                                    theorem DiffeologicalSpace.le_iff {X : Type u_4} {d₁ d₂ : DiffeologicalSpace X} :
                                    d₁ d₂ ∀ (n : ), plots n plots n
                                    theorem DiffeologicalSpace.le_iff' {X : Type u_4} {d₁ d₂ : DiffeologicalSpace X} :
                                    d₁ d₂ ∀ (n : ) (p : Eucl nX), IsPlot pIsPlot p
                                    theorem DiffeologicalSpace.generateFrom_le_iff {X : Type u_4} {g : Set ((n : ) × (Eucl nX))} {d : DiffeologicalSpace X} :
                                    generateFrom g d ∀ (n : ) (p : Eucl nX), n, p gIsPlot p

                                    Version of generateFrom_le_iff_subset_toPlots that is stated in terms of IsPlot instead of toPlots.

                                    def DiffeologicalSpace.mkOfClosure {X : Type u_4} (g : Set ((n : ) × (Eucl nX))) (hg : (generateFrom g).toPlots = g) :

                                    The diffeology defined by g. Same as generateFrom g, except that its set of plots is definitionally equal to g.

                                    Equations
                                    Instances For

                                      The Galois insertion between DiffeologicalSpace α and Set ((n : ℕ) × (Eucl n → X)) whose lower part sends a collection of plots in X to the diffeology they generate, and whose upper part sends a diffeology to its collection of plots.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        theorem DiffeologicalSpace.generateFrom_mono {X : Type u_4} {g₁ g₂ : Set ((n : ) × (Eucl nX))} (h : g₁ g₂) :
                                        theorem DiffeologicalSpace.generateFrom_union {X : Type u_4} (g₁ g₂ : Set ((n : ) × (Eucl nX))) :
                                        generateFrom (g₁ g₂) = generateFrom g₁generateFrom g₂
                                        theorem DiffeologicalSpace.generateFrom_iUnion {X : Type u_4} {ι : Type u_5} {g : ιSet ((n : ) × (Eucl nX))} :
                                        generateFrom (⋃ (i : ι), g i) = ⨆ (i : ι), generateFrom (g i)
                                        theorem DiffeologicalSpace.generateFrom_sUnion {X : Type u_4} {G : Set (Set ((n : ) × (Eucl nX)))} :
                                        generateFrom (⋃₀ G) = sG, generateFrom s
                                        theorem DiffeologicalSpace.toPlots_inf {X : Type u_4} (d₁ d₂ : DiffeologicalSpace X) :
                                        (d₁d₂).toPlots = d₁.toPlots d₂.toPlots
                                        theorem DiffeologicalSpace.toPlots_iInf {X : Type u_4} {ι : Type u_5} {D : ιDiffeologicalSpace X} :
                                        (⨅ (i : ι), D i).toPlots = ⋂ (i : ι), (D i).toPlots
                                        theorem DiffeologicalSpace.toPlots_sInf {X : Type u_4} {D : Set (DiffeologicalSpace X)} :
                                        (sInf D).toPlots = dD, d.toPlots
                                        theorem DiffeologicalSpace.generateFrom_iUnion_toPlots {X : Type u_4} {ι : Type u_5} (D : ιDiffeologicalSpace X) :
                                        generateFrom (⋃ (i : ι), (D i).toPlots) = ⨆ (i : ι), D i
                                        theorem DiffeologicalSpace.generateFrom_iInter_toPlots {X : Type u_4} {ι : Type u_5} (D : ιDiffeologicalSpace X) :
                                        generateFrom (⋂ (i : ι), (D i).toPlots) = ⨅ (i : ι), D i
                                        theorem DiffeologicalSpace.generateFrom_iInter_of_generateFrom_eq_self {X : Type u_4} {ι : Type u_5} (G : ιSet ((n : ) × (Eucl nX))) (hG : ∀ (i : ι), (generateFrom (G i)).toPlots = G i) :
                                        generateFrom (⋂ (i : ι), G i) = ⨅ (i : ι), generateFrom (G i)
                                        theorem DiffeologicalSpace.isPlot_inf_iff {X : Type u_4} {d₁ d₂ : DiffeologicalSpace X} {n : } {p : Eucl nX} :
                                        theorem DiffeologicalSpace.isPlot_iInf_iff {X : Type u_4} {ι : Type u_5} {D : ιDiffeologicalSpace X} {n : } {p : Eucl nX} :
                                        IsPlot p ∀ (i : ι), IsPlot p
                                        theorem DiffeologicalSpace.isPlot_sInf_iff {X : Type u_4} {D : Set (DiffeologicalSpace X)} {n : } {p : Eucl nX} :
                                        IsPlot p dD, IsPlot p
                                        theorem DiffeologicalSpace.isPlot_generateFrom_iff {X : Type u_4} (g : Set ((n : ) × (Eucl nX))) {n : } {p : Eucl nX} :
                                        IsPlot p (∃ (y : X), p = fun (x : Eucl n) => y) ∀ (x : Eucl n), p'g, ∃ (f : Eucl nEucl p'.fst), (∃ unhds x, ContDiffOn (↑) f u) p =ᶠ[nhds x] p'.snd f

                                        A map is a plot in the diffeology generated g iff it is constant or locally a reparametrisation of maps in g.