# mathlibdocumentation

geometry.manifold.derivation_bundle

# Derivation bundle #

In this file we define the derivations at a point of a manifold on the algebra of smooth fuctions. Moreover, we define the differential of a function in terms of derivations.

The content of this file is not meant to be regarded as an alternative definition to the current tangent bundle but rather as a purely algebraic theory that provides a purely algebraic definition of the Lie algebra for a Lie group.

@[instance]
def smooth_functions_algebra (𝕜 : Type u_1) {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) (M : Type u_4) [ M] :
C^I, M; 𝓘(𝕜, 𝕜), 𝕜
Equations
@[instance]
def smooth_functions_tower (𝕜 : Type u_1) {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) (M : Type u_4) [ M] :
C^I, M; 𝓘(𝕜, 𝕜), 𝕜 C^I, M; 𝓘(𝕜, 𝕜), 𝕜
@[nolint]
def pointed_smooth_map (𝕜 : Type u_1) {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) (M : Type u_4) [ M] (n : with_top ) (x : M) :
Type (max u_4 u_1)

Type synonym, introduced to put a different has_scalar action on C^n⟮I, M; 𝕜⟯ which is defined as f • r = f(x) * r.

Equations
@[instance]
def pointed_smooth_map.has_coe_to_fun {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] {x : M} :
Equations
@[instance]
def pointed_smooth_map.comm_ring {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] {x : M} :
Equations
@[instance]
def pointed_smooth_map.algebra {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] {x : M} :
Equations
@[instance]
def pointed_smooth_map.inhabited {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] {x : M} :
Equations
@[instance]
def pointed_smooth_map.times_cont_mdiff_map.algebra {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] {x : M} :
Equations
@[instance]
def pointed_smooth_map.times_cont_mdiff_map.is_scalar_tower {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] {x : M} :
C^I,M;𝕜⟯⟨x C^I, M; 𝓘(𝕜, 𝕜), 𝕜
@[instance]
def pointed_smooth_map.eval_algebra {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] {x : M} :

smooth_map.eval_ring_hom gives rise to an algebra structure of C^∞⟮I, M; 𝕜⟯ on 𝕜.

Equations
def pointed_smooth_map.eval {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] (x : M) :

With the eval_algebra algebra structure evaluation is actually an algebra morphism.

Equations
theorem pointed_smooth_map.smul_def {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] (x : M) (f : C^I,M;𝕜⟯⟨x) (k : 𝕜) :
f k = (f x) * k
@[instance]
def pointed_smooth_map.is_scalar_tower {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] (x : M) :
C^I,M;𝕜⟯⟨x 𝕜
def point_derivation {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] (x : M) :
Type (max u_4 u_1)

The derivations at a point of a manifold. Some regard this as a possible definition of the tangent space

Equations
def smooth_function.eval_at {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} (I : H) {M : Type u_4} [ M] (x : M) :

Evaluation at a point gives rise to a C^∞⟮I, M; 𝕜⟯-linear map between C^∞⟮I, M; 𝕜⟯ and 𝕜.

Equations
def derivation.eval_at {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] (x : M) :
C^I, M; 𝓘(𝕜, 𝕜), 𝕜 C^I, M; 𝓘(𝕜, 𝕜), 𝕜 →ₗ[𝕜]

The evaluation at a point as a linear map.

Equations
theorem derivation.eval_at_apply {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] (X : C^I, M; 𝓘(𝕜, 𝕜), 𝕜 C^I, M; 𝓘(𝕜, 𝕜), 𝕜) (f : C^I, M; 𝓘(𝕜, 𝕜), 𝕜) (x : M) :
( X) f = (X f) x
def hfdifferential {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] {E' : Type u_5} [normed_group E'] [ E'] {H' : Type u_6} {I' : H'} {M' : Type u_7} [ M'] {f : C^I, M; I', M'} {x : M} {y : M'} (h : f x = y) :
→ₗ[𝕜] y

The heterogeneous differential as a linear map. Instead of taking a function as an argument this differential takes h : f x = y. It is particularly handy to deal with situations where the points on where it has to be evaluated are equal but not definitionally equal.

Equations
def fdifferential {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] {E' : Type u_5} [normed_group E'] [ E'] {H' : Type u_6} {I' : H'} {M' : Type u_7} [ M'] (f : C^I, M; I', M') (x : M) :
→ₗ[𝕜] (f x)

The homogeneous differential as a linear map.

Equations
@[simp]
theorem apply_fdifferential {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] {E' : Type u_5} [normed_group E'] [ E'] {H' : Type u_6} {I' : H'} {M' : Type u_7} [ M'] (f : C^I, M; I', M') {x : M} (v : x) (g : C^I', M'; 𝓘(𝕜, 𝕜), 𝕜) :
((𝒅 f x) v) g = v (g.comp f)
@[simp]
theorem apply_hfdifferential {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] {E' : Type u_5} [normed_group E'] [ E'] {H' : Type u_6} {I' : H'} {M' : Type u_7} [ M'] {f : C^I, M; I', M'} {x : M} {y : M'} (h : f x = y) (v : x) (g : C^I', M'; 𝓘(𝕜, 𝕜), 𝕜) :
((𝒅ₕ h) v) g = ((𝒅 f x) v) g
@[simp]
theorem fdifferential_comp {𝕜 : Type u_1} {E : Type u_2} [normed_group E] [ E] {H : Type u_3} {I : H} {M : Type u_4} [ M] {E' : Type u_5} [normed_group E'] [ E'] {H' : Type u_6} {I' : H'} {M' : Type u_7} [ M'] {E'' : Type u_8} [normed_group E''] [ E''] {H'' : Type u_9} [topological_space H''] {I'' : E'' H''} {M'' : Type u_10} [topological_space M''] [ M''] (g : C^I', M'; I'', M'') (f : C^I, M; I', M') (x : M) :
𝒅 (g.comp f) x = (𝒅 g (f x)).comp (𝒅 f x)