Documentation

LeanPool.JacobianDiffgeo.PlanarStokes.Compat

Compat: Leibniz rule, ContDiffOn gluing, and the rectangle ↔ iterated-integral bridge #

Unit: planar-stokes-atoms (docs/design/planar-stokes.md §5.1). Mathlib-only (plus Jacobian.Dbar.Wirtinger, D10-compliant, no manifold imports). Three groups of facts:

The Leibniz rule #

theorem RS.wirtingerDbar_mul {g f : } {z : } (hg : DifferentiableAt g z) (hf : DifferentiableAt f z) :
wirtingerDbar (fun (w : ) => g w * f w) z = wirtingerDbar g z * f z + g z * wirtingerDbar f z

Leibniz rule for the Wirtinger dbar (requested for upstreaming to Jacobian/Dbar/Wirtinger.lean — see docs/requests/dbar-solvability.md; proved locally here meanwhile, exactly as compiled in the design's spike).

theorem RS.wirtingerDbar_mul_of_differentiableAt {g f : } {z : } (hg : DifferentiableAt g z) (hf : DifferentiableAt f z) :
wirtingerDbar (fun (w : ) => g w * f w) z = wirtingerDbar g z * f z

The f-holomorphic specialization: the dbar of a product with a holomorphic factor sees only the other factor's dbar.

theorem RS.wirtingerDbar_mul_eq_zero_of_notMem_tsupport {g f : } {z : } (hz : ztsupport g) :
wirtingerDbar (fun (w : ) => g w * f w) z = 0

g vanishes identically on a whole neighborhood of any point outside tsupport g, so a product with an arbitrary (possibly non-differentiable/junk) f is still dbar-trivial there.

The ContDiffOnContDiff gluing lemma #

theorem RS.ContDiffOn.contDiff_of_hasCompactSupport {g : } {U : Set } {n : ℕ∞} (hU : IsOpen U) (hg : ContDiffOn (↑n) g U) (_hcs : HasCompactSupport g) (hsub : tsupport gU) :
ContDiff (↑n) g

Upgrade a ContDiffOn function with compact support strictly inside an open set to a globally ContDiff function (two-piece gluing: locally g on U, locally 0 on (tsupport g)ᶜ, these two opens cover ).

Continuity of wirtingerDbar g from ContDiff ℝ 1 g alone (Dbar's own continuous_wirtingerDbar needs ContDiff ℝ ∞; this unit only ever has regularity 1 in hand, per D1 — R1 in the design's risk list, resolved by the same two-line argument one level down).

tsupport (wirtingerDbar g) ⊆ tsupport g (a sharper, closure-level companion to Dbar's own hasCompactSupport_wirtingerDbar, which only extracts compactness).

The rectangle ↔ iterated-real-integral bridge #

theorem RS.setIntegral_reProdIm_eq_intervalIntegral {F : } {z w : } (hre : z.re w.re) (him : z.im w.im) (hF : MeasureTheory.IntegrableOn F (Set.Icc z.re w.re ×ℂ Set.Icc z.im w.im) MeasureTheory.volume) :
(ζ : ) in Set.Icc z.re w.re ×ℂ Set.Icc z.im w.im, F ζ = (x : ) in z.re..w.re, (y : ) in z.im..w.im, F (x + y * Complex.I)

Internal building block (no support/vanishing hypothesis): the -set integral over a closed rectangle equals the iterated real interval integral, given integrability on the rectangle and z.re ≤ w.re, z.im ≤ w.im. Reused both for the exported compact-support corollary below and by AnnulusResidue.lean's Step 3.

theorem RS.integral_eq_intervalIntegral_of_tsupport_subset_reProdIm {F : } {z w : } (hFc : Continuous F) (hsub : tsupport FSet.Ioo z.re w.re ×ℂ Set.Ioo z.im w.im) :
(ζ : ), F ζ = (x : ) in z.re..w.re, (y : ) in z.im..w.im, F (x + y * Complex.I)

The -rectangle ↔ iterated-real-integral bridge: a function vanishing off an open rectangle has the same global -integral as its iterated real double integral over (any closed rectangle containing) that open rectangle.