Smooth functions between smooth manifolds #
We define Cⁿ
functions between smooth manifolds, as functions which are Cⁿ
in charts, and prove
basic properties of these notions.
Main definitions and statements #
Let M
and M'
be two smooth manifolds, with respect to model with corners I
and I'
. Let
f : M → M'
.
times_cont_mdiff_within_at I I' n f s x
states that the functionf
isCⁿ
within the sets
around the pointx
.times_cont_mdiff_at I I' n f x
states that the functionf
isCⁿ
aroundx
.times_cont_mdiff_on I I' n f s
states that the functionf
isCⁿ
on the sets
times_cont_mdiff I I' n f
states that the functionf
isCⁿ
.times_cont_mdiff_on.comp
gives the invariance of theCⁿ
property under compositiontimes_cont_mdiff_on.times_cont_mdiff_on_tangent_map_within
states that the bundled derivative of aCⁿ
function in a domain isCᵐ
whenm + 1 ≤ n
.times_cont_mdiff.times_cont_mdiff_tangent_map
states that the bundled derivative of aCⁿ
function isCᵐ
whenm + 1 ≤ n
.times_cont_mdiff_iff_times_cont_diff
states that, for functions between vector spaces, manifold-smoothness is equivalent to usual smoothness.
We also give many basic properties of smooth functions between manifolds, following the API of smooth functions between vector spaces.
Implementation details #
Many properties follow for free from the corresponding properties of functions in vector spaces,
as being Cⁿ
is a local property invariant under the smooth groupoid. We take advantage of the
general machinery developed in local_invariant_properties.lean
to get these properties
automatically. For instance, the fact that being Cⁿ
does not depend on the chart one considers
is given by lift_prop_within_at_indep_chart
.
For this to work, the definition of times_cont_mdiff_within_at
and friends has to
follow definitionally the setup of local invariant properties. Still, we recast the definition
in terms of extended charts in times_cont_mdiff_on_iff
and times_cont_mdiff_iff
.
Definition of smooth functions between manifolds #
Property in the model space of a model with corners of being C^n
within at set at a point,
when read in the model vector space. This property will be lifted to manifolds to define smooth
functions between manifolds.
Being Cⁿ
in the model space is a local property, invariant under smooth maps. Therefore,
it will lift nicely to manifolds.
A function is n
times continuously differentiable within a set at a point in a manifold if
it is continuous and it is n
times continuously differentiable in this set around this point, when
read in the preferred chart at this point.
Equations
- times_cont_mdiff_within_at I I' n f s x = lift_prop_within_at (times_cont_diff_within_at_prop I I' n) f s x
Abbreviation for times_cont_mdiff_within_at I I' ⊤ f s x
. See also documentation for smooth
.
Equations
- smooth_within_at I I' f s x = times_cont_mdiff_within_at I I' ⊤ f s x
A function is n
times continuously differentiable at a point in a manifold if
it is continuous and it is n
times continuously differentiable around this point, when
read in the preferred chart at this point.
Equations
- times_cont_mdiff_at I I' n f x = times_cont_mdiff_within_at I I' n f set.univ x
Abbreviation for times_cont_mdiff_at I I' ⊤ f x
. See also documentation for smooth
.
Equations
- smooth_at I I' f x = times_cont_mdiff_at I I' ⊤ f x
A function is n
times continuously differentiable in a set of a manifold if it is continuous
and, for any pair of points, it is n
times continuously differentiable on this set in the charts
around these points.
Equations
- times_cont_mdiff_on I I' n f s = ∀ (x : M), x ∈ s → times_cont_mdiff_within_at I I' n f s x
Abbreviation for times_cont_mdiff_on I I' ⊤ f s
. See also documentation for smooth
.
Equations
- smooth_on I I' f s = times_cont_mdiff_on I I' ⊤ f s
A function is n
times continuously differentiable in a manifold if it is continuous
and, for any pair of points, it is n
times continuously differentiable in the charts
around these points.
Equations
- times_cont_mdiff I I' n f = ∀ (x : M), times_cont_mdiff_at I I' n f x
Abbreviation for times_cont_mdiff I I' ⊤ f
.
Short note to work with these abbreviations: a lemma of the form times_cont_mdiff_foo.bar
will
apply fine to an assumption smooth_foo
using dot notation or normal notation.
If the consequence bar
of the lemma involves times_cont_diff
, it is still better to restate
the lemma replacing times_cont_diff
with smooth
both in the assumption and in the conclusion,
to make it possible to use smooth
consistently.
This also applies to smooth_at
, smooth_on
and smooth_within_at
.
Equations
- smooth I I' f = times_cont_mdiff I I' ⊤ f
Basic properties of smooth functions between manifolds #
One can reformulate smoothness within a set at a point as continuity within this set at this point, and smoothness in the corresponding extended chart.
One can reformulate smoothness within a set at a point as continuity within this set at this
point, and smoothness in the corresponding extended chart. This form states smoothness of f
written in the ext_chart_at
s within the set (ext_chart_at I x).symm ⁻¹' s ∩ range I
. This set
is larger than the set
(ext_chart_at I x).target ∩ (ext_chart_at I x).symm ⁻¹' (s ∩ f ⁻¹' (ext_chart_at I' (f x)).source)
used in times_cont_mdiff_within_at_iff
but their germs at ext_chart_at I x x
are equal. It may
be useful to rewrite using times_cont_mdiff_within_at_iff''
in the assumptions of a lemma and
using times_cont_mdiff_within_at_iff
in the goal.
One can reformulate smoothness within a set at a point as continuity within this set at this point, and smoothness in the corresponding extended chart in the target.
One can reformulate smoothness within a set at a point as continuity within this set at this point, and smoothness in the corresponding extended chart.
One can reformulate smoothness on a set as continuity on this set, and smoothness in any extended chart.
One can reformulate smoothness on a set as continuity on this set, and smoothness in any extended chart in the target.
One can reformulate smoothness as continuity and smoothness in any extended chart.
One can reformulate smoothness as continuity and smoothness in any extended chart in the target.
Deducing smoothness from higher smoothness #
Deducing smoothness from smoothness one step beyond #
Deducing continuity from smoothness #
Deducing differentiability from smoothness #
C^∞
smoothness #
Restriction to a smaller set #
A function is C^n
within a set at a point, for n : ℕ
, if and only if it is C^n
on
a neighborhood of this point.
A function is C^n
at a point, for n : ℕ
, if and only if it is C^n
on
a neighborhood of this point.
Congruence lemmas #
Locality #
Being C^n
is a local property.
Smoothness of the composition of smooth functions between manifolds #
The composition of C^n
functions within domains at points is C^n
.
The composition of C^n
functions on domains is C^n
.
The composition of C^n
functions on domains is C^n
.
The composition of C^n
functions is C^n
.
The composition of C^n
functions within domains at points is C^n
.
g ∘ f
is C^n
within s
at x
if g
is C^n
at f x
and
f
is C^n
within s
at x
.
The composition of C^n
functions at points is C^n
.
Atlas members are smooth #
An atlas member is C^n
for any n
.
The inverse of an atlas member is C^n
for any n
.
The identity is smooth #
Constants are smooth #
Equivalence with the basic definition for functions between vector spaces #
Alias of times_cont_mdiff_within_at_iff_times_cont_diff_within_at
.
Alias of times_cont_mdiff_within_at_iff_times_cont_diff_within_at
.
Alias of times_cont_mdiff_iff_times_cont_diff
.
Alias of times_cont_mdiff_iff_times_cont_diff
.
The tangent map of a smooth function is smooth #
If a function is C^n
with 1 ≤ n
on a domain with unique derivatives, then its bundled
derivative is continuous. In this auxiliary lemma, we prove this fact when the source and target
space are model spaces in models with corners. The general fact is proved in
times_cont_mdiff_on.continuous_on_tangent_map_within
If a function is C^n
on a domain with unique derivatives, then its bundled derivative is
C^m
when m+1 ≤ n
. In this auxiliary lemma, we prove this fact when the source and target space
are model spaces in models with corners. The general fact is proved in
times_cont_mdiff_on.times_cont_mdiff_on_tangent_map_within
If a function is C^n
on a domain with unique derivatives, then its bundled derivative
is C^m
when m+1 ≤ n
.
If a function is C^n
on a domain with unique derivatives, with 1 ≤ n
, then its bundled
derivative is continuous there.
If a function is C^n
, then its bundled derivative is C^m
when m+1 ≤ n
.
If a function is C^n
, with 1 ≤ n
, then its bundled derivative is continuous.
Smoothness of the projection in a basic smooth bundle #
If an element of E'
is invariant under all coordinate changes, then one can define a
corresponding section of the fiber bundle, which is smooth. This applies in particular to the
zero section of a vector bundle. Another example (not yet defined) would be the identity
section of the endomorphism bundle of a vector bundle.
Smoothness of the tangent bundle projection #
The zero section of the tangent bundle
Equations
- tangent_bundle.zero_section I M = λ (x : M), ⟨x, 0⟩
The derivative of the zero section of the tangent bundle maps ⟨x, v⟩
to ⟨⟨x, 0⟩, ⟨v, 0⟩⟩
.
Note that, as currently framed, this is a statement in coordinates, thus reliant on the choice of the coordinate system we use on the tangent bundle.
However, the result itself is coordinate-dependent only to the extent that the coordinates determine a splitting of the tangent bundle. Moreover, there is a canonical splitting at each point of the zero section (since there is a canonical horizontal space there, the tangent space to the zero section, in addition to the canonical vertical space which is the kernel of the derivative of the projection), and this canonical splitting is also the one that comes from the coordinates on the tangent bundle in our definitions. So this statement is not as crazy as it may seem.
TODO define splittings of vector bundles; state this result invariantly.