Theorem 9.9 — Weyl's limit circle / limit point alternative
ProvedTeschlQM.SturmLiouville.weyl_alternativeLet be Sturm–Liouville data on and let . Then:
- is limit circle at if and only if for one all solutions of are square integrable near ;
- if is limit circle at , then for all all solutions of are square integrable near ;
- and similarly for .
Limit circle is defined through boundary Wronskians on the maximal domain (p. 187), so the theorem converts a statement about boundary conditions of self-adjoint realizations into a statement about the solutions of an ordinary differential equation, which can be checked in examples.
Formalization Note. Solutions are complex-valued with ; the coefficients are only locally integrable. "Square integrable near " is IsSqIntegrableNearLeft (some , weight ).
import Mathlib import Definitions.Def_TeschlQM_SturmLiouville_IsLimitCircle import Definitions.Def_TeschlQM_SturmLiouville_IsSqIntegrableNear
namespace TeschlQM.SturmLiouville
/-- Teschl, Theorem 9.9 (Weyl alternative), p. 191. `τ` is l.c. at `a` if and only if for one
`z₀ ∈ ℂ` all solutions of `(τ − z₀) u = 0` are square integrable near `a`. This then holds for all
`z ∈ ℂ`, and similarly for `b`. Limit circle is the Wronskian notion of p. 187, not square
integrability. -/
theorem weyl_alternative (L : SLData) :
(IsLimitCircleLeft L ↔
∃ z₀ : ℂ, ∀ u : ℝ → ℂ, IsSolution L z₀ 0 u → IsSqIntegrableNearLeft L u) ∧
(IsLimitCircleLeft L →
∀ z : ℂ, ∀ u : ℝ → ℂ, IsSolution L z 0 u → IsSqIntegrableNearLeft L u) ∧
(IsLimitCircleRight L ↔
∃ z₀ : ℂ, ∀ u : ℝ → ℂ, IsSolution L z₀ 0 u → IsSqIntegrableNearRight L u) ∧
(IsLimitCircleRight L →
∀ z : ℂ, ∀ u : ℝ → ℂ, IsSolution L z 0 u → IsSqIntegrableNearRight L u) := by sorry
end TeschlQM.SturmLiouville
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Fix a Sturm–Liouville datum of type SLData. This type comes from an imported definitions file that is not shown here, so its fields (the interval endpoints and the coefficient functions, for example) cannot be listed from this code. The statement uses four predicates from the imported definitions, and their bodies are not shown either:
- (
IsLimitCircleLeft L): the property named "limit circle at the left endpoint." - (
IsLimitCircleRight L): the same at the right endpoint. - (
IsSolution L z 0 u): a relation between , a complex number , the constant in a third argument slot, and a function . By its name it means " solves the equation for at spectral parameter with right-hand side ." The exact meaning, including any regularity conditions and what is required of outside the interval, is whatever the unseen definition says. - and (
IsSqIntegrableNearLeft L u,IsSqIntegrableNearRight L u): the properties named " is square integrable near the left (respectively right) endpoint." Which weight and measure are used, and what "near" means, are fixed by the unseen definitions.
The doc comment says that "limit circle" is a Wronskian notion rather than square integrability. That is a comment only; the code shown does not establish it.
The theorem asserts that the following four statements all hold, for every such :
- Left endpoint, equivalence. holds if and only if some makes every solution square integrable near the left endpoint:
- Left endpoint, every parameter. If holds, then for every and every with , the function is square integrable near the left endpoint:
- Right endpoint, equivalence. The same as (1), with and in place of the left-endpoint predicates.
- Right endpoint, every parameter. The same as (2), with and in place of the left-endpoint predicates.
The quantifier over ranges over all functions that satisfy the solution predicate, with no further condition. That includes the zero function, if admits it. Parts (2) and (4) are one-way implications: the statement does not assert their converses separately. Those converses follow from (1) and (3) only because "for all " implies "for some ."
Degenerate cases. The theorem places no hypothesis on beyond its type, so it applies to every value the type SLData admits, including any degenerate interval or coefficient choices the definition allows.
- If for some no function satisfies , the right-hand side of (1) or (3) is true vacuously. The theorem then forces , or , to hold.
- The same happens if every solution at some passes the square-integrability test for a trivial reason, for example because of how that predicate treats an empty or zero-length neighbourhood, or non-integrable functions.
- If is defined through a Lebesgue integral, non-integrable functions get the default integral value, and that value can affect when the predicate holds. The code shown does not settle this.
- Whether these vacuous cases can actually occur depends entirely on the unseen definitions of
SLData,IsSolution,IsLimitCircleLeft/RightandIsSqIntegrableNearLeft/Right.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.