Smooth functions between smooth manifolds #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
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'
.
cont_mdiff_within_at I I' n f s x
states that the functionf
isCⁿ
within the sets
around the pointx
.cont_mdiff_at I I' n f x
states that the functionf
isCⁿ
aroundx
.cont_mdiff_on I I' n f s
states that the functionf
isCⁿ
on the sets
cont_mdiff I I' n f
states that the functionf
isCⁿ
.cont_mdiff_on.comp
gives the invariance of theCⁿ
property under compositioncont_mdiff_iff_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 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 cont_mdiff_on_iff
and 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
- cont_mdiff_within_at I I' n f s x = charted_space.lift_prop_within_at (cont_diff_within_at_prop I I' n) f s x
Abbreviation for cont_mdiff_within_at I I' ⊤ f s x
. See also documentation for smooth
.
Equations
- smooth_within_at I I' f s x = 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
- cont_mdiff_at I I' n f x = cont_mdiff_within_at I I' n f set.univ x
Abbreviation for cont_mdiff_at I I' ⊤ f x
. See also documentation for smooth
.
Equations
- smooth_at I I' f x = 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
- cont_mdiff_on I I' n f s = ∀ (x : M), x ∈ s → cont_mdiff_within_at I I' n f s x
Abbreviation for cont_mdiff_on I I' ⊤ f s
. See also documentation for smooth
.
Equations
- smooth_on I I' f s = 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
- cont_mdiff I I' n f = ∀ (x : M), cont_mdiff_at I I' n f x
Abbreviation for cont_mdiff I I' ⊤ f
.
Short note to work with these abbreviations: a lemma of the form 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 cont_diff
, it is still better to restate
the lemma replacing 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 = 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 such a way that the set is restricted to lie within the domain/codomain of the
corresponding charts.
Even though this expression is more complicated than the one in cont_mdiff_within_at_iff
, it is
a smaller set, but their germs at ext_chart_at I x x
are equal. It is sometimes useful to rewrite
using this 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.
An alternative formulation of cont_mdiff_within_at_iff_of_mem_maximal_atlas
if the set if s
lies in e.source
.
One can reformulate smoothness within a set at a point as continuity within this set at this point, and smoothness in any chart containing that point.
If the set where you want f
to be smooth lies entirely in a single chart, and f
maps it
into a single chart, the smoothness of f
on that set can be expressed by purely looking in
these charts.
Note: this lemma uses ext_chart_at I x '' s
instead of (ext_chart_at I x).symm ⁻¹' s
to ensure
that this set lies in (ext_chart_at I x).target
.
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 #
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.
Note: This does not hold for n = ∞
. f
being C^∞
at x
means that for every n
, f
is
C^n
on some neighborhood of x
, but this neighborhood can depend on n
.
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^∞
functions within domains at points is C^∞
.
The composition of C^n
functions on domains is C^n
.
The composition of C^∞
functions on domains is C^∞
.
The composition of C^n
functions on domains is C^n
.
The composition of C^∞
functions is C^∞
.
The composition of C^n
functions is C^n
.
The composition of C^∞
functions is C^∞
.
The composition of C^n
functions within domains at points is C^n
.
The composition of C^∞
functions within domains at points is C^∞
.
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
.
g ∘ f
is C^∞
within s
at x
if g
is C^∞
at f x
and
f
is C^∞
within s
at x
.
The composition of C^n
functions at points is C^n
.
The composition of C^∞
functions at points is C^∞
.
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
.
An element of cont_diff_groupoid ⊤ I
is C^n
for any n
.
The identity is smooth #
Constants are smooth #
The inclusion map from one open set to another is smooth #
Equivalence with the basic definition for functions between vector spaces #
Alias of the forward direction of cont_mdiff_within_at_iff_cont_diff_within_at
.
Alias of the reverse direction of cont_mdiff_within_at_iff_cont_diff_within_at
.
Alias of the reverse direction of cont_mdiff_at_iff_cont_diff_at
.
Alias of the forward direction of cont_mdiff_at_iff_cont_diff_at
.
Alias of the forward direction of cont_mdiff_on_iff_cont_diff_on
.
Alias of the reverse direction of cont_mdiff_on_iff_cont_diff_on
.
Alias of the reverse direction of cont_mdiff_iff_cont_diff
.
Alias of the forward direction of cont_mdiff_iff_cont_diff
.
Smoothness of standard maps associated to the product of manifolds #
The product map of two C^n
functions within a set at a point is C^n
within the product set at the product point.
Smoothness of functions with codomain Π i, F i
#
We have no model_with_corners.pi
yet, so we prove lemmas about functions f : M → Π i, F i
and
use 𝓘(𝕜, Π i, F i)
as the model space.
Linear maps between normed spaces are smooth #
Smoothness of standard operations #
On any vector space, multiplication by a scalar is a smooth operation.
Smoothness of (local) structomorphisms #
Let M
and M'
be smooth manifolds with the same model-with-corners, I
. Then f : M → M'
is a local structomorphism for I
, if and only if it is manifold-smooth on the domain of definition
in both directions.