mathlib documentation

topology.algebra.continuous_affine_map

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 continuous_affine_map R P Q. Note that this is parallel to the notation E →L[R] F for continuous_linear_map R E F.

@[protected, instance]
def continuous_affine_map.has_coe_to_fun {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] :
has_coe_to_fun (P →A[R] Q) (λ (_x : P →A[R] Q), P → Q)

see Note [function coercion]

Equations
theorem continuous_affine_map.to_fun_eq_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
theorem continuous_affine_map.coe_injective {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] :
@[ext]
theorem continuous_affine_map.ext {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {f g : P →A[R] Q} (h : ∀ (x : P), f x = g x) :
f = g
theorem continuous_affine_map.ext_iff {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {f g : P →A[R] Q} :
f = g ∀ (x : P), f x = g x
theorem continuous_affine_map.congr_fun {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {f g : P →A[R] Q} (h : f = g) (x : P) :
f x = g x
@[protected, instance]
def continuous_affine_map.affine_map.has_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] :
has_coe (P →A[R] Q) (P →ᵃ[R] Q)
Equations
def continuous_affine_map.to_continuous_map {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
C(P, Q)

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

Equations
@[protected, instance]
def continuous_affine_map.continuous_map.has_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] :
has_coe (P →A[R] Q) C(P, Q)
Equations
@[simp]
theorem continuous_affine_map.to_affine_map_eq_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
@[simp]
theorem continuous_affine_map.to_continuous_map_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
@[simp, norm_cast]
theorem continuous_affine_map.coe_to_affine_map {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
@[simp, norm_cast]
theorem continuous_affine_map.coe_to_continuous_map {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
theorem continuous_affine_map.to_affine_map_injective {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {f g : P →A[R] Q} (h : f = g) :
f = g
theorem continuous_affine_map.to_continuous_map_injective {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {f g : P →A[R] Q} (h : f = g) :
f = g
@[norm_cast]
theorem continuous_affine_map.coe_affine_map_mk {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →ᵃ[R] Q) (h : continuous f.to_fun) :
{to_affine_map := f, cont := h} = f
@[norm_cast]
theorem continuous_affine_map.coe_continuous_map_mk {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →ᵃ[R] Q) (h : continuous f.to_fun) :
@[simp]
theorem continuous_affine_map.coe_mk {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →ᵃ[R] Q) (h : continuous f.to_fun) :
@[simp]
theorem continuous_affine_map.mk_coe {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) (h : continuous f.to_fun) :
{to_affine_map := f, cont := h} = f
@[protected, continuity]
theorem continuous_affine_map.continuous {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (f : P →A[R] Q) :
def continuous_affine_map.const (R : Type u_1) {V : Type u_2} {W : Type u_3} (P : Type u_4) {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (q : Q) :
P →A[R] Q

The constant map is a continuous affine map.

Equations
@[simp]
theorem continuous_affine_map.coe_const (R : Type u_1) {V : Type u_2} {W : Type u_3} (P : Type u_4) {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] (q : Q) :
@[protected, instance]
noncomputable def continuous_affine_map.inhabited (R : Type u_1) {V : Type u_2} {W : Type u_3} (P : Type u_4) {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] :
Equations
def continuous_affine_map.comp {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [add_comm_group W₂] [module R W₂] [topological_space Q₂] [add_torsor W₂ Q₂] (f : Q →A[R] Q₂) (g : P →A[R] Q) :
P →A[R] Q₂

The composition of morphisms is a morphism.

Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_comp {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [add_comm_group W₂] [module R W₂] [topological_space Q₂] [add_torsor W₂ Q₂] (f : Q →A[R] Q₂) (g : P →A[R] Q) :
(f.comp g) = f g
theorem continuous_affine_map.comp_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} {Q : Type u_5} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space Q] [add_torsor W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [add_comm_group W₂] [module R W₂] [topological_space Q₂] [add_torsor W₂ Q₂] (f : Q →A[R] Q₂) (g : P →A[R] Q) (x : P) :
(f.comp g) x = f (g x)
@[protected, instance]
def continuous_affine_map.has_zero {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] :
Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_zero {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] :
0 = 0
theorem continuous_affine_map.zero_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] (x : P) :
0 x = 0
@[protected, instance]
def continuous_affine_map.has_scalar {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [monoid S] [distrib_mul_action S W] [smul_comm_class R S W] [has_continuous_const_smul S W] :
Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_smul {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [monoid S] [distrib_mul_action S W] [smul_comm_class R S W] [has_continuous_const_smul S W] (t : S) (f : P →A[R] W) :
(t f) = t f
theorem continuous_affine_map.smul_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [monoid S] [distrib_mul_action S W] [smul_comm_class R S W] [has_continuous_const_smul S W] (t : S) (f : P →A[R] W) (x : P) :
(t f) x = t f x
@[protected, instance]
def continuous_affine_map.is_central_scalar {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [monoid S] [distrib_mul_action S W] [smul_comm_class R S W] [has_continuous_const_smul S W] [distrib_mul_action Sᵐᵒᵖ W] [is_central_scalar S W] :
@[protected, instance]
def continuous_affine_map.mul_action {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [monoid S] [distrib_mul_action S W] [smul_comm_class R S W] [has_continuous_const_smul S W] :
Equations
@[protected, instance]
def continuous_affine_map.has_add {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] :
Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_add {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] (f g : P →A[R] W) :
(f + g) = f + g
theorem continuous_affine_map.add_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] (f g : P →A[R] W) (x : P) :
(f + g) x = f x + g x
@[protected, instance]
def continuous_affine_map.has_sub {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] :
Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_sub {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] (f g : P →A[R] W) :
(f - g) = f - g
theorem continuous_affine_map.sub_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] (f g : P →A[R] W) (x : P) :
(f - g) x = f x - g x
@[protected, instance]
def continuous_affine_map.has_neg {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] :
Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_neg {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] (f : P →A[R] W) :
theorem continuous_affine_map.neg_apply {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] (f : P →A[R] W) (x : P) :
(-f) x = -f x
@[protected, instance]
def continuous_affine_map.add_comm_group {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] [topological_space W] [topological_add_group W] :
Equations
@[protected, instance]
def continuous_affine_map.distrib_mul_action {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [topological_add_group W] [monoid S] [distrib_mul_action S W] [smul_comm_class R S W] [has_continuous_const_smul S W] :
Equations
@[protected, instance]
def continuous_affine_map.module {R : Type u_1} {V : Type u_2} {W : Type u_3} {P : Type u_4} [ring R] [add_comm_group V] [module R V] [topological_space P] [add_torsor V P] [add_comm_group W] [module R W] {S : Type u_8} [topological_space W] [topological_add_group W] [semiring S] [module S W] [smul_comm_class R S W] [has_continuous_const_smul S W] :
module S (P →A[R] W)
Equations
def continuous_linear_map.to_continuous_affine_map {R : Type u_1} {V : Type u_2} {W : Type u_3} [ring R] [add_comm_group V] [module R V] [topological_space V] [add_comm_group W] [module R W] [topological_space W] (f : V →L[R] W) :
V →A[R] W

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

Equations
@[simp]
theorem continuous_linear_map.coe_to_continuous_affine_map {R : Type u_1} {V : Type u_2} {W : Type u_3} [ring R] [add_comm_group V] [module R V] [topological_space V] [add_comm_group W] [module R W] [topological_space W] (f : V →L[R] W) :
@[simp]
theorem continuous_linear_map.to_continuous_affine_map_map_zero {R : Type u_1} {V : Type u_2} {W : Type u_3} [ring R] [add_comm_group V] [module R V] [topological_space V] [add_comm_group W] [module R W] [topological_space W] (f : V →L[R] W) :