Repository navigation
feat(Probability): the Ornstein–Uhlenbeck operator in Gaussian space - #4979
Queued
dysfunctor wants to merge 1 commit into
Queued
dysfunctor wants to merge 1 commit into
dysfunctor wants to merge 1 commit into
Conversation
Formalize O'Donnell §11.3 on top of the Hermite expansion. The
Ornstein–Uhlenbeck operator L f = Σ |α| f̂(α) h_α on its domain
(Definition 11.24, stated as the left ρ-derivative of U_ρ f at ρ = 1, with
the t = 0 form for ρ = e^{−t}); Proposition 11.26 (Hermite eigenfunctions,
with the Hermite ODE of Exercise 11.10(c)); Gaussian integration by parts
for L (Proposition 11.28, Exercise 11.8); Exercise 11.18: f has the
derivative iff it is in the domain, the derivative is L f
(Proposition 11.40), and U_ρ f is in the domain for every f ∈ L² and
|ρ| < 1; Proposition 11.27: d/dρ U_ρ f =
ρ⁻¹ L U_ρ f and L U_ρ = U_ρ L.
Add `Polynomial.X_mul_derivative_hermite_sub` and
`MeasureTheory.ae_integrable_update`.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Collaborator
|
Agent review claim: coordinator |
SamuelSchlesinger
approved these changes
Nov 13, 2026
SamuelSchlesinger
left a comment
Collaborator
There was a problem hiding this comment.
Independent agent review (coordinator agy-634bba4c, session 634bba4c-9d3c-4f80-8d5b-6097f495b913) at b666a1c78f873b3b1bc010a0c27ee2f67e86bcce: APPROVE (holding queue until ci-checks completes).
-
Mathematical faithfulness & signs (
OrnsteinUhlenbeck.lean,Hermite.lean,PiUpdate.lean). Verified every sign and normalization against O'Donnell (2014, §11.3): positive-semidefinite differential expression$L f = x \cdot \nabla f - \Delta f$ (X_mul_derivative_hermite_sub,mul_deriv_normalizedHermite_sub,sum_mul_deriv_multiHermite_update_sub), 1D and product-Gaussian integration by parts (integral_mul_deriv_sub_deriv_deriv_mul_gaussianReal,integral_sum_mul_deriv_update_sub_mul_pi_gaussianRealviaae_integrable_update), left$\rho$ -derivative$+L f$ at$\rho = 1$ onSet.Iic 1, right$t$ -derivative$-L f$ of$U_{e^{-t}} f$ at$t = 0$ onSet.Ici 0, and interior$\rho$ - and$t$ -derivatives (|\rho| < 1, including$\rho = 0$ , and$t > 0$ ). -
Domain predicate & junk-value boundaries.
MemOrnsteinUhlenbeckDomaincleanly separates$L^2(\gamma^n)$ inputs from$\operatorname{Dom}(L)$ :ornsteinUhlenbeck_gaussianNoiseOp(|\rho| \le 1) andhasDerivAt_gaussianNoiseOp_eq_inv_smul_gaussianNoiseOpproperly requirehf : MemOrnsteinUhlenbeckDomain f(avoiding anytsumjunk collapse outside $\operatorname{Dom}(L)$), whilememOrnsteinUhlenbeckDomain_gaussianNoiseOp,hasDerivAt_gaussianNoiseOp_eq_inv_smul_ornsteinUhlenbeck, andhasDerivAt_gaussianNoiseOp_exp_negrequire onlyMemLp f 2 \gammaon$|\rho| < 1$ /$t > 0$ . -
Non-vacuity & counterexample (
CslibFrontierTests/GaussianOrnsteinUhlenbeck.lean). Exercises concrete Hermite polynomials, 1D/product integration by parts evaluating to1, basis vectorsh_\beta, and the explicit counterexampleslowVec = \sum_n (n+1)^{-1} h_n \in L^2(\gamma) \setminus \operatorname{Dom}(L)(no left derivative at1, smoothed into$\operatorname{Dom}(L)$ and differentiable at\rho = 1/2). -
Both manuals & rendered PDF QA. Audited
manual/workflows/probabilistic-workflows.mdagainst all public declarations and scope limitations, visually inspected rendered pages 69–70 and 72–74 ofcslib-frontier-operators-manual.pdffrom workflow run43369572650(section 6.49 and cross-links in 6.46/6.47 render cleanly), and verifiedmanual/AGENT_OPERATORS.mdneeds no edit.
This is agent review, not human review.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds O'Donnell's Ornstein–Uhlenbeck operator
L(§11.3) on top of the Hermite expansion:⟨L f, g⟩ = ⟨∇f, ∇g⟩;LonL²(γⁿ)as an operator with a named domain;Las the derivative ofρ ↦ U_ρ f, together with the domain characterization of Exercise 11.18 and the derivative formulas of Proposition 11.27.Part of #2131 (Chapter 11). This is new mathematics. The only infrastructure is two small general lemmas, placed in their shared modules.
It builds on the Hermite expansion from #4868 and is a single commit on current
main.Conventions.
L fisornsteinUhlenbeck f : Lp ℝ 2 γⁿ, the series∑ α, |α| f̂(α) h_α, where|α| = ∑ i, α i.MemOrnsteinUhlenbeckDomain f:f ∈ L²(γⁿ)and∑ α, |α|² f̂(α)² < ∞.Lappears as the expressionx · ∇f − Δf, with partial derivatives along coordinate lines:deriv (fun t => f (Function.update z i t)) (z i).ρ ↦ U_ρ fare taken inL², as in the book. They apply to any familyu : ℝ → Lp ℝ 2 γⁿwithu ρ =ᵐ U_ρ ffor|ρ| ≤ 1.ρat1. In exponential timeρ = e^{−t}it becomesL f = −(d/dt) U_{e^{−t}} f |_{t=0⁺}, which is also stated.New API (namespace
ProbabilityTheoryunless noted)Foundations/RingTheory/Polynomial/Hermite.lean:Polynomial.X_mul_derivative_hermite_sub, the Hermite equationX H_n′ − H_n″ = n H_n(Exercise 11.10(c)).Foundations/MeasureTheory/Integral/PiUpdate.lean:MeasureTheory.ae_integrable_update. An integrableFon a product of probability measures is integrable along almost every coordinate line.Foundations/Probability/Gaussian/OrnsteinUhlenbeck.lean:mul_deriv_normalizedHermite_sub;sum_mul_deriv_multiHermite_update_sub(x · ∇h_α − Δh_α = |α| h_α);integral_mul_deriv_sub_deriv_deriv_mul_gaussianReal;integral_mul_deriv_update_sub_mul_pi_gaussianReal;integral_sum_mul_deriv_update_sub_mul_pi_gaussianReal;ornsteinUhlenbeck,ornsteinUhlenbeck_def;MemOrnsteinUhlenbeckDomain,memOrnsteinUhlenbeckDomain_iff;MemOrnsteinUhlenbeckDomain.memLp,MemOrnsteinUhlenbeckDomain.summable;memℓp_two_sum_mul_iff;hermiteBasis_repr_ornsteinUhlenbeck,hermiteCoeff_ornsteinUhlenbeck;hasDerivWithinAt_gaussianNoiseOp,hasDerivWithinAt_gaussianNoiseOp_exp_neg_zero;eq_ornsteinUhlenbeck_of_hasDerivWithinAt;memOrnsteinUhlenbeckDomain_of_hasDerivWithinAt;exists_hasDerivWithinAt_gaussianNoiseOp_iff;memOrnsteinUhlenbeckDomain_gaussianNoiseOp(11.18(c));MemOrnsteinUhlenbeckDomain.gaussianNoiseOp;ornsteinUhlenbeck_gaussianNoiseOp(L U_ρ f = U_ρ L finL²);hasDerivWithinAt_Icc_gaussianNoiseOp,hasDerivAt_gaussianNoiseOp;memℓp_mul_pow_mul_hermiteCoeff;hasDerivAt_gaussianNoiseOp_eq_inv_smul_ornsteinUhlenbeck,hasDerivAt_gaussianNoiseOp_eq_inv_smul_gaussianNoiseOp;hasDerivAt_gaussianNoiseOp_exp_neg.This PR also relies on
hermiteCoeff_coeFnandhermiteBasis_repr_tsum_smulinHermiteExpansion.lean. Both belong to the base PR.Reuse.
integral_sub_mul_gaussianReal) applied tof′g.n-dimensional reduction usesMeasureTheory.measurePreserving_updateandintegral_integral_updatefromPiUpdate.lean.L²statements usehermiteCoeff,hermiteBasis,hermiteBasis_reprandhermiteCoeff_gaussianNoiseOpfrom the base PR, together with Mathlib'sabs_pow_sub_pow_le,hasDerivAt_pow,uniqueDiffWithinAt_Iicandtendsto_pow_const_mul_const_pow_of_abs_lt_one.Source mapping ([O'Donnell 2014, §11.3])
L f = d/dρ U_ρ f |_{ρ=1}):ornsteinUhlenbeckis the Hermite series, and the theorems identify it with the derivative.hasDerivWithinAt_gaussianNoiseOpgives the leftL²derivative atρ = 1.eq_ornsteinUhlenbeck_of_hasDerivWithinAtshows that any left derivative equalsL f.hasDerivWithinAt_gaussianNoiseOp_exp_neg_zerois the form withρ = e^{−t}att = 0.L f = x · ∇f − Δf): proved on the Hermite basis only (sum_mul_deriv_multiHermite_update_sub). It is not proved for general smoothf.d/dρ U_ρ f = ρ⁻¹ L U_ρ f = ρ⁻¹ U_ρ L f), stated inL²:f ∈ L²and|ρ| < 1, includingρ = 0,ρ ↦ U_ρ fis differentiable with derivative∑ |α| ρ^{|α|−1} f̂(α) h_α(hasDerivAt_gaussianNoiseOp).ρ ≠ 0, that derivative isρ⁻¹ L U_ρ ffor everyf ∈ L², andρ⁻¹ U_ρ L fforfin the domain.L U_ρ f = U_ρ L fholds as an equality inL²for|ρ| ≤ 1.fin the domain, the series derivative also holds within[−1, 1]at|ρ| ≤ 1, endpoints included (hasDerivWithinAt_Icc_gaussianNoiseOp).d/dt U_{e^{−t}} f = −L U_{e^{−t}} fholds fort > 0.ρ = 0only the series form is stated, sinceρ⁻¹is undefined there.|α| r^{|α|−1} |f̂(α)|for some|ρ| < r < 1, which is summable by 11.18(c).⟨L f, g⟩ = ⟨∇f, ∇g⟩): stated with explicit differentiability and integrability hypotheses instead of the book'sC³-and-domain-of-Lassumption.(L f)^(α) = |α| f̂(α)ishermiteBasis_repr_ornsteinUhlenbeck.∑ |α|² f̂(α)² < ∞, isexists_hasDerivWithinAt_gaussianNoiseOp_iff.U_ρ f ∈ Dom Lfor|ρ| < 1, ismemOrnsteinUhlenbeckDomain_gaussianNoiseOp.Polynomial.X_mul_derivative_hermite_sub.Not formalized:
f;⟨f, L g⟩ = ⟨L f, g⟩of Prop 11.28 onL²;L²) derivatives ofU_ρ f;Las a Mathlib unbounded operator (LinearPMap). Here it is a total function with a separate domain predicate.Tests (
CslibFrontierTests/GaussianOrnsteinUhlenbeck.lean)H_2 = X² − 1, andx h_1′ − h_1″ = x.1of integration by parts forf = g = id, for the coordinate ofUnit → ℝ, and forz₀onFin 2 → ℝ.f = h_β:L h_β;1and its uniqueness;t = 0form;|ρ| < 1;ρ⁻¹ L U_ρ h_βandρ⁻¹ U_ρ L h_βatρ = 1/2;L U_{1/2} h_β;t > 0form.f = ∑ n, (n + 1)⁻¹ h_n, which is inL²but outside the domain:1;U_{1/2} fis in the domain;ρ = 1/2without the domain.Review. An independent review found no faithfulness problems with the conventions. This head applies its requested changes:
|ρ| < 1andt > 0derivative theorems.ρ = e^{−t}parametrization is disclosed, and thet = 0form is added.Lis a definition with a named domain predicate, and the commutation and Prop 11.40 lemmas are in book form.abs_pow_sub_pow_le.Manual impact
Operator's Manual: a new section in
manual/workflows/probabilistic-workflows.md, "Differentiate Gaussian noise with the Ornstein–Uhlenbeck operator". It comes after "Expand Gaussian functions in the Hermite basis" and covers:u;"Integrate Hermite polynomials against a Gaussian" and "Compose Gaussian noise operators" now link to the new section.
Agent Operator's Manual: no change, because this PR does not change a workflow, role or process.
ROADMAP: no change. The Boolean-analysis item (#2131) remains open, and no listed item is completed by this PR.
Validation (local, at the PR head)
lake build --wfail CslibFrontier CslibFrontierTests.GaussianOrnsteinUhlenbeck CslibFrontierTests.GaussianHermiteExpansion CslibFrontierTests.GaussianHermitepasses.python3 -B scripts/check_hygiene.py --check-simp;python3 -B scripts/check_operator_manual.py;lake exe mk_all --check.python3 -B scripts/parallel_defs.py --theorems,python3 -B scripts/parallel_defs.pyandpython3 -B scripts/proof_copies.pyreport no candidates.scripts/check.shpasses.AI assistance: drafted and ported with Claude Code. Agent-reviewed; human review pending.
🤖 Generated with Claude Code