Differentiability and inversion of the frozen Vlasov flow #
The variational equation gives the spatial and joint derivatives of the flow and its inverse. The Jacobian and explicit fundamental matrix remain together so their generated proof declarations are shared as before.
C3 D1 (Jacobian). The phase-space Jacobian A(s, p) = D_w b(s, p) of the frozen Vlasov
field at the base point p: the block continuous-linear map δ ↦ (δ.2, −(D_x conv ρ_s)(p.1)·δ.1),
where D_x conv ρ_s (p.1) = ∫ y, fderiv ℝ gradW (p.1 − y) ∂ρ_s (F1). This is the coefficient of
the linear variational ODE M' = A(s, Φ_s z)·M; vlasovVectorField_hasFDerivAt_in_z (F2) says it
is the Fréchet derivative of vlasovVectorField gradW ρ s at p.2.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Joint continuity of the Jacobian on Icc 0 T ×ˢ univ.
Express the block map as a sum of continuous compositions of the convolution derivative.
C3 D1a — the uniform-over-compact first-order Taylor remainder of the Vlasov field.
For a fixed initial point z, the first-order remainder of the frozen field b(s,·) at the moving
base point Φ_s z := (charX s z, charV s z),
R(s,w) = b(s,w) − b(s,Φ_s z) − A(s,Φ_s z)·(w − Φ_s z), is o(‖w − Φ_s z‖) uniformly in
s ∈ [0,T]: for every η > 0 there is a single δ > 0 (independent of s) with
‖R(s,w)‖ ≤ η·‖w − Φ_s z‖ whenever ‖w − Φ_s z‖ ≤ δ.
This uniformity is the load-bearing analytic core of D1 (the variational-equation difference
quotient): it is what lets Grönwall bound Φ_t(z+h) − Φ_t(z) − M_t(z)·h by o(‖h‖) uniformly
along the trajectory. Proof: the flow image {Φ_s z : s ∈ [0,T]} is compact (continuous image of
[0,T]), A = D_w b is jointly (s,w)-continuous (from hρD_cont), so A is uniformly
continuous on the compact tube Γ = {(s, Φ_s z + e) : s ∈ [0,T], ‖e‖ ≤ 1} (Heine–Cantor); the
mean-value inequality on closedBall (Φ_s z) δ then converts the modulus into the remainder
bound.
C3 V2 — the explicit fundamental matrix (Route A, lesson L14): the canonical Dyson-series
solution of M' = A(t)·M, M 0 = id, as a function (not a choose-d witness), so its
parameter-regularity is accessible.
Equations
- Vlasov.fundamentalMatrix A t = ∑' (n : ℕ), Vlasov.picardIter (fun (s : ℝ) => (ContinuousLinearMap.compL ℝ F F F) (A s)) (ContinuousLinearMap.id ℝ F) n t
Instances For
fundamentalMatrix A solves the fundamental-matrix IVP on [0,T] (the non-existential form of
exists_fundamentalMatrix; same proof through the picardSum lemmas).
C3 V2 — the fundamental matrix is continuous in a PARAMETER (closes V2 via Route A).
Specialises picardSum_continuous_param_Icc to 𝒜 := compL∘A, x₀ := id; the compL factor is
1-bounded so the K-bound transfers from A.
Step 3 (i) — the fundamental matrix is jointly (z,s)-continuous. Joint companion of
fundamentalMatrix_continuous_param; specialises picardSum_continuous_param_Icc_joint to
𝒜 := compL∘A, x₀ := id. This is the partial-z-derivative continuity input to the joint
C¹-ness of the forward flow (s,z) ↦ Φ_s z (Step 3 (iii)).
C3 D1 — the difference-quotient heart of the variational equation.
Given the fundamental matrix Mz of the linear variational ODE M' = A(s, Φ_s z)·M, M 0 = id
(coefficient A = vlasovFieldJacobian), the time-t flow map w ↦ (charX t w, charV t w) is
Fréchet-differentiable at the fixed point z with derivative exactly Mz t.
This is the load-bearing difference-quotient estimate Φ_t(z+h) − Φ_t(z) − Mz t·h = o(‖h‖).
The matrix is threaded as an explicit hypothesis (rather than choose-d) so the proof can use its
ODE/continuity data directly.
Proof plan (route b — Grönwall on the linearisation remainder). Reduce via
hasFDerivAt_iff_isLittleO_nhds_zero + Asymptotics.isLittleO_iff to: ∀ c>0, ∀ᶠ h, ‖Φ_t(z+h) − Φ_t(z) − Mz t·h‖ ≤ c‖h‖. For fixed small h, the two curves u_h(s) := Φ_s(z+h) − Φ_s(z)
(approximate) and m_h(s) := Mz s·h (exact) both solve w' = A(s, Φ_s z)·w from the same datum
h (Φ_0 = id, Mz 0 = id):
m_his exact — its defect is0(its derivative(A·Mz)(s)·h = A(s)·m_h(s)byhMzderiv+HasDerivWithinAt.clm_apply).u_h's defect is the Taylor remainderR(s, Φ_s(z+h)), bounded byη·‖u_h(s)‖(D1a,vlasovField_taylorRemainder_uniform) once‖u_h(s)‖ ≤ δ(η), which holds with‖u_h(s)‖ ≤ exp(K T)·‖h‖(flow Lipschitz-in-z,charFlow_lipschitzInZ_via_gronwall_Ioo) for‖h‖small. Soεf = η·exp(K T)·‖h‖, uniform ins. The frozen field's two-sided ODE holds only onIoo 0 T, so applydist_le_of_approx_trajectories_ODEon[s₀, t](s₀ ∈ Ioo 0 t) and takes₀ → 0⁺(the initial defectdist(u_h s₀, m_h s₀) → 0by continuity), giving‖u_h t − m_h t‖ ≤ gronwallBound 0 K εf t = εf·(exp(K t)−1)/K. Sinceηis arbitrary this iso(‖h‖).K := max 1 Lis the uniform field Lipschitz constant;‖A(s,·)‖ ≤ Kvianorm_fderiv_le_of_lipschitz. (hcontIccis universal in the initial point because thes₀→0⁺limit needs continuity ofΦ_·(z+h), M2.)
C3 #3 — the variational equation (HasFDerivAt of the flow in its initial point).
For the frozen field b(t,·) = vlasovVectorField gradW ρ t with gradW ∈ C¹ (supplied by the
consumer via assW2_contDiff_gradW), the time-t characteristic map
z ↦ (charX t z, charV t z) is Fréchet-differentiable in the initial point z, with a derivative
Dflow t z that is continuous in z (so the flow map is C¹ in z). The derivative solves the
linear matrix variational ODE M' = (D_z b(t, Φ_t z)) · M, M_0 = id.
This was the load-bearing research gap — Mathlib has no C¹-dependence-of-an-ODE-flow-on-its-
initial-condition lemma — now proven (axiom-clean) via route (b)
(charFlow_lipschitzInZ_via_gronwall_Ioo, CharacteristicFlow.lean, is the Lipschitz-in-z
scaffold; Mathlib Gronwall + the vendored IsPicardLindelof confinement are the analytic inputs):
3.1 existence/uniqueness of the continuous matrix solution M_t(z) of the variational ODE
(fundamentalMatrix); 3.2 joint (t,z) continuity of M (fundamentalMatrix_continuous_param);
3.3 the difference-quotient estimate Φ_t(z+h) − Φ_t(z) − M_t(z)·h = o(‖h‖) uniformly on compacts
(Gronwall on the linearization remainder, using gradW ∈ C¹,
charFlow_hasFDerivAt_of_fundamentalMatrix); 3.4 assembled into HasFDerivAt.
The HasFDerivAt/continuity conclusion is route-independent, so this interface is stable; the
universal-t probability instance + force-integrability h_int are the field-regularity inputs
the proof consumes (the window-only application clamps, L11, at the grind).
hρD_cont (joint continuity of the convolution-derivative field). This is the regularity that
makes the variational coefficient A(s,z) = D_z b(s, Φ_s z) continuous in s — its only non-flow
varying part is D_x conv(ρ_s)(x) = ∫ fderiv gradW (x − y) ∂ρ_s, evaluated at the moving point
Φ_s z, so per-x continuity is not enough; joint (s,x)-continuity is needed. Note the
asymmetry with the field: ∫ gradW(x−y) dρ_s gets joint continuity for free (per-x continuity
- uniform Lipschitz-in-
x,convolveFunctionMeasure_lipschitz_in_x), but the derivative field is NOT uniformly Lipschitz inx(that needsW ∈ C³;AssW2gives onlyC²), so its joint continuity must be supplied.
Option-B note (running — eventual extension). hρD_cont is, in the complete theory, NOT a new
assumption: it is derivable from narrow continuity of s ↦ ρ_s (since fderiv gradW is
bounded continuous, ‖·‖ ≤ L), which is in turn derivable from IsVlasovSolutionOn + tightness
(the uniform moment bound) via the standard "C_c^∞-continuity + tight ⟹ narrow-continuity"
upgrade — a self-contained measure-theory lemma not yet in the codebase. We thread it as a
hypothesis (Option A) to unblock the variational-equation grind; folding it into a derived fact
(so the bridge assumes only the weak solution + moments) is the Option-B extension, tracked as
a follow-up.
Step 1 (dual core) — lower Grönwall / anti-Lipschitz bound on the characteristic flow.
For t ∈ (0,T), the flow Φ_t : z ↦ (charX t z, charV t z) satisfies
dist z₁ z₂ ≤ dist (Φ_t z₁) (Φ_t z₂) · exp(K t) (K = max 1 L), i.e. Φ_t is AntilipschitzWith.
This is the keystone of the two-time-flow inverse construction (Step 2): bi-Lipschitz makes Φ_t
injective with closed range and M_t = DΦ_t invertible (no Liouville needed).
Proof: time-reverse the two trajectories on each [s₀,t] ⊆ (0,T) (so they solve
w' = −b_{s₀+t−r}(w), still K-Lipschitz) and apply the existing forward
dist_le_of_trajectories_ODE; take s₀→0⁺. h_deriv2 is the two-sided HasDerivAt on the open
interval, supplied by IsCharacteristicFlowOn.
Step 2a (dual core, generic) — antilipschitz map ⇒ antilipschitz derivative.
If f is antilipschitz and Fréchet-differentiable at x, its derivative f' is antilipschitz
(hence injective) with the same constant. f' u is the limit of slopes n•(f(x+n⁻¹•u)−f x), each
of norm ≥ ‖u‖/C by antilipschitz; pass to the limit. (Mathlib lacks this producer.)
Step 2 (dual core, generic) — global C¹ inverse of an antilipschitz C¹ self-map.
If Φ : E → E (finite-dim) is C¹ (derivative M z at z), antilipschitz, and Lipschitz, then
each M z is invertible, Φ is bijective, and the global inverse Ψ is Lipschitz with
HasFDerivAt Ψ (M (Ψ w))⁻¹ w. No Liouville/Hadamard: open range
(isOpenMap_of_hasStrictFDerivAt_equiv) + closed range (AntilipschitzWith.isClosed_range) ⇒
clopen ⇒ surjective; inverse derivative from HasStrictFDerivAt.to_local_left_inverse.
Step 2 (dual core) — the characteristic flow Φ_t is a C¹ diffeomorphism on (0,T).
Instantiates the generic global-inverse machinery at Φ_t := (charX t, charV t): its derivative
e z (= #3's Dflow t z) is invertible, Φ_t is bijective, and the inverse Ψ is continuous
with HasFDerivAt Ψ (e (Ψ w))⁻¹ w. hanti comes from Step 1
(charFlow_antilipschitzInZ_via_gronwall_Ioo), hlip from the existing upper Grönwall bound
(charFlow_lipschitzInZ_via_gronwall_Ioo), the derivative family from #3.
Step 3 — the forward flow (s,z) ↦ Φ_s z is jointly continuous on Icc 0 T ×ˢ univ
((s,z)-order). Gronwall Lipschitz-in-z (uniform over [0,T]) + per-z continuity-in-s, via
the generic continuousOn_prod_of_lipschitz_continuousOn, then a prod-order swap. Extracted from
#3's V2-branch pattern so the joint C¹-ness (Step 3 (iii)) can reuse it directly.
Step 3 (ii) — the field along the flow (s,z) ↦ b_s(Φ_s z) is jointly continuous on
Icc 0 T ×ˢ univ. First component charV from flow joint continuity; second component
-(∇W ∗ ρ_s)(charX s z) from (s,x) ↦ (∇W∗ρ_s)(x) jointly continuous (equi-Lipschitz-in-x from
convolveFunctionMeasure_lipschitz_in_x + continuous-in-s from hf_cont) composed with the flow.
This is the partial-s-derivative continuity input to the joint C¹-ness (Step 3 (iii)).
Step 3 (iii) — the forward flow (s,z) ↦ Φ_s z is jointly C¹ on U := Ioo 0 T ×ˢ univ:
Fréchet-differentiable at every point with a jointly-continuous total derivative DΦ. Built by
composing the open-set gating theorem (hasFDerivAt_of_continuous_partials_open) — fed the
s-partial b_s(Φ_s z) (flow ODE, jointly continuous by item (ii)) and the z-partial M_s z
(the fundamental matrix, via D1c, jointly continuous by item (i)). Per L14 the matrix is rebuilt
concretely (fundamentalMatrix (A z) s), NOT routed through #3's existential.
The field bfun and matrix Mfun are made opaque locals (clear_value, the D1c lesson) so the
gating unification stays syntactic and never unfolds the vlasovVectorField/vlasovFieldJacobian
integrals — the per-point derivative facts are established in terms of them before clearing.
A is kept transparent through the D1c call (whose coefficient is
vlasovFieldJacobian) and cleared
only afterwards (before the projection-reduction defeqs). No maxHeartbeats bump needed.
Step 3 (iv-A) — the forward flow (s,z) ↦ Φ_s z is ContDiffAt ℝ 1 at each point of the
open window (the chart-IFT input for item (iv)). Lifts item (iii)'s HasFDerivAt-everywhere +
ContinuousOn-derivative to ContDiffAt via contDiffAt_succ_iff_hasFDerivAt.
Step 3 (iv) — the per-slice inverse Ψ_s := Φ_s⁻¹ is jointly C¹ on Ioo 0 T ×ˢ univ,
the keystone of the two-time flow Φ_{s→t} = Φ_t ∘ Φ_s⁻¹.
PROVEN (axiom-clean) via the space-time chart inverse-function theorem — see the proof plan
below, realized exactly as scouted: charFlow_contDiffAt_joint (iv-A) for the chart ContDiffAt,
the block-triangular ≃L (invertibility from Step 2's e z₀ via HasFDerivAt.unique +
ofBijective), ContDiffAt.to_localInverse, and the global patch via localInverse_unique (the
global per-slice inverse is a local left inverse of the chart, by injectivity on the window).
Per slice s ∈ Ioo 0 T, Step 2 (exists_charFlow_inverse_On) already gives the inverse Ψ_s and
its invertible derivative family e (= M_s z, #3/D1c); here we upgrade to JOINT (s,w)
regularity via the space-time chart.
Proof plan (atoms scouted + verified, 2026-06-16):
- Forward chart
Ξ : (s,z) ↦ (s, Φ_s z)isContDiffAt ℝ 1at each(s₀,z₀) ∈ Ioo 0 T ×ˢ univ.Φ := (charX·, charV·)is jointlyC¹(charFlow_hasFDerivAt_joint, item (iii) —∃ DΦ,HasFDerivAt-everywhere +ContinuousOn DΦ); lift toContDiffAt ℝ 1 ΦviacontDiffAt_succ_iff_hasFDerivAt(Mathlib/.../ContDiff/Defs.lean:994,n := 0: feedDΦ, the open nbhdU ∈ 𝓝,HasFDerivAt-on-U, andContDiffAt 0 DΦfromcontDiffAt_zero+ContinuousOn DΦ U).Ξ = (fst, Φ)soContDiffAt ℝ 1 ΞviaContDiffAt.prodwithcontDiffAt_fst. DΞ(s₀,z₀)is an invertible≃L. Block-lower-triangular(h,k) ↦ (h, h•b + M·k)withb := b_{s₀}(Φ_{s₀}z₀),M := M_{s₀}z₀invertible (Step 2'se₀ z₀). Build theℝ×E ≃L ℝ×EviaContinuousLinearEquiv.ofBijective(inject:(h,k)↦0 ⇒ h=0, thenM k=0 ⇒ k=0; finite-dimLinearMap.injective_iff_surjective).HasStrictFDerivAt Ξ (this ≃L) (s₀,z₀)viaContDiffAt.hasStrictFDerivAt'.- Local
C¹inverse + patch.ContDiffAt.to_localInverse(Mathlib/.../InverseFunctionTheorem/ContDiff.lean:66) ⇒Ξ.localInverseisContDiffAt ℝ 1atΞ(s₀,z₀) = (s₀, Φ_{s₀}z₀). The global(s,w)↦(s, Ψ_s w)agrees withΞ.localInverseon a nbhd (both left-inverses;Ξinjective onIoo 0 T ×ˢ univsincesis preserved + eachΦ_sinjective per Step 2) ⇒ContDiffAt.congr⇒(s,w)↦(s,Ψ_s w)isContDiffAt ℝ 1at each point ⇒ContDiffOn ℝ 1(projecting off thescomponent,ContDiffAt.snd). - Bijectivity is the per-slice
LeftInverse/RightInversefromexists_charFlow_inverse_On, packaged into thes-indexedΨ. The two-time flowΦ_{s→t} = Φ_t ∘ Ψ_sis then jointlyC¹by composing withΦ_t(C¹in its argument,#3), and the dual core's transport identity differentiates it.
Step 4 — the transported test function and the transport identity #
The dual core's s ↦ ∫ ψ_s d(f s) argument rests on the backward-transported test
ψ_s := φ ∘ Φ_{s→t} where Φ_{s→t} = Φ_t ∘ Φ_s⁻¹ is the two-time flow (Step 3 gave it jointly
C¹). Two deliverables, both taking the outputs of Step 3 (the inverse Ψ + the C¹ terminal
map Φ_t) as hypotheses rather than re-deriving them from the flow-construction data:
Step 4 (4a) — the two-time flow Φ_{s→t} = Φ_t ∘ Φ_s⁻¹ is jointly C¹ on
Ioo 0 T ×ˢ univ.
The two-time flow (s,w) ↦ (charX t (Ψ_s w), charV t (Ψ_s w)) is the composition of the terminal
map Φ_t = (charX t ·, charV t ·) (C¹ in its argument — hΦt_C1, from Step 2 / item (iii) at the
fixed time t) with the jointly-C¹ inverse family (s,w) ↦ Ψ_s w (hΨ_C1, item (iv)). Proof:
ContDiff.comp_contDiffOn.
Step 4 (4b) — the transport identity ∂_s ψ_s + Dψ_s · b_s = 0.
For the backward-transported test ψ_s(w) := φ(Φ_t(Ψ_s w)) = φ(Φ_{s→t} w), the partial
s-derivative cancels the spatial directional derivative along the field:
∂_s ψ_s(w) = -(Dψ_s(w))(b_s(w)), where b_s = vlasovVectorField gradW ρ s and
Dψ_s(w) = fderiv ℝ (ψ s) w. This is the dual of vlasov_traj_chain_rule (the pushforward
direction) and the engine that makes s ↦ ∫ ψ_s d(f s) constant in Step 6.
Proof:
ψis jointlyC¹onIoo 0 T ×ˢ univ(4a +φsmooth), soHasFDerivAt (uncurry ψ) Dψ (s,w)at the interior point(s,w), withDψthe joint Fréchet derivative.- Constancy curve: set
z₀ := Ψ_s w, sow = Φ_s z₀(hΨ_right). The composites' ↦ ψ_{s'}(Φ_{s'} z₀) = φ(Φ_t(Ψ_{s'}(Φ_{s'} z₀))) = φ(Φ_t z₀)is constant ins'(hΨ_left:Ψ_{s'} ∘ Φ_{s'} = id), hence has zeros'-derivative. - The curve
c(s') := (s', Φ_{s'} z₀)hasHasDerivAt c (1, b_s w) s(hflow_ode+id), withc(s) = (s, w). Chain rule:0 = Dψ(s,w)(1, b_s w) = Dψ(s,w)(1,0) + Dψ(s,w)(0, b_s w). Dψ(s,w)(1,0) = ∂_s ψ_s(w)(composeuncurry ψwiths' ↦ (s', w)) andDψ(s,w)(0,k) = (fderiv ℝ (ψ s) w) k(compose withw' ↦ (s, w')). Surjectivity (hΨ_right) covers everyw. Rearrange to the claimedHasDerivAt.