Documentation

Mathlib.Topology.ContinuousMap.Algebra

Algebraic structures over continuous functions #

In this file we define instances of algebraic structures over the type ContinuousMap α β (denoted C(α, β)) of bundled continuous maps from α to β. For example, C(α, β) is a group when β is a group, a ring when β is a ring, etc.

For each type of algebraic structure, we also define an appropriate subobject of α → β with carrier { f : α → β | Continuous f }. For example, when β is a group, a subgroup continuousSubgroup α β of α → β is constructed with carrier { f : α → β | Continuous f }.

Note that, rather than using the derived algebraic structures on these subobjects (for example, when β is a group, the derived group structure on continuousSubgroup α β), one should use C(α, β) with the appropriate instance of the structure.

instance ContinuousFunctions.instCoeFunElemForallSetOfContinuous {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] :
CoeFun {f : αβ | Continuous f} fun (x : {f : αβ | Continuous f}) => αβ
Equations

    mul and add #

    instance ContinuousMap.instMul {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Mul β] [ContinuousMul β] :
    Mul C(α, β)
    Equations
      instance ContinuousMap.instAdd {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Add β] [ContinuousAdd β] :
      Add C(α, β)
      Equations
        @[simp]
        theorem ContinuousMap.coe_mul {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Mul β] [ContinuousMul β] (f g : C(α, β)) :
        ⇑(f * g) = f * g
        @[simp]
        theorem ContinuousMap.coe_add {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Add β] [ContinuousAdd β] (f g : C(α, β)) :
        ⇑(f + g) = f + g
        @[simp]
        theorem ContinuousMap.mul_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Mul β] [ContinuousMul β] (f g : C(α, β)) (x : α) :
        (f * g) x = f x * g x
        @[simp]
        theorem ContinuousMap.add_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Add β] [ContinuousAdd β] (f g : C(α, β)) (x : α) :
        (f + g) x = f x + g x
        @[simp]
        theorem ContinuousMap.mul_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Mul γ] [ContinuousMul γ] (f₁ f₂ : C(β, γ)) (g : C(α, β)) :
        (f₁ * f₂).comp g = f₁.comp g * f₂.comp g
        @[simp]
        theorem ContinuousMap.add_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Add γ] [ContinuousAdd γ] (f₁ f₂ : C(β, γ)) (g : C(α, β)) :
        (f₁ + f₂).comp g = f₁.comp g + f₂.comp g

        one #

        instance ContinuousMap.instOne {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [One β] :
        One C(α, β)
        Equations
          instance ContinuousMap.instZero {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Zero β] :
          Zero C(α, β)
          Equations
            @[simp]
            theorem ContinuousMap.coe_one {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [One β] :
            1 = 1
            @[simp]
            theorem ContinuousMap.coe_zero {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Zero β] :
            0 = 0
            @[simp]
            theorem ContinuousMap.one_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [One β] (x : α) :
            1 x = 1
            @[simp]
            theorem ContinuousMap.zero_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Zero β] (x : α) :
            0 x = 0
            @[simp]
            theorem ContinuousMap.one_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [One γ] (g : C(α, β)) :
            comp 1 g = 1
            @[simp]
            theorem ContinuousMap.zero_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Zero γ] (g : C(α, β)) :
            comp 0 g = 0
            @[simp]
            theorem ContinuousMap.comp_one {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [One β] (g : C(β, γ)) :
            g.comp 1 = const α (g 1)
            @[simp]
            theorem ContinuousMap.comp_zero {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Zero β] (g : C(β, γ)) :
            g.comp 0 = const α (g 0)
            @[simp]
            theorem ContinuousMap.const_one {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [One β] :
            const α 1 = 1
            @[simp]
            theorem ContinuousMap.const_zero {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Zero β] :
            const α 0 = 0

            Nat.cast #

            instance ContinuousMap.instNatCast {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [NatCast β] :
            Equations
              @[simp]
              theorem ContinuousMap.coe_natCast {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [NatCast β] (n : ) :
              n = n
              @[simp]
              theorem ContinuousMap.natCast_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [NatCast β] (n : ) (x : α) :
              n x = n

              Int.cast #

              instance ContinuousMap.instIntCast {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [IntCast β] :
              Equations
                @[simp]
                theorem ContinuousMap.coe_intCast {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [IntCast β] (n : ) :
                n = n
                @[simp]
                theorem ContinuousMap.intCast_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [IntCast β] (n : ) (x : α) :
                n x = n

                nsmul and pow #

                instance ContinuousMap.instNSMul {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [ContinuousAdd β] :
                Equations
                  instance ContinuousMap.instPow {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Monoid β] [ContinuousMul β] :
                  Pow C(α, β)
                  Equations
                    @[simp]
                    theorem ContinuousMap.coe_pow {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Monoid β] [ContinuousMul β] (f : C(α, β)) (n : ) :
                    ⇑(f ^ n) = f ^ n
                    theorem ContinuousMap.coe_nsmul {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [ContinuousAdd β] (n : ) (f : C(α, β)) :
                    ⇑(n f) = n f
                    @[simp]
                    theorem ContinuousMap.pow_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Monoid β] [ContinuousMul β] (f : C(α, β)) (n : ) (x : α) :
                    (f ^ n) x = f x ^ n
                    theorem ContinuousMap.nsmul_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [ContinuousAdd β] (f : C(α, β)) (n : ) (x : α) :
                    (n f) x = n f x
                    @[simp]
                    theorem ContinuousMap.pow_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Monoid γ] [ContinuousMul γ] (f : C(β, γ)) (n : ) (g : C(α, β)) :
                    (f ^ n).comp g = f.comp g ^ n
                    theorem ContinuousMap.nsmul_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [AddMonoid γ] [ContinuousAdd γ] (f : C(β, γ)) (n : ) (g : C(α, β)) :
                    (n f).comp g = n f.comp g

                    inv and neg #

                    Equations
                      Equations
                        @[simp]
                        theorem ContinuousMap.coe_inv {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Inv β] [ContinuousInv β] (f : C(α, β)) :
                        f⁻¹ = (⇑f)⁻¹
                        @[simp]
                        theorem ContinuousMap.coe_neg {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Neg β] [ContinuousNeg β] (f : C(α, β)) :
                        ⇑(-f) = -f
                        @[simp]
                        theorem ContinuousMap.inv_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Inv β] [ContinuousInv β] (f : C(α, β)) (x : α) :
                        f⁻¹ x = (f x)⁻¹
                        @[simp]
                        theorem ContinuousMap.neg_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Neg β] [ContinuousNeg β] (f : C(α, β)) (x : α) :
                        (-f) x = -f x
                        @[simp]
                        theorem ContinuousMap.inv_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Inv γ] [ContinuousInv γ] (f : C(β, γ)) (g : C(α, β)) :
                        @[simp]
                        theorem ContinuousMap.neg_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Neg γ] [ContinuousNeg γ] (f : C(β, γ)) (g : C(α, β)) :
                        (-f).comp g = -f.comp g

                        div and sub #

                        Equations
                          Equations
                            @[simp]
                            theorem ContinuousMap.coe_div {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Div β] [ContinuousDiv β] (f g : C(α, β)) :
                            ⇑(f / g) = f / g
                            @[simp]
                            theorem ContinuousMap.coe_sub {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Sub β] [ContinuousSub β] (f g : C(α, β)) :
                            ⇑(f - g) = f - g
                            @[simp]
                            theorem ContinuousMap.div_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Div β] [ContinuousDiv β] (f g : C(α, β)) (x : α) :
                            (f / g) x = f x / g x
                            @[simp]
                            theorem ContinuousMap.sub_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Sub β] [ContinuousSub β] (f g : C(α, β)) (x : α) :
                            (f - g) x = f x - g x
                            @[simp]
                            theorem ContinuousMap.div_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Div γ] [ContinuousDiv γ] (f g : C(β, γ)) (h : C(α, β)) :
                            (f / g).comp h = f.comp h / g.comp h
                            @[simp]
                            theorem ContinuousMap.sub_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Sub γ] [ContinuousSub γ] (f g : C(β, γ)) (h : C(α, β)) :
                            (f - g).comp h = f.comp h - g.comp h

                            zpow and zsmul #

                            Equations
                              instance ContinuousMap.instZPow {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Group β] [IsTopologicalGroup β] :
                              Pow C(α, β)
                              Equations
                                @[simp]
                                theorem ContinuousMap.coe_zpow {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Group β] [IsTopologicalGroup β] (f : C(α, β)) (z : ) :
                                ⇑(f ^ z) = f ^ z
                                theorem ContinuousMap.coe_zsmul {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddGroup β] [IsTopologicalAddGroup β] (z : ) (f : C(α, β)) :
                                ⇑(z f) = z f
                                @[simp]
                                theorem ContinuousMap.zpow_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Group β] [IsTopologicalGroup β] (f : C(α, β)) (z : ) (x : α) :
                                (f ^ z) x = f x ^ z
                                theorem ContinuousMap.zsmul_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddGroup β] [IsTopologicalAddGroup β] (f : C(α, β)) (z : ) (x : α) :
                                (z f) x = z f x
                                @[simp]
                                theorem ContinuousMap.zpow_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [Group γ] [IsTopologicalGroup γ] (f : C(β, γ)) (z : ) (g : C(α, β)) :
                                (f ^ z).comp g = f.comp g ^ z
                                theorem ContinuousMap.zsmul_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [TopologicalSpace γ] [AddGroup γ] [IsTopologicalAddGroup γ] (f : C(β, γ)) (z : ) (g : C(α, β)) :
                                (z f).comp g = z f.comp g

                                Group structure #

                                In this section we show that continuous functions valued in a topological group inherit the structure of a group.

                                def continuousSubmonoid (α : Type u_1) (β : Type u_2) [TopologicalSpace α] [TopologicalSpace β] [MulOneClass β] [ContinuousMul β] :
                                Submonoid (αβ)

                                The Submonoid of continuous maps α → β.

                                Equations
                                  Instances For
                                    def continuousAddSubmonoid (α : Type u_1) (β : Type u_2) [TopologicalSpace α] [TopologicalSpace β] [AddZeroClass β] [ContinuousAdd β] :
                                    AddSubmonoid (αβ)

                                    The AddSubmonoid of continuous maps α → β.

                                    Equations
                                      Instances For
                                        def continuousSubgroup (α : Type u_1) (β : Type u_2) [TopologicalSpace α] [TopologicalSpace β] [Group β] [IsTopologicalGroup β] :
                                        Subgroup (αβ)

                                        The subgroup of continuous maps α → β.

                                        Equations
                                          Instances For

                                            The AddSubgroup of continuous maps α → β.

                                            Equations
                                              Instances For
                                                def ContinuousMap.coeFnMonoidHom {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Monoid β] [ContinuousMul β] :
                                                C(α, β) →* αβ

                                                Coercion to a function as a MonoidHom. Similar to MonoidHom.coeFn.

                                                Equations
                                                  Instances For
                                                    def ContinuousMap.coeFnAddMonoidHom {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [ContinuousAdd β] :
                                                    C(α, β) →+ αβ

                                                    Coercion to a function as an AddMonoidHom. Similar to AddMonoidHom.coeFn.

                                                    Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem ContinuousMap.coeFnMonoidHom_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Monoid β] [ContinuousMul β] (f : C(α, β)) (a : α) :
                                                        @[simp]
                                                        theorem ContinuousMap.coeFnAddMonoidHom_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddMonoid β] [ContinuousAdd β] (f : C(α, β)) (a : α) :
                                                        def MonoidHom.compLeftContinuous (α : Type u_1) {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [Monoid β] [ContinuousMul β] [TopologicalSpace γ] [Monoid γ] [ContinuousMul γ] (g : β →* γ) (hg : Continuous g) :
                                                        C(α, β) →* C(α, γ)

                                                        Composition on the left by a (continuous) homomorphism of topological monoids, as a MonoidHom. Similar to MonoidHom.compLeft.

                                                        Equations
                                                          Instances For
                                                            def AddMonoidHom.compLeftContinuous (α : Type u_1) {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [AddMonoid β] [ContinuousAdd β] [TopologicalSpace γ] [AddMonoid γ] [ContinuousAdd γ] (g : β →+ γ) (hg : Continuous g) :
                                                            C(α, β) →+ C(α, γ)

                                                            Composition on the left by a (continuous) homomorphism of topological AddMonoids, as an AddMonoidHom. Similar to AddMonoidHom.comp_left.

                                                            Equations
                                                              Instances For
                                                                @[simp]
                                                                theorem MonoidHom.compLeftContinuous_apply (α : Type u_1) {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [Monoid β] [ContinuousMul β] [TopologicalSpace γ] [Monoid γ] [ContinuousMul γ] (g : β →* γ) (hg : Continuous g) (f : C(α, β)) :
                                                                (MonoidHom.compLeftContinuous α g hg) f = { toFun := g, continuous_toFun := hg }.comp f
                                                                @[simp]
                                                                theorem AddMonoidHom.compLeftContinuous_apply (α : Type u_1) {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [AddMonoid β] [ContinuousAdd β] [TopologicalSpace γ] [AddMonoid γ] [ContinuousAdd γ] (g : β →+ γ) (hg : Continuous g) (f : C(α, β)) :
                                                                (AddMonoidHom.compLeftContinuous α g hg) f = { toFun := g, continuous_toFun := hg }.comp f
                                                                def ContinuousMap.compMonoidHom' {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [TopologicalSpace γ] [MulOneClass γ] [ContinuousMul γ] (g : C(α, β)) :
                                                                C(β, γ) →* C(α, γ)

                                                                Composition on the right as a MonoidHom. Similar to MonoidHom.compHom'.

                                                                Equations
                                                                  Instances For
                                                                    def ContinuousMap.compAddMonoidHom' {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [TopologicalSpace γ] [AddZeroClass γ] [ContinuousAdd γ] (g : C(α, β)) :
                                                                    C(β, γ) →+ C(α, γ)

                                                                    Composition on the right as an AddMonoidHom. Similar to AddMonoidHom.compHom'.

                                                                    Equations
                                                                      Instances For
                                                                        @[simp]
                                                                        theorem ContinuousMap.compAddMonoidHom'_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [TopologicalSpace γ] [AddZeroClass γ] [ContinuousAdd γ] (g : C(α, β)) (f : C(β, γ)) :
                                                                        @[simp]
                                                                        theorem ContinuousMap.compMonoidHom'_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [TopologicalSpace γ] [MulOneClass γ] [ContinuousMul γ] (g : C(α, β)) (f : C(β, γ)) :
                                                                        @[simp]
                                                                        theorem ContinuousMap.coe_prod {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [CommMonoid β] [ContinuousMul β] {ι : Type u_3} (s : Finset ι) (f : ιC(α, β)) :
                                                                        (∏ is, f i) = is, (f i)
                                                                        @[simp]
                                                                        theorem ContinuousMap.coe_sum {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddCommMonoid β] [ContinuousAdd β] {ι : Type u_3} (s : Finset ι) (f : ιC(α, β)) :
                                                                        (∑ is, f i) = is, (f i)
                                                                        theorem ContinuousMap.prod_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [CommMonoid β] [ContinuousMul β] {ι : Type u_3} (s : Finset ι) (f : ιC(α, β)) (a : α) :
                                                                        (∏ is, f i) a = is, (f i) a
                                                                        theorem ContinuousMap.sum_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddCommMonoid β] [ContinuousAdd β] {ι : Type u_3} (s : Finset ι) (f : ιC(α, β)) (a : α) :
                                                                        (∑ is, f i) a = is, (f i) a
                                                                        theorem ContinuousMap.hasProd_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [CommMonoid β] [ContinuousMul β] {f : γC(α, β)} {g : C(α, β)} (hf : HasProd f g) (x : α) :
                                                                        HasProd (fun (i : γ) => (f i) x) (g x)

                                                                        If an infinite product of functions in C(α, β) converges to g (for the compact-open topology), then the pointwise product converges to g x for all x ∈ α.

                                                                        theorem ContinuousMap.hasSum_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {γ : Type u_3} [AddCommMonoid β] [ContinuousAdd β] {f : γC(α, β)} {g : C(α, β)} (hf : HasSum f g) (x : α) :
                                                                        HasSum (fun (i : γ) => (f i) x) (g x)

                                                                        If an infinite sum of functions in C(α, β) converges to g (for the compact-open topology), then the pointwise sum converges to g x for all x ∈ α.

                                                                        theorem ContinuousMap.multipliable_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [CommMonoid β] [ContinuousMul β] {γ : Type u_3} {f : γC(α, β)} (hf : Multipliable f) (x : α) :
                                                                        Multipliable fun (i : γ) => (f i) x
                                                                        theorem ContinuousMap.summable_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [AddCommMonoid β] [ContinuousAdd β] {γ : Type u_3} {f : γC(α, β)} (hf : Summable f) (x : α) :
                                                                        Summable fun (i : γ) => (f i) x
                                                                        theorem ContinuousMap.tprod_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [T2Space β] [CommMonoid β] [ContinuousMul β] {γ : Type u_3} {f : γC(α, β)} (hf : Multipliable f) (x : α) :
                                                                        ∏' (i : γ), (f i) x = (∏' (i : γ), f i) x
                                                                        theorem ContinuousMap.tsum_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [T2Space β] [AddCommMonoid β] [ContinuousAdd β] {γ : Type u_3} {f : γC(α, β)} (hf : Summable f) (x : α) :
                                                                        ∑' (i : γ), (f i) x = (∑' (i : γ), f i) x

                                                                        Ring structure #

                                                                        In this section we show that continuous functions valued in a topological semiring R inherit the structure of a ring.

                                                                        The subsemiring of continuous maps α → β.

                                                                        Equations
                                                                          Instances For
                                                                            def continuousSubring (α : Type u_1) (R : Type u_2) [TopologicalSpace α] [TopologicalSpace R] [Ring R] [IsTopologicalRing R] :
                                                                            Subring (αR)

                                                                            The subring of continuous maps α → β.

                                                                            Equations
                                                                              Instances For
                                                                                instance ContinuousMap.instRing {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Ring β] [IsTopologicalRing β] :
                                                                                Ring C(α, β)
                                                                                Equations
                                                                                  def RingHom.compLeftContinuous (α : Type u_1) {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [Semiring β] [IsTopologicalSemiring β] [TopologicalSpace γ] [Semiring γ] [IsTopologicalSemiring γ] (g : β →+* γ) (hg : Continuous g) :
                                                                                  C(α, β) →+* C(α, γ)

                                                                                  Composition on the left by a (continuous) homomorphism of topological semirings, as a RingHom. Similar to RingHom.compLeft.

                                                                                  Equations
                                                                                    Instances For
                                                                                      @[simp]
                                                                                      theorem RingHom.compLeftContinuous_apply_apply (α : Type u_1) {β : Type u_2} {γ : Type u_3} [TopologicalSpace α] [TopologicalSpace β] [Semiring β] [IsTopologicalSemiring β] [TopologicalSpace γ] [Semiring γ] [IsTopologicalSemiring γ] (g : β →+* γ) (hg : Continuous g) (f : C(α, β)) (a✝ : α) :
                                                                                      ((RingHom.compLeftContinuous α g hg) f) a✝ = g (f a✝)
                                                                                      def ContinuousMap.coeFnRingHom {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Semiring β] [IsTopologicalSemiring β] :
                                                                                      C(α, β) →+* αβ

                                                                                      Coercion to a function as a RingHom.

                                                                                      Equations
                                                                                        Instances For
                                                                                          @[simp]
                                                                                          theorem ContinuousMap.coeFnRingHom_apply {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] [Semiring β] [IsTopologicalSemiring β] (f : C(α, β)) (a : α) :
                                                                                          coeFnRingHom f a = f a

                                                                                          Module structure #

                                                                                          In this section we show that continuous functions valued in a topological module M over a topological semiring R inherit the structure of a module.

                                                                                          def continuousSubmodule (α : Type u_1) [TopologicalSpace α] (R : Type u_2) [Semiring R] (M : Type u_3) [TopologicalSpace M] [AddCommGroup M] [Module R M] [ContinuousConstSMul R M] [IsTopologicalAddGroup M] :
                                                                                          Submodule R (αM)

                                                                                          The R-submodule of continuous maps α → M.

                                                                                          Equations
                                                                                            Instances For
                                                                                              instance ContinuousMap.instSMul {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [SMul R M] [ContinuousConstSMul R M] :
                                                                                              SMul R C(α, M)
                                                                                              Equations
                                                                                                instance ContinuousMap.instVAdd {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [VAdd R M] [ContinuousConstVAdd R M] :
                                                                                                VAdd R C(α, M)
                                                                                                Equations
                                                                                                  @[simp]
                                                                                                  theorem ContinuousMap.coe_smul {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [SMul R M] [ContinuousConstSMul R M] (c : R) (f : C(α, M)) :
                                                                                                  ⇑(c f) = c f
                                                                                                  @[simp]
                                                                                                  theorem ContinuousMap.coe_vadd {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [VAdd R M] [ContinuousConstVAdd R M] (c : R) (f : C(α, M)) :
                                                                                                  ⇑(c +ᵥ f) = c +ᵥ f
                                                                                                  theorem ContinuousMap.smul_apply {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [SMul R M] [ContinuousConstSMul R M] (c : R) (f : C(α, M)) (a : α) :
                                                                                                  (c f) a = c f a
                                                                                                  theorem ContinuousMap.vadd_apply {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [VAdd R M] [ContinuousConstVAdd R M] (c : R) (f : C(α, M)) (a : α) :
                                                                                                  (c +ᵥ f) a = c +ᵥ f a
                                                                                                  @[simp]
                                                                                                  theorem ContinuousMap.smul_comp {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [SMul R M] [ContinuousConstSMul R M] (r : R) (f : C(β, M)) (g : C(α, β)) :
                                                                                                  (r f).comp g = r f.comp g
                                                                                                  @[simp]
                                                                                                  theorem ContinuousMap.vadd_comp {α : Type u_1} {β : Type u_2} [TopologicalSpace α] [TopologicalSpace β] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [VAdd R M] [ContinuousConstVAdd R M] (r : R) (f : C(β, M)) (g : C(α, β)) :
                                                                                                  (r +ᵥ f).comp g = r +ᵥ f.comp g
                                                                                                  instance ContinuousMap.instSMulCommClass {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {R₁ : Type u_4} {M : Type u_5} [TopologicalSpace M] [SMul R M] [ContinuousConstSMul R M] [SMul R₁ M] [ContinuousConstSMul R₁ M] [SMulCommClass R R₁ M] :
                                                                                                  SMulCommClass R R₁ C(α, M)
                                                                                                  instance ContinuousMap.instVAddCommClass {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {R₁ : Type u_4} {M : Type u_5} [TopologicalSpace M] [VAdd R M] [ContinuousConstVAdd R M] [VAdd R₁ M] [ContinuousConstVAdd R₁ M] [VAddCommClass R R₁ M] :
                                                                                                  VAddCommClass R R₁ C(α, M)
                                                                                                  instance ContinuousMap.instIsScalarTower {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {R₁ : Type u_4} {M : Type u_5} [TopologicalSpace M] [SMul R M] [ContinuousConstSMul R M] [SMul R₁ M] [ContinuousConstSMul R₁ M] [SMul R R₁] [IsScalarTower R R₁ M] :
                                                                                                  IsScalarTower R R₁ C(α, M)
                                                                                                  instance ContinuousMap.module {α : Type u_1} [TopologicalSpace α] {R : Type u_3} {M : Type u_5} [TopologicalSpace M] [Semiring R] [AddCommMonoid M] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] :
                                                                                                  Module R C(α, M)
                                                                                                  Equations
                                                                                                    def ContinuousLinearMap.compLeftContinuous (R : Type u_3) {M : Type u_5} [TopologicalSpace M] {M₂ : Type u_6} [TopologicalSpace M₂] [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] [ContinuousAdd M₂] [Module R M₂] [ContinuousConstSMul R M₂] (α : Type u_7) [TopologicalSpace α] (g : M →L[R] M₂) :
                                                                                                    C(α, M) →L[R] C(α, M₂)

                                                                                                    Composition on the left by a continuous linear map, as a ContinuousLinearMap. Similar to LinearMap.compLeft.

                                                                                                    Equations
                                                                                                      Instances For
                                                                                                        @[simp]
                                                                                                        theorem ContinuousLinearMap.compLeftContinuous_apply (R : Type u_3) {M : Type u_5} [TopologicalSpace M] {M₂ : Type u_6} [TopologicalSpace M₂] [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] [ContinuousAdd M₂] [Module R M₂] [ContinuousConstSMul R M₂] (α : Type u_7) [TopologicalSpace α] (g : M →L[R] M₂) (a✝ : C(α, M)) :

                                                                                                        The constant map x ↦ y ↦ x as a ContinuousLinearMap.

                                                                                                        Equations
                                                                                                          Instances For
                                                                                                            @[simp]
                                                                                                            theorem ContinuousLinearMap.const_apply_apply (R : Type u_3) {M : Type u_5} [TopologicalSpace M] [Semiring R] [AddCommMonoid M] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] (α : Type u_7) [TopologicalSpace α] (m : M) (x✝ : α) :
                                                                                                            ((const R α) m) x✝ = m

                                                                                                            Coercion to a function as a LinearMap.

                                                                                                            Equations
                                                                                                              Instances For
                                                                                                                @[simp]
                                                                                                                theorem ContinuousMap.coeFnLinearMap_apply {α : Type u_1} [TopologicalSpace α] (R : Type u_3) {M : Type u_5} [TopologicalSpace M] [Semiring R] [AddCommMonoid M] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] (a✝ : C(α, M)) (a✝¹ : α) :
                                                                                                                (coeFnLinearMap R) a✝ a✝¹ = (↑coeFnAddMonoidHom).toFun a✝ a✝¹
                                                                                                                def ContinuousMap.evalCLM {α : Type u_1} [TopologicalSpace α] (R : Type u_3) {M : Type u_5} [TopologicalSpace M] [Semiring R] [AddCommMonoid M] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] (x : α) :
                                                                                                                C(α, M) →L[R] M

                                                                                                                Evaluation at a point, as a continuous linear map.

                                                                                                                Equations
                                                                                                                  Instances For
                                                                                                                    @[simp]
                                                                                                                    theorem ContinuousMap.evalCLM_apply {α : Type u_1} [TopologicalSpace α] (R : Type u_3) {M : Type u_5} [TopologicalSpace M] [Semiring R] [AddCommMonoid M] [ContinuousAdd M] [Module R M] [ContinuousConstSMul R M] (x : α) (f : C(α, M)) :
                                                                                                                    (evalCLM R x) f = f x

                                                                                                                    Algebra structure #

                                                                                                                    In this section we show that continuous functions valued in a topological algebra A over a ring R inherit the structure of an algebra. Note that the hypothesis that A is a topological algebra is obtained by requiring that A be both a ContinuousSMul and a IsTopologicalSemiring.

                                                                                                                    def continuousSubalgebra {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] :
                                                                                                                    Subalgebra R (αA)

                                                                                                                    The R-subalgebra of continuous maps α → A.

                                                                                                                    Equations
                                                                                                                      Instances For
                                                                                                                        def ContinuousMap.C {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] :
                                                                                                                        R →+* C(α, A)

                                                                                                                        Continuous constant functions as a RingHom.

                                                                                                                        Equations
                                                                                                                          Instances For
                                                                                                                            @[simp]
                                                                                                                            theorem ContinuousMap.C_apply {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] (r : R) (a : α) :
                                                                                                                            (C r) a = (algebraMap R A) r
                                                                                                                            instance ContinuousMap.algebra {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] :
                                                                                                                            Equations
                                                                                                                              def AlgHom.compLeftContinuous (R : Type u_2) [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] {A₂ : Type u_4} [TopologicalSpace A₂] [Semiring A₂] [Algebra R A₂] [IsTopologicalSemiring A₂] {α : Type u_5} [TopologicalSpace α] (g : A →ₐ[R] A₂) (hg : Continuous g) :
                                                                                                                              C(α, A) →ₐ[R] C(α, A₂)

                                                                                                                              Composition on the left by a (continuous) homomorphism of topological R-algebras, as an AlgHom. Similar to AlgHom.compLeft.

                                                                                                                              Equations
                                                                                                                                Instances For
                                                                                                                                  @[simp]
                                                                                                                                  theorem AlgHom.compLeftContinuous_apply_apply (R : Type u_2) [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] {A₂ : Type u_4} [TopologicalSpace A₂] [Semiring A₂] [Algebra R A₂] [IsTopologicalSemiring A₂] {α : Type u_5} [TopologicalSpace α] (g : A →ₐ[R] A₂) (hg : Continuous g) (f : C(α, A)) (a✝ : α) :
                                                                                                                                  ((AlgHom.compLeftContinuous R g hg) f) a✝ = g (f a✝)
                                                                                                                                  def ContinuousMap.compRightAlgHom (R : Type u_2) [CommSemiring R] (A : Type u_3) [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] {α : Type u_5} {β : Type u_6} [TopologicalSpace α] [TopologicalSpace β] (f : C(α, β)) :
                                                                                                                                  C(β, A) →ₐ[R] C(α, A)

                                                                                                                                  Precomposition of functions into a topological semiring by a continuous map is an algebra homomorphism.

                                                                                                                                  Equations
                                                                                                                                    Instances For
                                                                                                                                      @[simp]
                                                                                                                                      theorem ContinuousMap.compRightAlgHom_apply (R : Type u_2) [CommSemiring R] (A : Type u_3) [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] {α : Type u_5} {β : Type u_6} [TopologicalSpace α] [TopologicalSpace β] (f : C(α, β)) (g : C(β, A)) :
                                                                                                                                      (compRightAlgHom R A f) g = g.comp f
                                                                                                                                      def ContinuousMap.coeFnAlgHom {α : Type u_1} [TopologicalSpace α] (R : Type u_2) [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] :
                                                                                                                                      C(α, A) →ₐ[R] αA

                                                                                                                                      Coercion to a function as an AlgHom.

                                                                                                                                      Equations
                                                                                                                                        Instances For
                                                                                                                                          @[simp]
                                                                                                                                          theorem ContinuousMap.coeFnAlgHom_apply {α : Type u_1} [TopologicalSpace α] (R : Type u_2) [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] (f : C(α, A)) (a : α) :
                                                                                                                                          (coeFnAlgHom R) f a = f a
                                                                                                                                          @[reducible, inline]

                                                                                                                                          A version of Set.SeparatesPoints for subalgebras of the continuous functions, used for stating the Stone-Weierstrass theorem.

                                                                                                                                          Equations
                                                                                                                                            Instances For
                                                                                                                                              @[simp]
                                                                                                                                              theorem algebraMap_apply {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [CommSemiring R] {A : Type u_3} [TopologicalSpace A] [Semiring A] [Algebra R A] [IsTopologicalSemiring A] (k : R) (a : α) :
                                                                                                                                              ((algebraMap R C(α, A)) k) a = k 1
                                                                                                                                              def Set.SeparatesPointsStrongly {α : Type u_1} [TopologicalSpace α] {𝕜 : Type u_5} [TopologicalSpace 𝕜] (s : Set C(α, 𝕜)) :

                                                                                                                                              A set of continuous maps "separates points strongly" if for each pair of distinct points there is a function with specified values on them.

                                                                                                                                              We give a slightly unusual formulation, where the specified values are given by some function v, and we ask f x = v x ∧ f y = v y. This avoids needing a hypothesis x ≠ y.

                                                                                                                                              In fact, this definition would work perfectly well for a set of non-continuous functions, but as the only current use case is in the Stone-Weierstrass theorem, writing it this way avoids having to deal with casts inside the set. (This may need to change if we do Stone-Weierstrass on non-compact spaces, where the functions would be continuous functions vanishing at infinity.)

                                                                                                                                              Equations
                                                                                                                                                Instances For
                                                                                                                                                  theorem Subalgebra.SeparatesPoints.strongly {α : Type u_1} [TopologicalSpace α] {𝕜 : Type u_5} [TopologicalSpace 𝕜] [Field 𝕜] [IsTopologicalRing 𝕜] {s : Subalgebra 𝕜 C(α, 𝕜)} (h : s.SeparatesPoints) :

                                                                                                                                                  Working in continuous functions into a topological field, a subalgebra of functions that separates points also separates points strongly.

                                                                                                                                                  By the hypothesis, we can find a function f so f x ≠ f y. By an affine transformation in the field we can arrange so that f x = a and f x = b.

                                                                                                                                                  Structure as module over scalar functions #

                                                                                                                                                  If M is a module over R, then we show that the space of continuous functions from α to M is naturally a module over the ring of continuous functions from α to R.

                                                                                                                                                  instance ContinuousMap.instSMul' {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [Semiring R] [TopologicalSpace R] {M : Type u_3} [TopologicalSpace M] [AddCommMonoid M] [Module R M] [ContinuousSMul R M] :
                                                                                                                                                  SMul C(α, R) C(α, M)
                                                                                                                                                  Equations
                                                                                                                                                    @[simp]
                                                                                                                                                    theorem ContinuousMap.coe_smul' {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [Semiring R] [TopologicalSpace R] {M : Type u_3} [TopologicalSpace M] [AddCommMonoid M] [Module R M] [ContinuousSMul R M] (f : C(α, R)) (g : C(α, M)) :
                                                                                                                                                    ⇑(f g) = f g

                                                                                                                                                    Coercion to a function for a scalar-valued continuous map multiplying a vector-valued one (as opposed to ContinuousMap.coe_smul which is multiplication by a constant scalar).

                                                                                                                                                    theorem ContinuousMap.smul_apply' {α : Type u_1} [TopologicalSpace α] {R : Type u_2} [Semiring R] [TopologicalSpace R] {M : Type u_3} [TopologicalSpace M] [AddCommMonoid M] [Module R M] [ContinuousSMul R M] (f : C(α, R)) (g : C(α, M)) (x : α) :
                                                                                                                                                    (f g) x = f x g x

                                                                                                                                                    Evaluation of a scalar-valued continuous map multiplying a vector-valued one (as opposed to ContinuousMap.smul_apply which is multiplication by a constant scalar).

                                                                                                                                                    Evaluation as a bundled map #

                                                                                                                                                    Evaluation of continuous maps at a point, bundled as an algebra homomorphism.

                                                                                                                                                    Equations
                                                                                                                                                      Instances For
                                                                                                                                                        @[simp]
                                                                                                                                                        theorem ContinuousMap.evalAlgHom_apply {X : Type u_1} (S : Type u_2) (R : Type u_3) [TopologicalSpace X] [CommSemiring S] [CommSemiring R] [Algebra S R] [TopologicalSpace R] [IsTopologicalSemiring R] (x : X) (f : C(X, R)) :
                                                                                                                                                        (evalAlgHom S R x) f = f x