Friedrichs extension exists with no bound
DefinitionChapterFriedrichsExtensionProofsspectral-theorytimepiece
Every densely defined symmetric positive operator has a Friedrichs extension: the resolvent is built by Riesz representation on the form space, and the converse shift-invert construction recovers a positive self-adjoint extension with no boundedness hypothesis.
Formalization Note. Lean names live in BookProof.FriedrichsExtension. friedrichsResolvent stays in the husk.
Definition code
import Mathlib
import Definitions.Def_ChapterFriedrichsExtension
import Definitions.Def_ChapterHashimotoShiftInvert
import Definitions.Def_ChapterHashimotoConverseProofs
import Definitions.Def_ChapterYangMillsFriedrichs
import Definitions.Def_ChapterFarisLavine
import Theorems.Thm_BookProof_FriedrichsExtension_FormDom_isUniformInducing_toComplL
import Theorems.Thm_BookProof_FriedrichsExtension_FormDom_incl_apply
namespace BookProof.FriedrichsExtension
open BookProof.HashimotoShiftInvert BookProof.YangMillsFriedrichs BookProof.FarisLavine
open scoped InnerProductSpace
noncomputable section
variable {F : Type*} [NormedAddCommGroup F] [InnerProductSpace ℂ F] [CompleteSpace F]
namespace FormDom
@[simp] theorem formExt_coe (P : PosSymOp F) (x : FormDom P) :
formExt P (x : FormSpace P) = toAmbient x := by
have := ContinuousLinearMap.extend_eq (incl P) (denseRange_toComplL P)
(isUniformInducing_toComplL P) x
simpa [formExt, UniformSpace.Completion.coe_toComplL, incl_apply] using this
theorem inner_coe_eq (P : PosSymOp F) (x : FormDom P) (k : FormSpace P) :
(inner ℂ (x : FormSpace P) k : ℂ)
= inner ℂ (toAmbient x + P.op (toDom x)) (formExt P k) := by
refine UniformSpace.Completion.induction_on k ?_ ?_
· exact isClosed_eq (by fun_prop) (by fun_prop)
· intro y
rw [formExt_coe, UniformSpace.Completion.inner_coe, inner_def, inner_add_left,
toAmbient_eq, toAmbient_eq, P.sym (toDom x) (toDom y)]
/-- **The form completion embeds into the ambient space**: the form has no ghost
elements. This is the closability of the form of a positive symmetric
operator. -/
theorem formExt_injective (P : PosSymOp F) : Function.Injective (formExt P) := by
rw [injective_iff_map_eq_zero]
intro k hk
have hzero : ∀ y : FormDom P, (inner ℂ (y : FormSpace P) k : ℂ) = 0 := by
intro y
rw [inner_coe_eq, hk, inner_zero_right]
have hall : ∀ z : FormSpace P, (inner ℂ z k : ℂ) = 0 := by
intro z
refine UniformSpace.Completion.induction_on z ?_ hzero
exact isClosed_eq (by fun_prop) (by fun_prop)
simpa using hall k
theorem dense_range_formExt (P : PosSymOp F) (hdense : Dense (P.dom : Set F)) :
Dense (Set.range (formExt P)) := by
refine Dense.mono ?_ hdense
intro v hv
exact ⟨((show FormDom P from ⟨v, hv⟩ : FormDom P) : FormSpace P), by rw [formExt_coe]; rfl⟩
@[simp] theorem friedrichsResolvent_apply (P : PosSymOp F) (u : F) :
friedrichsResolvent P u = formExt P (formRiesz P u) := rfl
theorem inner_friedrichsResolvent (P : PosSymOp F) (u v : F) :
(inner ℂ u (friedrichsResolvent P v) : ℂ) = inner ℂ (formRiesz P u) (formRiesz P v) := by
rw [friedrichsResolvent_apply, formRiesz_spec]
/-- `S` is self-adjoint. -/
theorem friedrichsResolvent_isSelfAdjoint (P : PosSymOp F) :
IsSelfAdjoint (friedrichsResolvent P) := by
rw [ContinuousLinearMap.isSelfAdjoint_iff_isSymmetric]
intro u v
simp only [ContinuousLinearMap.coe_coe]
rw [← inner_conj_symm, inner_friedrichsResolvent, inner_friedrichsResolvent, inner_conj_symm]
/-- `S ≤ 1` in the sense of quadratic forms — the positivity hypothesis of the
shift-invert construction at `γ = 1`. -/
theorem friedrichsResolvent_pos (P : PosSymOp F) (u : F) :
(1 : ℝ) * ‖friedrichsResolvent P u‖ ^ 2
≤ (inner ℂ (friedrichsResolvent P u) u : ℂ).re := by
have h : (inner ℂ (friedrichsResolvent P u) u : ℂ)
= starRingEnd ℂ (inner ℂ u (friedrichsResolvent P u)) := (inner_conj_symm _ _).symm
rw [h, inner_friedrichsResolvent]
have h2 : (inner ℂ (formRiesz P u) (formRiesz P u) : ℂ) = ((‖formRiesz P u‖ ^ 2 : ℝ) : ℂ) := by
simp [inner_self_eq_norm_sq_to_K, Complex.ofReal_pow]
rw [h2]
simp only [Complex.conj_ofReal, Complex.ofReal_re, one_mul, friedrichsResolvent_apply]
nlinarith [norm_formExt_apply_le P (formRiesz P u), norm_nonneg (formExt P (formRiesz P u)),
norm_nonneg (formRiesz P u)]
/-- `S` is injective — using that the domain is dense in `F`. -/
theorem friedrichsResolvent_injective (P : PosSymOp F) (hdense : Dense (P.dom : Set F)) :
Function.Injective (friedrichsResolvent P) := by
rw [injective_iff_map_eq_zero]
intro u hu
have h0 : formRiesz P u = 0 := formExt_injective P (by simpa using hu)
have hall : ∀ k : FormSpace P, (inner ℂ u (formExt P k) : ℂ) = 0 := by
intro k
rw [← formRiesz_spec, h0, inner_zero_left]
have hzero : ∀ v : F, (inner ℂ u v : ℂ) = 0 := by
intro v
have hc : Continuous fun w : F => (inner ℂ u w : ℂ) := (innerSL ℂ u).continuous
have heq : Set.EqOn (fun w : F => (inner ℂ u w : ℂ)) (fun _ => (0 : ℂ))
(Set.range (formExt P)) := by
rintro _ ⟨k, rfl⟩
exact hall k
exact congrFun (Continuous.ext_on (dense_range_formExt P hdense) hc continuous_const heq) v
simpa using hzero u
/-- **`S` really is `(H + 1)⁻¹`**: it sends `x + H x` back to `x`, for every `x`
in the domain of `H`. -/
theorem friedrichsResolvent_shift (P : PosSymOp F) (x : P.dom) :
friedrichsResolvent P ((x : F) + P.op x) = (x : F) := by
have hx : formRiesz P ((x : F) + P.op x)
= ((show FormDom P from x : FormDom P) : FormSpace P) := by
refine ext_inner_right ℂ (fun k => ?_)
rw [formRiesz_spec, inner_coe_eq]
rfl
rw [friedrichsResolvent_apply, hx, formExt_coe]
rfl
theorem dom_le_range (P : PosSymOp F) :
P.dom ≤ LinearMap.range (friedrichsResolvent P : F →ₗ[ℂ] F) := by
intro v hv
exact ⟨(v : F) + P.op ⟨v, hv⟩, friedrichsResolvent_shift P ⟨v, hv⟩⟩
end FormDom
open FormDom
theorem friedrichs_extension_exists (P : PosSymOp F) (hdense : Dense (P.dom : Set F)) :
∃ (Dom : Submodule ℂ F) (A : Dom →ₗ[ℂ] F), IsPositiveSelfAdjointExtension P.op A := by
have hinj : Function.Injective (friedrichsResolvent P) :=
friedrichsResolvent_injective P hdense
refine ⟨_, invShiftOperator (friedrichsResolvent P) hinj 1, ?_⟩
refine invShiftOperator_isPositiveSelfAdjointExtension (friedrichsResolvent P) hinj 1
(friedrichsResolvent_isSelfAdjoint P) (friedrichsResolvent_pos P) (dom_le_range P) P.op ?_
intro x
have hpre : preim (friedrichsResolvent P) ⟨(x : F), dom_le_range P x.2⟩
= (x : F) + P.op x :=
preim_eq _ hinj _ (friedrichsResolvent_shift P x)
rw [invShiftOperator_apply, hpre]
push_cast
module
/-- **The named hypothesis of
`BookProof.YangMillsFriedrichs.friedrichs_extension_of_semibounded` is a
theorem.** Wherever the project carried "Friedrichs" as an explicit hypothesis,
it can now be discharged. -/
theorem friedrichs_hypothesis_holds :
∀ (D' : Submodule ℂ F) (H' : D' →ₗ[ℂ] F), Dense (D' : Set F) →
SymmetricOn D' H' → (∀ x : D', 0 ≤ quadForm H' x) →
∃ (Dom : Submodule ℂ F) (A : Dom →ₗ[ℂ] F), IsPositiveSelfAdjointExtension H' A :=
fun D' H' hdense hsym hpos =>
friedrichs_extension_exists ⟨D', H', hsym, hpos⟩ hdense
/-- **The Weyl-gauge Yang–Mills Hamiltonian has a Friedrichs extension —
unconditionally.** `½ Σᵢ πᵢ² + ½ Σₐ Bₐ²` on a dense domain, with symmetric
electric- and magnetic-field operators, has a positive self-adjoint extension.
No boundedness of `πᵢ`, `Bₐ` or of the Hamiltonian is assumed: this is
`BookProof.YangMillsFriedrichs.weyl_friedrichs_extension` with its hypothesis
removed. -/
theorem weyl_friedrichs_extension_unconditional {D : Submodule ℂ F} {n m : ℕ}
{pi : Fin n → D →ₗ[ℂ] D} {Bf : Fin m → D →ₗ[ℂ] D}
(hdense : Dense (D : Set F))
(hpi : ∀ i, SymmetricOn D (D.subtype.comp (pi i)))
(hB : ∀ a, SymmetricOn D (D.subtype.comp (Bf a))) :
∃ (Dom : Submodule ℂ F) (A : Dom →ₗ[ℂ] F),
IsPositiveSelfAdjointExtension (weylOp pi Bf) A :=
friedrichs_extension_exists
⟨D, weylOp pi Bf, weylOpDom_symmetricOn hpi hB, weylOpDom_quadForm_nonneg hpi hB⟩ hdense
end
end BookProof.FriedrichsExtension
Source
timepiece BookProof, ChapterFriedrichsExtension.lean, theorem friedrichs_extension_exists