A product of manifolds, charted on the product normed space #
Category: 1-Mathlib (CSD-free; upstream target Mathlib.Geometry.Manifold).
Mathlib charts M × N on the type synonym ModelProd E F with the model 𝓘(ℝ, E).prod 𝓘(ℝ, F),
and deliberately keeps that apart from the normed space E × F with its self model 𝓘(ℝ, E × F)
(modelWithCornersSelf_prod is the bridge, and its docstring says why it is kept separate). The
corpus's form layer (DifferentialForm.lean … HamiltonianFlowVolume.lean) is stated for self
models only, so to write a form on a product it needs the product charted on E × F.
This module supplies exactly that, by the same product charts:
Prod.instChartedSpaceSelf—ChartedSpace (E × F) (M × N), the chart at(x, y)being(chartAt E x).prod (chartAt F y)(chartAt_prod, definitional);Prod.instIsManifoldSelf—IsManifold 𝓘(ℝ, E × F) n (M × N)from the factors, through Mathlib's product instance andmodelWithCornersSelf_prod;- ★
fderiv_chart_transition_prod— the derivative of a product chart transition is the product of the factors' derivatives (ContinuousLinearMap.prodMap), which is what the local-representative machinery ofExteriorDerivative.leanreads on a product; contMDiff_fst_self,contMDiff_snd_self,hasMFDerivAt_fst_self,hasMFDerivAt_snd_self,ContMDiff.prodMk_self,HasMFDerivAt.prodMk_self— the projections and pairings are smooth, with the expected derivatives, for the self model (Mathlib's statements, read through the bridge);ChartCover.prod— a finite chart cover of each factor gives one of the product.
Honest scope #
⚠️ Two charted-space instances on M × N, keyed on the distinct model types
ModelProd E F and E × F. Instance search never confuses them; a lemma stated for one is not
automatically available for the other, which is why the transfer lemmas at the end exist.
⚠️ modelWithCornersSelf_prod is a propositional equality between models over different
Hs. The instance proofs rewrite along it and finish with the factor instances; nothing here
depends on the identification being definitional.
References: Mathlib/Geometry/Manifold/IsManifold/Basic.lean (modelWithCornersSelf_prod,
ModelProd); Geometry/Manifold/ExteriorDerivative.lean (tangent_symmL_eq_fderiv,
contDiffAt_chart_transition); Geometry/Manifold/ProductForm.lean (the consumer);
specs/BACKLOG.md (R-016′).
The charted space and the manifold structure #
★ The product charted on the normed space E × F, by the product charts.
Equations
The chart transition on a product is the product of the chart transitions.
★ The product of manifolds is a manifold over the product normed space.
The derivative of a product transition #
★ The derivative of a product chart transition is the product of the factors' derivatives, at every point where both factor transitions are defined.
Smoothness of the projections and of pairings, for the self model #
The manifold derivative of the first projection, for the self model.
The manifold derivative of the second projection, for the self model.
Replace the derivative in a HasMFDerivAt by an equal one. Stated once so that the equality
is used at a site where the two continuous linear maps have syntactically the same type; at a use
site exact h.congr_deriv h' lets unification identify the instance paths.
The manifold derivative of a pairing, for the self model on the product.
Chart covers of a product #
A finite chart cover of each factor covers the product by the product charts.