Documentation

Mathlib.Topology.Algebra.ContinuousAffineMap

Continuous affine maps. #

This file defines a type of bundled continuous affine maps.

Note that the definition and basic properties established here require minimal assumptions, and do not even assume compatibility between the topological and algebraic structures. Of course it is necessary to assume some compatibility in order to obtain a useful theory. Such a theory is developed elsewhere for affine spaces modelled on normed vector spaces, but not yet for general topological affine spaces (since we have not defined these yet).

Main definitions: #

Notation: #

We introduce the notation P →A[R] Q for ContinuousAffineMap R P Q. Note that this is parallel to the notation E →L[R] F for ContinuousLinearMap R E F.

structure ContinuousAffineMap (R : Type u_1) {V : Type u_2} {W : Type u_3} (P : Type u_4) (Q : Type u_5) [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] extends AffineMap :
Type (max (max (max u_2 u_3) u_4) u_5)

A continuous map of affine spaces.

  • toFun : PQ
  • linear : V →ₗ[R] W
  • map_vadd' : ∀ (p : P) (v : V), self.toFun (v +ᵥ p) = self.linear v +ᵥ self.toFun p
  • cont : Continuous self.toFun
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      instance ContinuousAffineMap.instCoeContinuousAffineMapAffineMap {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] :
      Coe (P →A[R] Q) (P →ᵃ[R] Q)
      Equations
      • ContinuousAffineMap.instCoeContinuousAffineMapAffineMap = { coe := ContinuousAffineMap.toAffineMap }
      theorem ContinuousAffineMap.to_affineMap_injective {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {f : P →A[R] Q} {g : P →A[R] Q} (h : f.toAffineMap = g.toAffineMap) :
      f = g
      instance ContinuousAffineMap.instFunLikeContinuousAffineMap {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] :
      FunLike (P →A[R] Q) P Q
      Equations
      • ContinuousAffineMap.instFunLikeContinuousAffineMap = { coe := fun (f : P →A[R] Q) => f.toAffineMap, coe_injective' := }
      theorem ContinuousAffineMap.toFun_eq_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) :
      f.toFun = f
      theorem ContinuousAffineMap.coe_injective {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] :
      Function.Injective DFunLike.coe
      theorem ContinuousAffineMap.ext {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {f : P →A[R] Q} {g : P →A[R] Q} (h : ∀ (x : P), f x = g x) :
      f = g
      theorem ContinuousAffineMap.ext_iff {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {f : P →A[R] Q} {g : P →A[R] Q} :
      f = g ∀ (x : P), f x = g x
      theorem ContinuousAffineMap.congr_fun {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {f : P →A[R] Q} {g : P →A[R] Q} (h : f = g) (x : P) :
      f x = g x
      def ContinuousAffineMap.toContinuousMap {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) :
      C(P, Q)

      Forgetting its algebraic properties, a continuous affine map is a continuous map.

      Equations
      Instances For
        instance ContinuousAffineMap.instCoeHeadContinuousAffineMapContinuousMap {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] :
        CoeHead (P →A[R] Q) C(P, Q)
        Equations
        • ContinuousAffineMap.instCoeHeadContinuousAffineMapContinuousMap = { coe := ContinuousAffineMap.toContinuousMap }
        @[simp]
        theorem ContinuousAffineMap.toContinuousMap_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) :
        @[simp]
        theorem ContinuousAffineMap.coe_to_affineMap {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) :
        f.toAffineMap = f
        theorem ContinuousAffineMap.coe_to_continuousMap {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) :
        f = f
        theorem ContinuousAffineMap.to_continuousMap_injective {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {f : P →A[R] Q} {g : P →A[R] Q} (h : f = g) :
        f = g
        theorem ContinuousAffineMap.coe_affineMap_mk {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →ᵃ[R] Q) (h : Continuous f.toFun) :
        { toAffineMap := f, cont := h }.toAffineMap = f
        theorem ContinuousAffineMap.coe_continuousMap_mk {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →ᵃ[R] Q) (h : Continuous f.toFun) :
        { toAffineMap := f, cont := h } = { toFun := f, continuous_toFun := h }
        @[simp]
        theorem ContinuousAffineMap.coe_mk {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →ᵃ[R] Q) (h : Continuous f.toFun) :
        { toAffineMap := f, cont := h } = f
        @[simp]
        theorem ContinuousAffineMap.mk_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) (h : Continuous f.toFun) :
        { toAffineMap := f.toAffineMap, cont := h } = f
        theorem ContinuousAffineMap.continuous {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (f : P →A[R] Q) :
        def ContinuousAffineMap.const (R : Type u_1) {V : Type u_2} {W : Type u_3} (P : Type u_4) {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (q : Q) :
        P →A[R] Q

        The constant map is a continuous affine map.

        Equations
        Instances For
          @[simp]
          theorem ContinuousAffineMap.coe_const (R : Type u_1) {V : Type u_2} {W : Type u_3} (P : Type u_4) {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] (q : Q) :
          def ContinuousAffineMap.comp {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [AddCommGroup W₂] [Module R W₂] [TopologicalSpace Q₂] [AddTorsor W₂ Q₂] (f : Q →A[R] Q₂) (g : P →A[R] Q) :
          P →A[R] Q₂

          The composition of morphisms is a morphism.

          Equations
          Instances For
            @[simp]
            theorem ContinuousAffineMap.coe_comp {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [AddCommGroup W₂] [Module R W₂] [TopologicalSpace Q₂] [AddTorsor W₂ Q₂] (f : Q →A[R] Q₂) (g : P →A[R] Q) :
            (ContinuousAffineMap.comp f g) = f g
            theorem ContinuousAffineMap.comp_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace Q] [AddTorsor W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [AddCommGroup W₂] [Module R W₂] [TopologicalSpace Q₂] [AddTorsor W₂ Q₂] (f : Q →A[R] Q₂) (g : P →A[R] Q) (x : P) :
            (ContinuousAffineMap.comp f g) x = f (g x)
            Equations
            @[simp]
            theorem ContinuousAffineMap.coe_zero {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] :
            0 = 0
            theorem ContinuousAffineMap.zero_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] (x : P) :
            0 x = 0
            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem ContinuousAffineMap.coe_smul {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] {S : Type u_8} [TopologicalSpace W] [Monoid S] [DistribMulAction S W] [SMulCommClass R S W] [ContinuousConstSMul S W] (t : S) (f : P →A[R] W) :
            (t f) = t f
            theorem ContinuousAffineMap.smul_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] {S : Type u_8} [TopologicalSpace W] [Monoid S] [DistribMulAction S W] [SMulCommClass R S W] [ContinuousConstSMul S W] (t : S) (f : P →A[R] W) (x : P) :
            (t f) x = t f x
            Equations
            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem ContinuousAffineMap.coe_add {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] [TopologicalAddGroup W] (f : P →A[R] W) (g : P →A[R] W) :
            (f + g) = f + g
            theorem ContinuousAffineMap.add_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] [TopologicalAddGroup W] (f : P →A[R] W) (g : P →A[R] W) (x : P) :
            (f + g) x = f x + g x
            Equations
            • One or more equations did not get rendered due to their size.
            @[simp]
            theorem ContinuousAffineMap.coe_sub {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] [TopologicalAddGroup W] (f : P →A[R] W) (g : P →A[R] W) :
            (f - g) = f - g
            theorem ContinuousAffineMap.sub_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] [TopologicalAddGroup W] (f : P →A[R] W) (g : P →A[R] W) (x : P) :
            (f - g) x = f x - g x
            Equations
            • ContinuousAffineMap.instNegContinuousAffineMapAddGroupIsAddTorsorToAddGroup = { neg := fun (f : P →A[R] W) => let __src := -f.toAffineMap; { toAffineMap := __src, cont := } }
            @[simp]
            theorem ContinuousAffineMap.coe_neg {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] [TopologicalAddGroup W] (f : P →A[R] W) :
            (-f) = -f
            theorem ContinuousAffineMap.neg_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace P] [AddTorsor V P] [AddCommGroup W] [Module R W] [TopologicalSpace W] [TopologicalAddGroup W] (f : P →A[R] W) (x : P) :
            (-f) x = -f x
            Equations
            def ContinuousLinearMap.toContinuousAffineMap {R : Type u_1} {V : Type u_2} {W : Type u_3} [Ring R] [AddCommGroup V] [Module R V] [TopologicalSpace V] [AddCommGroup W] [Module R W] [TopologicalSpace W] (f : V →L[R] W) :
            V →A[R] W

            A continuous linear map can be regarded as a continuous affine map.

            Equations
            Instances For