Darboux's theorem by Moser's trick #
Category: 1-Mathlib (CSD-free; staged for upstream). BACKLOG #8 (Q31 = G18), the assembly.
A closed 2-form that is non-degenerate at a point is, near that point, the pullback of a
constant form by a local diffeomorphism — Moser's proof. With ω₀ = ω(x₀),
η = ω − ω₀ and the interpolation ω_t = ω₀ + tη:
ηis closed and vanishes atx₀, so the Poincaré lemma (Analysis/Calculus/DifferentialForm/Poincare.lean) gives aC¹primitiveβwithdβ = η,β(x₀) = 0,Dβ(x₀) = 0—moserPrimitive;non-degeneracy is open (
isOpen_nondegenerate: it is invertibility ofcurryLeft, andContinuousLinearEquiv.isOpen), soω_tis non-degenerate nearx₀for|t| < 2(exists_moser_radius), and Moser's fieldX_t = −(ω_t)^♭⁻¹ β, i.e.ι_{X_t} ω_t = −β(moserField,curryLeft_moserForm_moserField), is jointlyC¹(contDiffOn_moserFieldJoint, throughcontDiffAt_map_inverse) and vanishes to second order atx₀(hasFDerivAt_moserField_self);its flow up to time
1exists on a small ball (Analysis/ODE/FlowDerivative.lean,exists_flow_hasFDerivAt_of_norm_fderiv_le, with‖DX_t‖ ≤ ¼there by a tube-lemma argument), and transports the interpolation:∂ₜω_t + L_{X_t} ω_t = η + d(ι_{X_t} ω_t) + ι_{X_t} dω_t = η − dβ + 0 = 0(the flat Cartan formulaflatLieDeriv_eq_extDeriv_flatInteriorProduct_add), soform_invariant_of_flatLieDeriv_eq_zero_timeDependentgivesφ_1^* ω = φ_0^* ω₀ = ω₀;the time-
1map approximates the identity with constant¼ e^{¼} < 1(approximatesLinearOn_flow, Grönwall + the mean value inequality), so it is anOpenPartialHomeomorphby Mathlib's inverse function theorem (ApproximatesLinearOn.toOpenPartialHomeomorph); its derivative is invertible because the pullback of a non-degenerate form is non-degenerate.★★
exists_openPartialHomeomorph_pullback_eq— Darboux on a ball: forωof classC^n(1 ≤ n ≤ ∞) and closed onball x₀ Rwithω(x₀)non-degenerate, there is an open partial homeomorphismΦofEwithx₀ ∈ Φ.source ⊆ ball x₀ R,Φ x₀ = x₀,C^non its source withC^ninverse on its target, differentiable at every point of its source with invertible derivativeD, andω(Φ x)(D u, D v) = ω(x₀)(u, v):Φ^* ω = ω(x₀). TheC^nregularity iscontDiffOn_flow_of_contDiffOn(Analysis/ODE/FlowSmooth.lean:C^ndependence of the flow of the jointlyC^nMoser field on the initial point,contDiffOn_moserFieldJoint') and Mathlib'sOpenPartialHomeomorph.contDiffAt_symmfor the inverse;★
exists_openPartialHomeomorph_symm_pullback_eq— the same read on the chartΦ.symm:ω y (u, v) = ω(x₀)(D(Φ⁻¹)(y) u, D(Φ⁻¹)(y) v)onΦ.target— in the chartΦ⁻¹,ωis the constant formω(x₀);mem_contDiffGroupoid_of_contDiffOn— an open partial homeomorphism of the model space that isC^nwithC^ninverse belongs to theC^ngroupoid;StructureGroupoid.trans_mem_maximalAtlas— a chart of the maximal atlas composed with a member of the groupoid stays in the maximal atlas;★★
DifferentialForm.IsSymplectic.exists_openPartialHomeomorph_localRep_pullback_eq— Darboux on a symplectic manifold: at every point the local representative of the form in the chart is, after a further open partial homeomorphismΦof the model space fixing the point, the constant formω_loc(chart x₀); the Darboux chartΦ⁻¹ ∘ chartAt E x₀containsx₀, isC^∞withC^∞inverse and belongs to theC^∞maximal atlas ofM. The standard form∑ dpᵢ ∧ dqᵢisGeometry/Manifold/DarbouxStandardForm.lean.
Honest scope #
Order n. For ω of class C^n (1 ≤ n ≤ ∞) the Poincaré primitive is C^n
(Analysis/Calculus/ContDiffParametricIntervalIntegral.lean), Moser's field is jointly C^n
(contDiffOn_moserFieldJoint'), its flow is C^n in the initial point (contDiffOn_flow_of_contDiffOn,
Analysis/ODE/FlowSmooth.lean), and so the chart Φ is C^n with C^n inverse; on a symplectic
manifold the Darboux chart is C^∞ and a member of the C^∞ maximal atlas.
The constant form here; the standard form downstream. Moser's trick produces the constant
form ω(x₀); Geometry/Manifold/DarbouxStandardForm.lean composes the chart with the coordinates
of a symplectic basis of ω(x₀) (LinearAlgebra/BilinearForm/SymplecticBasis.lean) and states the
textbook form ω = Ψ^* (∑ dpᵢ ∧ dqᵢ) on ℝ^{2n}, with finrank E = 2n.
References: J. Moser, On the volume elements on a manifold, Trans. AMS 120 (1965);
A. Weinstein, Symplectic manifolds and their Lagrangian submanifolds, Adv. Math. 6 (1971);
D. McDuff, D. Salamon, Introduction to Symplectic Topology, Thm 3.2.2;
Analysis/Calculus/DifferentialForm/Poincare.lean; Analysis/ODE/FlowDerivative.lean;
Geometry/Manifold/HamiltonianLieDerivative.lean; specs/BACKLOG.md #8;
specs/generator-layer-scoping.md §9 (G18) and Q31.
Non-degeneracy is open #
curryLeft is a bounded linear map on 2-forms.
Non-degeneracy of a 2-form is invertibility of curryLeft.
Every 2-form close to a non-degenerate one is non-degenerate.
Moser's data #
The radial primitive β of the deviation on the ball: dβ = ω − ω(x₀).
Equations
- moserPrimitive ω x₀ R = radialPrimitiveForm (moserDeviation ω x₀) x₀ R
Instances For
Moser's vector field X_t = −(ω_t)^♭⁻¹ β, i.e. ι_{X_t} ω_t = −β where ω_t is
non-degenerate (ContinuousLinearMap.inverse is 0 elsewhere), as a function of (t, z).
Equations
- moserFieldJoint ω x₀ R q = (moserForm ω x₀ q.1 q.2).curryLeft.inverse (-moserPrimitive ω x₀ R q.2)
Instances For
Moser's vector field at time t.
Equations
- moserField ω x₀ R t z = moserFieldJoint ω x₀ R (t, z)
Instances For
β is C^n on the ball for ω of class C^n, 1 ≤ n ≤ ∞.
β vanishes to second order at the centre.
dβ = ω − ω(x₀) on the ball (the Poincaré lemma).
The interpolation is jointly C¹ in (t, z).
The interpolation is jointly C^n in (t, z) for ω of class C^n.
X_t(x₀) = 0.
The assembly #
The ball on which Moser's interpolation stays non-degenerate for |t| < 2.
Moser's field is jointly C¹ on Ioo (-2) 2 ×ˢ ball x₀ r where the interpolation is
non-degenerate.
Moser's field is jointly C^n on (-2, 2) × ball x₀ r for ω of class C^n,
1 ≤ n ≤ ∞, where the interpolation is non-degenerate.
X_t for fixed t is C¹ at a point where the joint field is.
The derivative of X_t in z is the partial derivative of the joint field.
X_t vanishes to second order at x₀: D X_t (x₀) = 0.
The small ball: a radius a on which ‖D X_t‖ ≤ ¼ for all t ∈ [0, 1], by the tube
lemma along the compact [0, 1] × {x₀}.
The time-1 map of a flow whose field is ¼-Lipschitz on the trajectories' ball approximates
the identity with constant ¼ e^{¼} (the mean value inequality on the difference of two
trajectories, with the Grönwall separation).
The contraction constant ¼ e^{¼} is below the inverse norm of the identity.
The pullback of a non-degenerate form along D is non-degenerate only if D is injective:
so a derivative D with ω(Φ x) ∘ D = ω(x₀) is a linear equivalence.
Darboux's theorem on a ball #
★★ Darboux's theorem on a ball, by Moser's trick. If ω is C^n (1 ≤ n ≤ ∞) and
closed on ball x₀ R and ω(x₀) is non-degenerate, there is an open partial homeomorphism Φ
of E with x₀ ∈ Φ.source ⊆ ball x₀ R, Φ.target ⊆ ball x₀ R and Φ x₀ = x₀, C^n on its
source with C^n inverse on its target, differentiable at every point x of its source with an
invertible derivative D, such that ω(Φ x)(D u, D v) = ω(x₀)(u, v): Φ^* ω is the constant
form ω(x₀). (The C^n regularity is contDiffOn_flow_of_contDiffOn: the time-1 map of the
jointly C^n Moser field, on the half-ball where the flow is Lipschitz in the initial point.)
★ Darboux's theorem, read on the chart: in the C^n chart Φ⁻¹ the form is constant —
ω y (u, v) = ω(x₀)(D(Φ⁻¹)(y) u, D(Φ⁻¹)(y) v) at every y ∈ Φ.target.
Charts of the C^n maximal atlas #
An open partial homeomorphism of the model space E that is C^n on its source with a C^n
inverse on its target belongs to the C^n groupoid of 𝓘(ℝ, E).
A chart of the maximal atlas composed with a member of the groupoid on the model side stays in the maximal atlas.
Darboux on a symplectic manifold #
★★ Darboux's theorem on a symplectic manifold. At every point x₀ there is an open partial
homeomorphism Φ of the model space, fixing chartAt E x₀ x₀ and contained in the chart's
target, C^∞ with C^∞ inverse, along which the local representative of the form pulls back to
the constant form ω_loc(chartAt E x₀ x₀): the Darboux chart Φ⁻¹ ∘ chartAt E x₀ contains x₀
and belongs to the C^∞ maximal atlas of M.