Documentation

Mathlib.Topology.CompactOpen

The compact-open topology #

In this file, we define the compact-open topology on the set of continuous maps between two topological spaces.

Main definitions #

Tags #

compact-open, curry, function space

def ContinuousMap.CompactOpen.gen {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (s : Set α) (u : Set β) :
Set C(α, β)

A generating set for the compact-open topology (when s is compact and u is open).

Equations
Instances For
    @[simp]
    theorem ContinuousMap.gen_empty {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (u : Set β) :
    @[simp]
    theorem ContinuousMap.gen_univ {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (s : Set α) :
    ContinuousMap.CompactOpen.gen s Set.univ = Set.univ
    Equations
    theorem ContinuousMap.compactOpen_eq {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] :
    ContinuousMap.compactOpen = TopologicalSpace.generateFrom (Set.image2 ContinuousMap.CompactOpen.gen {s | IsCompact s} {t | IsOpen t})

    Definition of ContinuousMap.compactOpen in terms of Set.image2.

    theorem ContinuousMap.isOpen_gen {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
    theorem ContinuousMap.continuous_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (g : C(β, γ)) :

    C(α, -) is a functor.

    theorem ContinuousMap.inducing_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (g : C(β, γ)) (hg : Inducing g) :

    If g : C(β, γ) is a topology inducing map, then the composition ContinuousMap.comp g : C(α, β) → C(α, γ) is a topology inducing map too.

    theorem ContinuousMap.embedding_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (g : C(β, γ)) (hg : Embedding g) :

    If g : C(β, γ) is a topological embedding, then the composition ContinuousMap.comp g : C(α, β) → C(α, γ) is an embedding too.

    theorem ContinuousMap.continuous_comp_left {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (f : C(α, β)) :

    C(-, γ) is a functor.

    theorem ContinuousMap.continuous_comp' {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace β] :
    Continuous fun x => ContinuousMap.comp x.snd x.fst

    Composition is a continuous map from C(α, β) × C(β, γ) to C(α, γ), provided that β is locally compact. This is Prop. 9 of Chap. X, §3, №. 4 of Bourbaki's Topologie Générale.

    theorem ContinuousMap.continuous.comp' {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] {X : Type u_4} [TopologicalSpace X] [LocallyCompactSpace β] {f : XC(α, β)} {g : XC(β, γ)} (hf : Continuous f) (hg : Continuous g) :
    Continuous fun x => ContinuousMap.comp (g x) (f x)
    theorem ContinuousMap.continuous_eval' {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [LocallyCompactSpace α] :
    Continuous fun p => p.fst p.snd

    The evaluation map C(α, β) × α → β is continuous if α is locally compact.

    See also ContinuousMap.continuous_eval

    theorem ContinuousMap.continuous_eval_const {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (a : α) :
    Continuous fun f => f a

    Evaluation of a continuous map f at a point a is continuous in f.

    Porting note: merged continuous_eval_const with continuous_eval_const' removing unneeded assumptions.

    theorem ContinuousMap.continuous_coe {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] :
    Continuous FunLike.coe

    Coercion from C(α, β) with compact-open topology to α → β with pointwise convergence topology is a continuous map.

    Porting note: merged continuous_coe with continuous_coe' removing unneeded assumptions.

    theorem ContinuousMap.compactOpen_le_induced {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] (s : Set α) :
    ContinuousMap.compactOpen TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen
    theorem ContinuousMap.compactOpen_eq_sInf_induced {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] :
    ContinuousMap.compactOpen = ⨅ (s : Set α) (_ : IsCompact s), TopologicalSpace.induced (ContinuousMap.restrict s) ContinuousMap.compactOpen

    The compact-open topology on C(α, β) is equal to the infimum of the compact-open topologies on C(s, β) for s a compact subset of α. The key point of the proof is that the union of the compact subsets of α is equal to the union of compact subsets of the compact subsets of α.

    For any subset s of α, the restriction of continuous functions to s is continuous as a function from C(α, β) to C(s, β) with their respective compact-open topologies.

    theorem ContinuousMap.tendsto_compactOpen_restrict {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {ι : Type u_4} {l : Filter ι} {F : ιC(α, β)} {f : C(α, β)} (hFf : Filter.Tendsto F l (nhds f)) (s : Set α) :
    theorem ContinuousMap.tendsto_compactOpen_iff_forall {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {ι : Type u_4} {l : Filter ι} (F : ιC(α, β)) (f : C(α, β)) :
    Filter.Tendsto F l (nhds f) ∀ (s : Set α), IsCompact sFilter.Tendsto (fun i => ContinuousMap.restrict s (F i)) l (nhds (ContinuousMap.restrict s f))
    theorem ContinuousMap.exists_tendsto_compactOpen_iff_forall {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [WeaklyLocallyCompactSpace α] [T2Space β] {ι : Type u_4} {l : Filter ι} [Filter.NeBot l] (F : ιC(α, β)) :
    (f, Filter.Tendsto F l (nhds f)) ∀ (s : Set α), IsCompact sf, Filter.Tendsto (fun i => ContinuousMap.restrict s (F i)) l (nhds f)

    A family F of functions in C(α, β) converges in the compact-open topology, if and only if it converges in the compact-open topology on each compact subset of α.

    def ContinuousMap.coev (α : Type u_1) (β : Type u_2) [TopologicalSpace α] [TopologicalSpace β] (b : β) :
    C(α, β × α)

    The coevaluation map β → C(α, β × α) sending a point x : β to the continuous function on α sending y to (x, y).

    Equations
    Instances For
      theorem ContinuousMap.image_coev {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {y : β} (s : Set α) :
      ↑(ContinuousMap.coev α β y) '' s = {y} ×ˢ s
      def ContinuousMap.curry' {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (f : C(α × β, γ)) (a : α) :
      C(β, γ)

      Auxiliary definition, see ContinuousMap.curry and Homeomorph.curry.

      Equations
      Instances For
        theorem ContinuousMap.continuous_curry' {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (f : C(α × β, γ)) :

        If a map α × β → γ is continuous, then its curried form α → C(β, γ) is continuous.

        theorem ContinuousMap.continuous_of_continuous_uncurry {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (f : αC(β, γ)) (h : Continuous (Function.uncurry fun x y => ↑(f x) y)) :

        To show continuity of a map α → C(β, γ), it suffices to show that its uncurried form α × β → γ is continuous.

        def ContinuousMap.curry {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (f : C(α × β, γ)) :
        C(α, C(β, γ))

        The curried form of a continuous map α × β → γ as a continuous map α → C(β, γ). If a × β is locally compact, this is continuous. If α and β are both locally compact, then this is a homeomorphism, see Homeomorph.curry.

        Equations
        Instances For
          @[simp]
          theorem ContinuousMap.curry_apply {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] (f : C(α × β, γ)) (a : α) (b : β) :
          ↑(↑(ContinuousMap.curry f) a) b = f (a, b)
          theorem ContinuousMap.continuous_curry {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace (α × β)] :
          Continuous ContinuousMap.curry

          The currying process is a continuous map between function spaces.

          theorem ContinuousMap.continuous_uncurry_of_continuous {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
          Continuous (Function.uncurry fun x y => ↑(f x) y)

          The uncurried form of a continuous map α → C(β, γ) is a continuous map α × β → γ.

          @[simp]
          theorem ContinuousMap.uncurry_apply {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
          ∀ (a : α × β), ↑(ContinuousMap.uncurry f) a = Function.uncurry (fun x y => ↑(f x) y) a
          def ContinuousMap.uncurry {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace β] (f : C(α, C(β, γ))) :
          C(α × β, γ)

          The uncurried form of a continuous map α → C(β, γ) as a continuous map α × β → γ (if β is locally compact). If α is also locally compact, then this is a homeomorphism between the two function spaces, see Homeomorph.curry.

          Equations
          Instances For
            theorem ContinuousMap.continuous_uncurry {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace α] [LocallyCompactSpace β] :
            Continuous ContinuousMap.uncurry

            The uncurrying process is a continuous map between function spaces.

            def ContinuousMap.const' {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] :
            C(β, C(α, β))

            The family of constant maps: β → C(α, β) as a continuous map.

            Equations
            Instances For
              @[simp]
              theorem ContinuousMap.coe_const' {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] :
              ContinuousMap.const' = ContinuousMap.const α
              def Homeomorph.curry {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [LocallyCompactSpace α] [LocallyCompactSpace β] :
              C(α × β, γ) ≃ₜ C(α, C(β, γ))

              Currying as a homeomorphism between the function spaces C(α × β, γ) and C(α, C(β, γ)).

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

                If α has a single element, then β is homeomorphic to C(α, β).

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[simp]
                  theorem Homeomorph.continuousMapOfUnique_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Unique α] (b : β) (a : α) :
                  ↑(Homeomorph.continuousMapOfUnique b) a = b
                  @[simp]
                  theorem Homeomorph.continuousMapOfUnique_symm_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Unique α] (f : C(α, β)) :
                  ↑(Homeomorph.symm Homeomorph.continuousMapOfUnique) f = f default
                  theorem QuotientMap.continuous_lift_prod_left {X₀ : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} [TopologicalSpace X₀] [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] [LocallyCompactSpace Y] {f : X₀X} (hf : QuotientMap f) {g : X × YZ} (hg : Continuous fun p => g (f p.fst, p.snd)) :
                  theorem QuotientMap.continuous_lift_prod_right {X₀ : Type u_1} {X : Type u_2} {Y : Type u_3} {Z : Type u_4} [TopologicalSpace X₀] [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] [LocallyCompactSpace Y] {f : X₀X} (hf : QuotientMap f) {g : Y × XZ} (hg : Continuous fun p => g (p.fst, f p.snd)) :