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.

structure continuous_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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space W Q] :
Type (max u_2 u_3 u_4 u_5)

A continuous map of affine spaces.

@[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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [add_comm_group W₂] [module R W₂] [topological_space Q₂] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [add_comm_group W₂] [module R W₂] [topological_space Q₂] [affine_space 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] [affine_space V P] [add_comm_group W] [module R W] [topological_space Q] [affine_space W Q] {W₂ : Type u_6} {Q₂ : Type u_7} [add_comm_group W₂] [module R W₂] [topological_space Q₂] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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 {V : Type u_2} {W : Type u_3} {P : Type u_4} [add_comm_group V] [topological_space P] [affine_space V P] [add_comm_group W] {S : Type u_8} [comm_ring S] [module S V] [module S W] [topological_space W] [topological_space S] [has_continuous_smul S W] :
Equations
@[simp, norm_cast]
theorem continuous_affine_map.coe_smul {V : Type u_2} {W : Type u_3} {P : Type u_4} [add_comm_group V] [topological_space P] [affine_space V P] [add_comm_group W] {S : Type u_8} [comm_ring S] [module S V] [module S W] [topological_space W] [topological_space S] [has_continuous_smul S W] (t : S) (f : P →A[S] W) :
(t f) = t f
theorem continuous_affine_map.smul_apply {V : Type u_2} {W : Type u_3} {P : Type u_4} [add_comm_group V] [topological_space P] [affine_space V P] [add_comm_group W] {S : Type u_8} [comm_ring S] [module S V] [module S W] [topological_space W] [topological_space S] [has_continuous_smul S W] (t : S) (f : P →A[S] W) (x : P) :
(t f) x = t f x
@[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] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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] [affine_space 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.module {V : Type u_2} {W : Type u_3} {P : Type u_4} [add_comm_group V] [topological_space P] [affine_space V P] [add_comm_group W] {S : Type u_8} [comm_ring S] [module S V] [module S W] [topological_space W] [topological_space S] [has_continuous_smul S W] [topological_add_group W] :
module S (P →A[S] 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) :