Documentation

LeanPool.DirectedTopologyLean4.Constructions

LeanPool.DirectedTopologyLean4.Constructions #

@[reducible]

Any space with a preorder can be equiped with a directedness, by allowing all monotone paths as directed paths

Equations
  • DirectedSpace.Preorder α = { toTopologicalSpace := inst✝¹, IsDipath := fun {x y : α} (γ : Path x y) => Monotone γ, isDipath_constant := , isDipath_concat := , isDipath_reparam := }
Instances For
    @[reducible]
    def DirectedSpace.Induced {α : Type u} {β : Type v} [TopologicalSpace α] [ : DirectedSpace β] {f : αβ} (hf : Continuous f) :

    A continuous map f : αβ with α an (undirected) topological space and β a directed topological space creates a directed structure on α by pulling back paths.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implicit_reducible]
      instance DirectedSubspace {α : Type u} {p : αProp} [DirectedSpace α] :
      Equations
      theorem directed_induced {α : Type u} {β : Type v} [TopologicalSpace α] [ : DirectedSpace β] (f : C(α, β)) :
      def DirectedSubtypeInclusion {α : Type u} (p : αProp) [DirectedSpace α] :

      The inclusion of a subtype with the induced directed structure into the ambient space is a directed map.

      Equations
      Instances For
        def DirectedSubsetInclusion {α : Type u} [t : DirectedSpace α] {X Y : Set α} (h : X Y) :
        D(X,Y)

        The inclusion of one subset into another, when both carry the induced directed structure, is a directed map.

        Equations
        Instances For
          @[implicit_reducible]
          instance DirectedProduct {α : Type u} {β : Type v} [t₁ : DirectedSpace α] [t₂ : DirectedSpace β] :
          Equations
          • One or more equations did not get rendered due to their size.
          def directedFst {α : Type u_1} {β : Type u_2} [DirectedSpace α] [DirectedSpace β] :
          D(α × β,α)

          The projection map α × βα

          Equations
          • directedFst = { toFun := fun (x : α × β) => x.1, continuous_toFun := , directed_toFun := }
          Instances For
            def directedSnd {α : Type u_1} {β : Type u_2} [DirectedSpace α] [DirectedSpace β] :
            D(α × β,β)

            The projection map α × ββ

            Equations
            • directedSnd = { toFun := fun (x : α × β) => x.2, continuous_toFun := , directed_toFun := }
            Instances For
              def DirectedMap.prodMapMk {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DirectedSpace α] [DirectedSpace β] [DirectedSpace γ] (f : D(α,β)) (g : D(α,γ)) :
              D(α,β × γ)

              Two directed maps f : αβ and g : α → γ can be turned into a directed map αβ × γ by mapping a : α to (f a, g a).

              Equations
              • f.prodMapMk g = { toFun := fun (x : α) => (f x, g x), continuous_toFun := , directed_toFun := }
              Instances For
                def DirectedMap.prodMapMk' {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} [DirectedSpace α] [DirectedSpace β] [DirectedSpace γ] [DirectedSpace δ] (f : D(α,γ)) (g : D(β,δ)) :
                D(α × β,γ × δ)

                Two directed maps f : α → γ and g : βδ can be turned into a directed map α × ββ × γ by mapping (a, b) : α × β to (f a, g b).

                Equations
                • f.prodMapMk' g = { toFun := fun (x : α × β) => (f x.1, g x.2), continuous_toFun := , directed_toFun := }
                Instances For
                  def DirectedMap.prodConstFst {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DirectedSpace α] [DirectedSpace β] [DirectedSpace γ] (F : D(α × β,γ)) (a : α) :
                  D(β,γ)

                  For every t : α, we can convert a directed map F : α × β → γ to a directed map β → γ by sending b to F(t, b)

                  Equations
                  Instances For
                    @[simp]
                    theorem DirectedMap.prod_const_fst_apply {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DirectedSpace α] [DirectedSpace β] [DirectedSpace γ] (F : D(α × β,γ)) (a : α) (b : β) :
                    (F.prodConstFst a) b = F (a, b)
                    def DirectedMap.prodConstSnd {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DirectedSpace α] [DirectedSpace β] [DirectedSpace γ] (F : D(α × β,γ)) (t : β) :
                    D(α,γ)

                    For every t : β, we can convert a directed map F : α × β → γ to a directed map α → γ by sending a to F(a, t)

                    Equations
                    Instances For
                      @[simp]
                      theorem DirectedMap.prod_const_snd_apply {α : Type u_1} {β : Type u_2} {γ : Type u_3} [DirectedSpace α] [DirectedSpace β] [DirectedSpace γ] (F : D(α × β,γ)) (b : β) (a : α) :
                      (F.prodConstSnd b) a = F (a, b)