Documentation

Mathlib.Topology.ContinuousFunction.ZeroAtInfty

Continuous functions vanishing at infinity #

The type of continuous functions vanishing at infinity. When the domain is compact C(α, β) ≃ C₀(α, β) via the identity map. When the codomain is a metric space, every continuous map which vanishes at infinity is a bounded continuous function. When the domain is a locally compact space, this type has nice properties.

TODO #

structure ZeroAtInftyContinuousMap (α : Type u) (β : Type v) [TopologicalSpace α] [Zero β] [TopologicalSpace β] extends ContinuousMap :
Type (max u v)

C₀(α, β) is the type of continuous functions α → β which vanish at infinity from a topological space to a metric space with a zero element.

When possible, instead of parametrizing results over (f : C₀(α, β)), you should parametrize over (F : Type*) [ZeroAtInftyContinuousMapClass F α β] (f : F).

When you extend this structure, make sure to extend ZeroAtInftyContinuousMapClass.

Instances For

    C₀(α, β) is the type of continuous functions α → β which vanish at infinity from a topological space to a metric space with a zero element.

    When possible, instead of parametrizing results over (f : C₀(α, β)), you should parametrize over (F : Type*) [ZeroAtInftyContinuousMapClass F α β] (f : F).

    When you extend this structure, make sure to extend ZeroAtInftyContinuousMapClass.

    Instances For

      C₀(α, β) is the type of continuous functions α → β which vanish at infinity from a topological space to a metric space with a zero element.

      When possible, instead of parametrizing results over (f : C₀(α, β)), you should parametrize over (F : Type*) [ZeroAtInftyContinuousMapClass F α β] (f : F).

      When you extend this structure, make sure to extend ZeroAtInftyContinuousMapClass.

      Instances For
        class ZeroAtInftyContinuousMapClass (F : Type u_2) (α : outParam (Type u_3)) (β : outParam (Type u_4)) [TopologicalSpace α] [Zero β] [TopologicalSpace β] extends ContinuousMapClass :
        Type (max (max u_2 u_3) u_4)

        ZeroAtInftyContinuousMapClass F α β states that F is a type of continuous maps which vanish at infinity.

        You should also extend this typeclass when you extend ZeroAtInftyContinuousMap.

        Instances
          instance ZeroAtInftyContinuousMap.instCoeFun {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] :
          CoeFun (ZeroAtInftyContinuousMap α β) fun x => αβ

          Helper instance for when there's too many metavariables to apply FunLike.hasCoeToFun directly.

          @[simp]
          theorem ZeroAtInftyContinuousMap.coe_toContinuousMap {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] (f : ZeroAtInftyContinuousMap α β) :
          f.toContinuousMap = f
          theorem ZeroAtInftyContinuousMap.ext {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] {f : ZeroAtInftyContinuousMap α β} {g : ZeroAtInftyContinuousMap α β} (h : ∀ (x : α), f x = g x) :
          f = g
          def ZeroAtInftyContinuousMap.copy {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] (f : ZeroAtInftyContinuousMap α β) (f' : αβ) (h : f' = f) :

          Copy of a ZeroAtInftyContinuousMap with a new toFun equal to the old one. Useful to fix definitional equalities.

          Instances For
            @[simp]
            theorem ZeroAtInftyContinuousMap.coe_copy {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] (f : ZeroAtInftyContinuousMap α β) (f' : αβ) (h : f' = f) :
            theorem ZeroAtInftyContinuousMap.copy_eq {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] (f : ZeroAtInftyContinuousMap α β) (f' : αβ) (h : f' = f) :
            @[simp]
            theorem ZeroAtInftyContinuousMap.ContinuousMap.liftZeroAtInfty_symm_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] [CompactSpace α] (f : ZeroAtInftyContinuousMap α β) :
            ZeroAtInftyContinuousMap.ContinuousMap.liftZeroAtInfty.symm f = f
            @[simp]
            theorem ZeroAtInftyContinuousMap.ContinuousMap.liftZeroAtInfty_apply_toFun {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] [CompactSpace α] (f : C(α, β)) (a : α) :
            ↑(ZeroAtInftyContinuousMap.ContinuousMap.liftZeroAtInfty f) a = f a

            A continuous function on a compact space is automatically a continuous function vanishing at infinity.

            Instances For

              A continuous function on a compact space is automatically a continuous function vanishing at infinity. This is not an instance to avoid type class loops.

              Instances For

                Algebraic structure #

                Whenever β has suitable algebraic structure and a compatible topological structure, then C₀(α, β) inherits a corresponding algebraic structure. The primary exception to this is that C₀(α, β) will not have a multiplicative identity.

                @[simp]
                theorem ZeroAtInftyContinuousMap.coe_zero {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] :
                0 = 0
                theorem ZeroAtInftyContinuousMap.zero_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] (x : α) [Zero β] :
                0 x = 0
                @[simp]
                theorem ZeroAtInftyContinuousMap.coe_mul {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [MulZeroClass β] [ContinuousMul β] (f : ZeroAtInftyContinuousMap α β) (g : ZeroAtInftyContinuousMap α β) :
                ↑(f * g) = f * g
                theorem ZeroAtInftyContinuousMap.mul_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] (x : α) [MulZeroClass β] [ContinuousMul β] (f : ZeroAtInftyContinuousMap α β) (g : ZeroAtInftyContinuousMap α β) :
                ↑(f * g) x = f x * g x
                @[simp]
                theorem ZeroAtInftyContinuousMap.coe_add {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [AddZeroClass β] [ContinuousAdd β] (f : ZeroAtInftyContinuousMap α β) (g : ZeroAtInftyContinuousMap α β) :
                ↑(f + g) = f + g
                theorem ZeroAtInftyContinuousMap.add_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] (x : α) [AddZeroClass β] [ContinuousAdd β] (f : ZeroAtInftyContinuousMap α β) (g : ZeroAtInftyContinuousMap α β) :
                ↑(f + g) x = f x + g x
                @[simp]
                theorem ZeroAtInftyContinuousMap.coe_nsmulRec {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [ContinuousAdd β] (f : ZeroAtInftyContinuousMap α β) (n : ) :
                ↑(nsmulRec n f) = n f
                theorem ZeroAtInftyContinuousMap.neg_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] (x : α) [AddGroup β] [TopologicalAddGroup β] (f : ZeroAtInftyContinuousMap α β) :
                ↑(-f) x = -f x
                @[simp]
                theorem ZeroAtInftyContinuousMap.coe_sub {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [AddGroup β] [TopologicalAddGroup β] (f : ZeroAtInftyContinuousMap α β) (g : ZeroAtInftyContinuousMap α β) :
                ↑(f - g) = f - g
                theorem ZeroAtInftyContinuousMap.sub_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] (x : α) [AddGroup β] [TopologicalAddGroup β] (f : ZeroAtInftyContinuousMap α β) (g : ZeroAtInftyContinuousMap α β) :
                ↑(f - g) x = f x - g x
                @[simp]
                @[simp]
                theorem ZeroAtInftyContinuousMap.coe_smul {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] {R : Type u_2} [Zero R] [SMulWithZero R β] [ContinuousConstSMul R β] (r : R) (f : ZeroAtInftyContinuousMap α β) :
                ↑(r f) = r f
                theorem ZeroAtInftyContinuousMap.smul_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [Zero β] {R : Type u_2} [Zero R] [SMulWithZero R β] [ContinuousConstSMul R β] (r : R) (f : ZeroAtInftyContinuousMap α β) (x : α) :
                ↑(r f) x = r f x

                Metric structure #

                When β is a metric space, then every element of C₀(α, β) is bounded, and so there is a natural inclusion map ZeroAtInftyContinuousMap.toBcf : C₀(α, β) → (α →ᵇ β). Via this map C₀(α, β) inherits a metric as the pullback of the metric on α →ᵇ β. Moreover, this map has closed range in α →ᵇ β and consequently C₀(α, β) is a complete space whenever β is complete.

                theorem ZeroAtInftyContinuousMap.bounded {F : Type u_1} {α : Type u} {β : Type v} [TopologicalSpace α] [MetricSpace β] [Zero β] [ZeroAtInftyContinuousMapClass F α β] (f : F) :
                C, ∀ (x y : α), dist (f x) (f y) C
                @[simp]
                theorem ZeroAtInftyContinuousMap.toBcf_apply {α : Type u} {β : Type v} [TopologicalSpace α] [MetricSpace β] [Zero β] (f : ZeroAtInftyContinuousMap α β) (a : α) :
                @[simp]
                theorem ZeroAtInftyContinuousMap.toBcf_toFun {α : Type u} {β : Type v} [TopologicalSpace α] [MetricSpace β] [Zero β] (f : ZeroAtInftyContinuousMap α β) (a : α) :

                Construct a bounded continuous function from a continuous function vanishing at infinity.

                Instances For
                  theorem ZeroAtInftyContinuousMap.toBcf_injective (α : Type u) (β : Type v) [TopologicalSpace α] [MetricSpace β] [Zero β] :
                  Function.Injective ZeroAtInftyContinuousMap.toBcf

                  The type of continuous functions vanishing at infinity, with the uniform distance induced by the inclusion ZeroAtInftyContinuousMap.toBcf, is a metric space.

                  theorem ZeroAtInftyContinuousMap.tendsto_iff_tendstoUniformly {α : Type u} {β : Type v} [TopologicalSpace α] [MetricSpace β] [Zero β] {ι : Type u_2} {F : ιZeroAtInftyContinuousMap α β} {f : ZeroAtInftyContinuousMap α β} {l : Filter ι} :
                  Filter.Tendsto F l (nhds f) TendstoUniformly (fun i => ↑(F i)) (f) l

                  Convergence in the metric on C₀(α, β) is uniform convergence.

                  theorem ZeroAtInftyContinuousMap.isometry_toBcf {α : Type u} {β : Type v} [TopologicalSpace α] [MetricSpace β] [Zero β] :
                  Isometry ZeroAtInftyContinuousMap.toBcf
                  theorem ZeroAtInftyContinuousMap.closed_range_toBcf {α : Type u} {β : Type v} [TopologicalSpace α] [MetricSpace β] [Zero β] :
                  IsClosed (Set.range ZeroAtInftyContinuousMap.toBcf)

                  Continuous functions vanishing at infinity taking values in a complete space form a complete space.

                  Normed space #

                  The norm structure on C₀(α, β) is the one induced by the inclusion toBcf : C₀(α, β) → (α →ᵇ b), viewed as an additive monoid homomorphism. Then C₀(α, β) is naturally a normed space over a normed field 𝕜 whenever β is as well.

                  Star structure #

                  It is possible to equip C₀(α, β) with a pointwise star operation whenever there is a continuous star : β → β for which star (0 : β) = 0. We don't have quite this weak a typeclass, but StarAddMonoid is close enough.

                  The StarAddMonoid and NormedStarGroup classes on C₀(α, β) are inherited from their counterparts on α →ᵇ β. Ultimately, when β is a C⋆-ring, then so is C₀(α, β).

                  theorem ZeroAtInftyContinuousMap.star_apply {α : Type u} {β : Type v} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [StarAddMonoid β] [ContinuousStar β] (f : ZeroAtInftyContinuousMap α β) (x : α) :
                  ↑(star f) x = star (f x)

                  C₀ as a functor #

                  For each β with sufficient structure, there is a contravariant functor C₀(-, β) from the category of topological spaces with morphisms given by CocompactMaps.

                  Composition of a continuous function vanishing at infinity with a cocompact map yields another continuous function vanishing at infinity.

                  Instances For

                    Composition as an additive monoid homomorphism.

                    Instances For

                      Composition as a semigroup homomorphism.

                      Instances For

                        Composition as a linear map.

                        Instances For

                          Composition as a non-unital algebra homomorphism.

                          Instances For