Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Eq. (9.7) — Lagrange identity on D(τ)\mathfrak{D}(\tau)D(τ)

Proved
TeschlQM.SturmLiouville.lagrange_identity

by mikedeng1 · Sep 28, 2026 · Mathlib 0df444a (Lean v4.33.1)

lagrange-identityp2o-batch-books5p2o-gran-per-chapterp2o-plan-bookp2o-v1sturm-liouvillewronskian

Let (a,b,p,q,r)(a,b,p,q,r)(a,b,p,q,r) be Sturm–Liouville data and f,g∈D(τ)f, g \in \mathfrak{D}(\tau)f,g∈D(τ). Then the boundary Wronskians Wa(g∗,f)=lim⁡x→aWx(g∗,f)W_a(g^*, f) = \lim_{x\to a} W_x(g^*, f)Wa​(g∗,f)=limx→a​Wx​(g∗,f) and Wb(g∗,f)=lim⁡x→bWx(g∗,f)W_b(g^*, f) = \lim_{x \to b} W_x(g^*, f)Wb​(g∗,f)=limx→b​Wx​(g∗,f) exist, and

⟨g,τf⟩=Wa(g∗,f)−Wb(g∗,f)+⟨τg,f⟩,\langle g, \tau f\rangle = W_a(g^*, f) - W_b(g^*, f) + \langle \tau g, f\rangle,⟨g,τf⟩=Wa​(g∗,f)−Wb​(g∗,f)+⟨τg,f⟩,

where ⟨u,v⟩=∫abu(x)∗v(x)r(x) dx\langle u, v\rangle = \int_a^b u(x)^* v(x) r(x)\,dx⟨u,v⟩=∫ab​u(x)∗v(x)r(x)dx is the inner product of L2(I,r dx)L^2(I, r\,dx)L2(I,rdx).

The identity shows that τ\tauτ on D(τ)\mathfrak{D}(\tau)D(τ) fails to be symmetric exactly by boundary terms, which is why self-adjoint realizations are described by conditions on WaW_aWa​ and WbW_bWb​.

Formalization Note. τf\tau fτf and τg\tau gτg are given as functions F,G∈L2(I,r dx)F, G \in L^2(I, r\,dx)F,G∈L2(I,rdx) with τf=F\tau f = Fτf=F, τg=G\tau g = Gτg=G. Existence of the limits is stated as convergence of WxW_xWx​ to WaW_aWa​ (resp. WbW_bWb​) as defined via limUnder. The two integrands are asserted to be integrable, so both sides are genuine inner products. The book prints the boundary term as Wb(g∗,f)−Wa(g∗,f)W_b(g^*, f) - W_a(g^*, f)Wb​(g∗,f)−Wa​(g∗,f), which has the wrong sign for the Wronskian (9.5): on (0,1)(0,1)(0,1) with p=r=1p = r = 1p=r=1, q=0q = 0q=0, f=x2f = x^2f=x2, g=1g = 1g=1 the left side is −2-2−2 and W1−W0=2W_1 - W_0 = 2W1​−W0​=2. The corrected sign is stated.

Preamble
import Mathlib
import Definitions.Def_TeschlQM_SturmLiouville_maxDomain
import Definitions.Def_TeschlQM_SturmLiouville_wronskian
Formal statement
namespace TeschlQM.SturmLiouville

open MeasureTheory Filter Topology

/-- Teschl, Eq. (9.7), p. 182. For `f, g ∈ D(τ)` (with `τ f = F`, `τ g = G`) the limits
`W_a(g*, f) = lim_{x→a} W_x(g*, f)` and `W_b(g*, f) = lim_{x→b} W_x(g*, f)` exist, and
`⟨g, τ f⟩ = W_a(g*, f) − W_b(g*, f) + ⟨τ g, f⟩`, where `⟨u, v⟩ = ∫_a^b u(x)* v(x) r(x) dx` (9.2).
The two integrands are integrable (as products of `L²(I, r dx)` functions), so both sides are the
book's inner products.
**Sign correction.** The page prints `W_b(g*, f) − W_a(g*, f)` (and `W_d − W_c` in (9.4)). With the
Wronskian (9.5), `W_x(f₁, f₂) = f₁ (p f₂′) − (p f₁′) f₂`, integration by parts gives the opposite
sign: on `(0, 1)` with `p = r = 1`, `q = 0`, `f = x²`, `g = 1` one has `⟨g, τ f⟩ = −2`,
`W_1(g*, f) − W_0(g*, f) = 2`, `⟨τ g, f⟩ = 0`. The corrected identity is stated. -/
theorem lagrange_identity (L : SLData) (f g F G : ℝ → ℂ)
    (hf : MemLp f 2 L.measure) (hg : MemLp g 2 L.measure)
    (hF : SolvesTau L f F) (hG : SolvesTau L g G)
    (hF2 : MemLp F 2 L.measure) (hG2 : MemLp G 2 L.measure) :
    Tendsto (fun x => wronskian L x (fun y => starRingEnd ℂ (g y)) f) L.atLeft
        (𝓝 (wronskianLeft L (fun y => starRingEnd ℂ (g y)) f)) ∧
      Tendsto (fun x => wronskian L x (fun y => starRingEnd ℂ (g y)) f) L.atRight
        (𝓝 (wronskianRight L (fun y => starRingEnd ℂ (g y)) f)) ∧
      Integrable (fun x => starRingEnd ℂ (g x) * F x) L.measure ∧
      Integrable (fun x => starRingEnd ℂ (G x) * f x) L.measure ∧
      ∫ x, starRingEnd ℂ (g x) * F x ∂L.measure =
        wronskianLeft L (fun y => starRingEnd ℂ (g y)) f -
          wronskianRight L (fun y => starRingEnd ℂ (g y)) f +
          ∫ x, starRingEnd ℂ (G x) * f x ∂L.measure := by sorry

end TeschlQM.SturmLiouville
Source
Teschl, Mathematical Methods in Quantum Mechanics, AMS GSM 99, 2009, p. 182, Section 9.1, Eq. (9.7)
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Data. The statement is about:

  • a structure LLL of type SLData, which is imported and not shown here;
  • four complex-valued functions on the whole real line, f,g,F,G:R→Cf, g, F, G : \mathbb{R} \to \mathbb{C}f,g,F,G:R→C.

It uses several objects built from LLL in the imported files. Their definitions are not included with this declaration, so they are described below only by their names and how they are used:

  • a measure μL\mu_LμL​ on R\mathbb{R}R (L.measure);
  • two filters on R\mathbb{R}R, FLleft\mathcal{F}^{\mathrm{left}}_LFLleft​ and FLright\mathcal{F}^{\mathrm{right}}_LFLright​ (L.atLeft, L.atRight). The names suggest approach to the left and right endpoints of some interval, but this is not confirmed here;
  • a relation SolvesTauL(u,U)\mathrm{SolvesTau}_L(u, U)SolvesTauL​(u,U) between two functions;
  • a complex number Wx(u,v)W_x(u, v)Wx​(u,v) for each point xxx and pair of functions u,vu, vu,v (wronskian L x u v);
  • two complex numbers Wleft(u,v)W^{\mathrm{left}}(u, v)Wleft(u,v) and Wright(u,v)W^{\mathrm{right}}(u, v)Wright(u,v) for each pair of functions (wronskianLeft, wronskianRight).

The doc-comment says these are the Sturm–Liouville measure r dxr\,dxrdx, the endpoint limits, the equation τu=U\tau u = Uτu=U and the Wronskian. That is the author's description, not something the code shows. Write gˉ\bar ggˉ​ for the pointwise complex conjugate x↦g(x)‾x \mapsto \overline{g(x)}x↦g(x)​.

Hypotheses. Assume all of the following:

  1. fff is in L2(μL)L^2(\mu_L)L2(μL​): it is a.e.-strongly measurable and ∫∣f∣2 dμL<∞\int |f|^2\,d\mu_L < \infty∫∣f∣2dμL​<∞.
  2. ggg is in L2(μL)L^2(\mu_L)L2(μL​).
  3. FFF is in L2(μL)L^2(\mu_L)L2(μL​).
  4. GGG is in L2(μL)L^2(\mu_L)L2(μL​).
  5. SolvesTauL(f,F)\mathrm{SolvesTau}_L(f, F)SolvesTauL​(f,F) holds.
  6. SolvesTauL(g,G)\mathrm{SolvesTau}_L(g, G)SolvesTauL​(g,G) holds.

Conclusion. Under these hypotheses, all five of the following hold at once:

  1. Wx(gˉ,f)→Wleft(gˉ,f)W_x(\bar g, f) \to W^{\mathrm{left}}(\bar g, f)Wx​(gˉ​,f)→Wleft(gˉ​,f) as xxx runs along the filter FLleft\mathcal{F}^{\mathrm{left}}_LFLleft​.
  2. Wx(gˉ,f)→Wright(gˉ,f)W_x(\bar g, f) \to W^{\mathrm{right}}(\bar g, f)Wx​(gˉ​,f)→Wright(gˉ​,f) as xxx runs along the filter FLright\mathcal{F}^{\mathrm{right}}_LFLright​.
  3. The function x↦g(x)‾ F(x)x \mapsto \overline{g(x)}\,F(x)x↦g(x)​F(x) is Lebesgue (Bochner) integrable with respect to μL\mu_LμL​.
  4. The function x↦G(x)‾ f(x)x \mapsto \overline{G(x)}\,f(x)x↦G(x)​f(x) is integrable with respect to μL\mu_LμL​.
  5. The following identity holds:
∫g(x)‾ F(x) dμL(x)  =  Wleft(gˉ,f)  −  Wright(gˉ,f)  +  ∫G(x)‾ f(x) dμL(x).\int \overline{g(x)}\,F(x)\,d\mu_L(x) \;=\; W^{\mathrm{left}}(\bar g, f) \;-\; W^{\mathrm{right}}(\bar g, f) \;+\; \int \overline{G(x)}\,f(x)\,d\mu_L(x).∫g(x)​F(x)dμL​(x)=Wleft(gˉ​,f)−Wright(gˉ​,f)+∫G(x)​f(x)dμL​(x).

Both integrals are over all of R\mathbb{R}R with respect to μL\mu_LμL​. The sign is fixed: the left-endpoint quantity is added and the right-endpoint quantity is subtracted.

The statement does not say how WleftW^{\mathrm{left}}Wleft and WrightW^{\mathrm{right}}Wright are defined. They might be defined as limits, or by some other rule. Conclusions 1 and 2 are what claim that the pointwise Wronskians actually converge to them.

The statement also does not require FFF or GGG to be unique. It holds for every pair that satisfies SolvesTauL\mathrm{SolvesTau}_LSolvesTauL​ together with the L2L^2L2 conditions.

Degenerate cases.

  • Integrals. Conclusions 3 and 4 assert integrability. So in conclusion 5, Lean's convention of assigning the integral 000 to a non-integrable function is never what the identity relies on.
  • Zero measure. If μL\mu_LμL​ is the zero measure, all four L2L^2L2 hypotheses hold trivially and both integrals equal 000. The identity then says Wleft(gˉ,f)=Wright(gˉ,f)W^{\mathrm{left}}(\bar g, f) = W^{\mathrm{right}}(\bar g, f)Wleft(gˉ​,f)=Wright(gˉ​,f), provided the SolvesTauL\mathrm{SolvesTau}_LSolvesTauL​ hypotheses can still be satisfied.
  • Trivial filters. If FLleft\mathcal{F}^{\mathrm{left}}_LFLleft​ or FLright\mathcal{F}^{\mathrm{right}}_LFLright​ is the trivial (bottom) filter, for example because the underlying interval is empty, then conclusion 1 or 2 holds automatically and says nothing.
  • Behaviour outside the interval. The functions are defined on all of R\mathbb{R}R. Their values outside the support of μL\mu_LμL​, and outside whatever set the filters and SolvesTauL\mathrm{SolvesTau}_LSolvesTauL​ look at, have no effect on the integrals.
  • Unsatisfiable hypotheses. If SolvesTauL\mathrm{SolvesTau}_LSolvesTauL​ can never be satisfied together with the L2L^2L2 conditions for a given LLL, the theorem is vacuous for that LLL. The definitions needed to decide this are not included in the code shown.
Human review
  • Endorsed by Shuze Chen · Oct 2, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 2, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me