Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Form-domain invariance and energy contraction

Definition
KLSModular_FunctionalInequalities_Analysis_Semigroup_Generated_FormDomain

by Lazyfill · Oct 25, 2026 · Mathlib 0df444a (Lean v4.33.1)

functional-inequalitiesklskls-conjecturekls-modularlog-concavemodule-context

For f∈D(T)f\in D(T)f∈D(T) and t≥0t\ge0t≥0, the bundle proves that Ptf∈D(T)P_tf\in D(T)Pt​f∈D(T) and ∥T(Ptf)∥≤∥Tf∥\|T(P_tf)\|\le\|Tf\|∥T(Pt​f)∥≤∥Tf∥, both jointly in exists_mem_domain_norm_map_apply_le and separately in preserves_form_domain and norm_map_apply_le. It also proves graph-norm density of D(T†T)D(T^\dagger T)D(T†T) in D(T)D(T)D(T) through exists_seq_mem_adjointComp_domain_tendsto_graph, with convergence both in H0H_0H0​ and after applying TTT. The intermediate estimates control the energy at time ttt by the energy at time 2t2t2t and by the initial data.

Original module imports

import FunctionalInequalities.Analysis.Semigroup.AdjointClosure
import FunctionalInequalities.Analysis.Semigroup.Generated.Domain
import FunctionalInequalities.Analysis.Semigroup.Resolvent.Limit

Original declaration excerpt

Shown in the original module context.

private theorem one_div_succ_pos (n : ℕ) : (0 : ℝ) < 1 / ((n : ℝ) + 1) := by positivity

Module navigation

Direct project imports: Analysis/Semigroup/AdjointClosure, Analysis/Semigroup/Generated/Domain, Analysis/Semigroup/Resolvent/Limit.

Project result: The KLS conjecture.

Original module · FunctionalInequalities.Analysis.Semigroup.Generated.FormDomain · Frozen source 408915f.

Definition code
import Definitions.Def_KLSModular_FunctionalInequalities_Analysis_Semigroup_AdjointClosure
import Definitions.Def_KLSModular_FunctionalInequalities_Analysis_Semigroup_Generated_Domain
import Definitions.Def_KLSModular_FunctionalInequalities_Analysis_Semigroup_Resolvent_Limit

noncomputable section
open InnerProductSpace
open scoped RealInnerProductSpace LinearPMap
namespace FunctionalInequalities
namespace Analysis
namespace Semigroup
namespace Generated
variable {H₀ H₁ : Type*} [NormedAddCommGroup H₀] [InnerProductSpace ℝ H₀] [CompleteSpace H₀]
  [NormedAddCommGroup H₁] [InnerProductSpace ℝ H₁] [CompleteSpace H₁]
  (T : H₀ →ₗ.[ℝ] H₁) (hT : T.IsClosed) (hd : Dense (T.domain : Set H₀))
 theorem one_div_succ_pos (n : ℕ) : (0 : ℝ) < 1 / ((n : ℝ) + 1) := by positivity
 theorem one_div_succ_le {m n : ℕ} (h : m ≤ n) :
    (1 : ℝ) / ((n : ℝ) + 1) ≤ 1 / ((m : ℝ) + 1) := by
  have hmn : ((m : ℝ) + 1) ≤ ((n : ℝ) + 1) := by
    have h' := (Nat.cast_le (α := ℝ)).mpr h
    linarith
  exact one_div_le_one_div_of_le (by positivity) hmn
/-- The doubling estimate: for `f ∈ D(T†T)`, `t ≥ 0` and `u = 2t`,

`‖T (P_t f)‖ ² ≤ ‖T f‖ ‖T (P_u f)‖`.

the form identity (`inner_adjointComp_self`), the operator-domain invariance commutation `generator_comm`, symmetry symmetry and the
semigroup law the semigroup law, closed by Cauchy–Schwarz.  The membership witnesses are hypotheses so that
`u` can be any expression equal to `t + t`. -/
theorem norm_map_apply_sq_le_mul (f : (adjointComp T).domain) {t u : ℝ} (ht : 0 ≤ t)
    (hu : u = t + t) (hft : apply T hT hd t (f : H₀) ∈ T.domain)
    (hfu : apply T hT hd u (f : H₀) ∈ T.domain) :
    ‖T ⟨apply T hT hd t (f : H₀), hft⟩‖ ^ 2
      ≤ ‖T ⟨(f : H₀), f.2.2⟩‖ * ‖T ⟨apply T hT hd u (f : H₀), hfu⟩‖ := by
  have h1 : ‖T ⟨apply T hT hd t (f : H₀), hft⟩‖ ^ 2
      = ⟪adjointComp T ⟨apply T hT hd t (f : H₀), preserves_domain T hT hd f ht⟩,
          apply T hT hd t (f : H₀)⟫ :=
    (inner_adjointComp_self hd ⟨apply T hT hd t (f : H₀), preserves_domain T hT hd f ht⟩).symm
  rw [generator_comm T hT hd f ht] at h1
  have h2 : ⟪apply T hT hd t (adjointComp T f), apply T hT hd t (f : H₀)⟫
      = ⟪adjointComp T f, apply T hT hd u (f : H₀)⟫ := by
    rw [symmetric T hT hd ht (adjointComp T f) (apply T hT hd t (f : H₀)),
      ← add_time T hT hd ht ht (f : H₀), ← hu]
  have h3 : ⟪adjointComp T f, apply T hT hd u (f : H₀)⟫
      = ⟪T ⟨(f : H₀), f.2.2⟩, T ⟨apply T hT hd u (f : H₀), hfu⟩⟫ := inner_adjointComp hd f hfu
  rw [h1, h2, h3]
  exact real_inner_le_norm _ _
/-- The energies along the orbit of `f ∈ D(T†T)` are bounded, uniformly in `t ≥ 0`:

`‖T (P_t f)‖ ² = ⟪P_t (T†T f), P_t f⟫ ≤ ‖T†T f‖ ‖f‖`,

using only the operator-domain invariance commutation and the `L²` contraction contraction. -/
theorem norm_map_apply_sq_le_mul_norm (f : (adjointComp T).domain) {t : ℝ} (ht : 0 ≤ t)
    (hft : apply T hT hd t (f : H₀) ∈ T.domain) :
    ‖T ⟨apply T hT hd t (f : H₀), hft⟩‖ ^ 2 ≤ ‖adjointComp T f‖ * ‖(f : H₀)‖ := by
  have h1 : ‖T ⟨apply T hT hd t (f : H₀), hft⟩‖ ^ 2
      = ⟪adjointComp T ⟨apply T hT hd t (f : H₀), preserves_domain T hT hd f ht⟩,
          apply T hT hd t (f : H₀)⟫ :=
    (inner_adjointComp_self hd ⟨apply T hT hd t (f : H₀), preserves_domain T hT hd f ht⟩).symm
  rw [generator_comm T hT hd f ht] at h1
  rw [h1]
  refine le_trans (real_inner_le_norm _ _) ?_
  exact mul_le_mul (norm_apply_le T hT hd ht _) (norm_apply_le T hT hd ht _)
    (norm_nonneg _) (norm_nonneg _)
/-- **the operator-domain energy bound: the semigroup contracts the energy on the generator domain.**  For `f ∈ D(T†T)` and
`t ≥ 0`, `‖T (P_t f)‖ ≤ ‖T f‖`.

The supremum `M` of `‖T (P_t f)‖` over all `t ≥ 0` is finite by
`norm_map_apply_sq_le_mul_norm`, and `norm_map_apply_sq_le_mul` gives `y ² ≤ ‖T f‖ M` for every
`y` in that family, hence `M ² ≤ ‖T f‖ M` and `M ≤ ‖T f‖`.  Time zero is allowed. -/
theorem norm_map_apply_le_of_generator (f : (adjointComp T).domain) {t : ℝ} (ht : 0 ≤ t)
    (hft : apply T hT hd t (f : H₀) ∈ T.domain) :
    ‖T ⟨apply T hT hd t (f : H₀), hft⟩‖ ≤ ‖T ⟨(f : H₀), f.2.2⟩‖ := by
  set a := ‖T ⟨(f : H₀), f.2.2⟩‖ with hadef
  have ha0 : 0 ≤ a := norm_nonneg _
  set S : Set ℝ := {y : ℝ | ∃ τ : ℝ, ∃ hτ : 0 ≤ τ,
      y = ‖T ⟨apply T hT hd τ (f : H₀), (preserves_domain T hT hd f hτ).2⟩‖} with hSdef
  have hmemS : ∀ (τ : ℝ) (hτ : 0 ≤ τ) (h : apply T hT hd τ (f : H₀) ∈ T.domain),
      ‖T ⟨apply T hT hd τ (f : H₀), h⟩‖ ∈ S := fun τ hτ _ => ⟨τ, hτ, rfl⟩
  have hSnn : ∀ y ∈ S, 0 ≤ y := by
    rintro y ⟨τ, hτ, rfl⟩
    exact norm_nonneg _
  have hSbdd : BddAbove S := by
    refine ⟨‖adjointComp T f‖ * ‖(f : H₀)‖ + 1, ?_⟩
    rintro y ⟨τ, hτ, rfl⟩
    have hsq := norm_map_apply_sq_le_mul_norm T hT hd f hτ (preserves_domain T hT hd f hτ).2
    nlinarith [norm_nonneg (T ⟨apply T hT hd τ (f : H₀), (preserves_domain T hT hd f hτ).2⟩)]
  have hSne : S.Nonempty := ⟨_, hmemS t ht hft⟩
  set M := sSup S with hMdef
  have hMle : ∀ y ∈ S, y ≤ M := fun y hy => le_csSup hSbdd hy
  have hM0 : 0 ≤ M := le_trans (hSnn _ (hmemS t ht hft)) (hMle _ (hmemS t ht hft))
  have hSsq : ∀ y ∈ S, y ^ 2 ≤ a * M := by
    rintro y ⟨τ, hτ, rfl⟩
    have hdouble := norm_map_apply_sq_le_mul T hT hd f hτ (by ring : 2 * τ = τ + τ)
      (preserves_domain T hT hd f hτ).2
      (preserves_domain T hT hd f (by linarith : (0 : ℝ) ≤ 2 * τ)).2
    have hnext := hMle _ (hmemS (2 * τ) (by linarith) (preserves_domain T hT hd f
      (by linarith : (0 : ℝ) ≤ 2 * τ)).2)
    nlinarith [hdouble, hnext, ha0]
  have hMsqrt : M ≤ Real.sqrt (a * M) := by
    refine csSup_le hSne fun y hy => ?_
    calc y = Real.sqrt (y ^ 2) := (Real.sqrt_sq (hSnn y hy)).symm
      _ ≤ Real.sqrt (a * M) := Real.sqrt_le_sqrt (hSsq y hy)
  have hMsq : M ^ 2 ≤ a * M := by
    have hsq := Real.sq_sqrt (mul_nonneg ha0 hM0)
    nlinarith [hMsqrt, hM0, Real.sqrt_nonneg (a * M)]
  have hMa : M ≤ a := by
    rcases eq_or_lt_of_le hM0 with h | h
    · rw [← h]; exact ha0
    · exact le_of_mul_le_mul_right (by nlinarith [hMsq]) h
  exact le_trans (hMle _ (hmemS t ht hft)) hMa
include hT hd in
/-- **graph-norm density.**  Every `f ∈ D(T)` is approximated in the **graph norm** of `T` by elements of
`D(T†T)`: there is a sequence `u n ∈ D(T†T)` with `u n → f` in `H₀` **and** `T (u n) → T f`
in `H₁`.

The sequence is `u n = J_{1/(n+1)} f`.  Membership is the resolvent domain identity
(`mem_adjointComp_domain_resolventDomain`), the `H₀` convergence is strong resolvent convergence, and the `H₁`
convergence is `exists_delta_norm_map_resolventDomain_sub_map_lt`. -/
theorem exists_seq_mem_adjointComp_domain_tendsto_graph (f : T.domain) :
    ∃ (u : ℕ → H₀) (hu : ∀ n, u n ∈ (adjointComp T).domain),
      Filter.Tendsto u Filter.atTop (nhds (f : H₀)) ∧
        Filter.Tendsto (fun n => T ⟨u n, (hu n).2⟩) Filter.atTop (nhds (T f)) := by
  refine ⟨fun n => (resolventDomain T hT (FunctionalInequalities.Analysis.Semigroup.Generated.one_div_succ_pos n) (f : H₀) : H₀),
    fun n => mem_adjointComp_domain_resolventDomain T hT (FunctionalInequalities.Analysis.Semigroup.Generated.one_div_succ_pos n) (f : H₀), ?_, ?_⟩
  · refine Metric.tendsto_atTop.mpr fun ε hε => ?_
    obtain ⟨δ, hδ, hlt⟩ := exists_delta_norm_resolventCLM_sub_lt T hT hd (f : H₀) hε
    obtain ⟨N, hN⟩ := exists_nat_one_div_lt hδ
    refine ⟨N, fun n hn => ?_⟩
    rw [dist_eq_norm]
    exact hlt (FunctionalInequalities.Analysis.Semigroup.Generated.one_div_succ_pos n) (lt_of_le_of_lt (FunctionalInequalities.Analysis.Semigroup.Generated.one_div_succ_le hn) hN)
  · refine Metric.tendsto_atTop.mpr fun ε hε => ?_
    obtain ⟨δ, hδ, hlt⟩ := exists_delta_norm_map_resolventDomain_sub_map_lt T hT f hε
    obtain ⟨N, hN⟩ := exists_nat_one_div_lt hδ
    refine ⟨N, fun n hn => ?_⟩
    rw [dist_eq_norm]
    exact hlt (FunctionalInequalities.Analysis.Semigroup.Generated.one_div_succ_pos n) (lt_of_le_of_lt (FunctionalInequalities.Analysis.Semigroup.Generated.one_div_succ_le hn) hN)
/-- **form-domain invariance and form-energy contraction together.**  For every `f ∈ D(T)` and every `t ≥ 0` the semigroup value
`P_t f` lies in `D(T)`, and `‖T (P_t f)‖ ≤ ‖T f‖`.

The membership witness and the estimate are produced in one statement because the estimate
mentions the witness.  `preserves_form_domain` and `norm_map_apply_le` are the two halves. -/
theorem exists_mem_domain_norm_map_apply_le (f : T.domain) {t : ℝ} (ht : 0 ≤ t) :
    ∃ h : apply T hT hd t (f : H₀) ∈ T.domain,
      ‖T ⟨apply T hT hd t (f : H₀), h⟩‖ ≤ ‖T f‖ := by
  obtain ⟨u, hu, hu₀, hu₁⟩ := exists_seq_mem_adjointComp_domain_tendsto_graph T hT hd f
  have hPmem : ∀ n, apply T hT hd t (u n) ∈ (adjointComp T).domain := fun n =>
    preserves_domain T hT hd ⟨u n, hu n⟩ ht
  have hcontr : ∀ n, ‖T ⟨apply T hT hd t (u n), (hPmem n).2⟩‖ ≤ ‖T ⟨u n, (hu n).2⟩‖ := fun n =>
    norm_map_apply_le_of_generator T hT hd ⟨u n, hu n⟩ ht (hPmem n).2
  have hstep : ∀ n m : ℕ,
      ‖T ⟨apply T hT hd t (u n), (hPmem n).2⟩ - T ⟨apply T hT hd t (u m), (hPmem m).2⟩‖
        ≤ ‖T ⟨u n, (hu n).2⟩ - T ⟨u m, (hu m).2⟩‖ := by
    intro n m
    set g : (adjointComp T).domain := ⟨u n, hu n⟩ - ⟨u m, hu m⟩ with hgdef
    have hgval : (g : H₀) = u n - u m := rfl
    have h1 : T ⟨apply T hT hd t (g : H₀), (preserves_domain T hT hd g ht).2⟩
        = T ⟨apply T hT hd t (u n), (hPmem n).2⟩
          - T ⟨apply T hT hd t (u m), (hPmem m).2⟩ := by
      refine apply_sub_of_eq_sub _ _ _ ?_
      rw [hgval, map_sub T hT hd ht]
    have h2 : T ⟨(g : H₀), g.2.2⟩ = T ⟨u n, (hu n).2⟩ - T ⟨u m, (hu m).2⟩ :=
      apply_sub_of_eq_sub _ _ _ hgval
    rw [← h1, ← h2]
    exact norm_map_apply_le_of_generator T hT hd g ht (preserves_domain T hT hd g ht).2
  have hcauchy : CauchySeq fun n => T ⟨apply T hT hd t (u n), (hPmem n).2⟩ := by
    rw [Metric.cauchySeq_iff']
    intro ε hε
    obtain ⟨N, hN⟩ := Metric.cauchySeq_iff'.mp hu₁.cauchySeq ε hε
    refine ⟨N, fun n hn => ?_⟩
    have h := hN n hn
    rw [dist_eq_norm] at h ⊢
    exact lt_of_le_of_lt (hstep n N) h
  obtain ⟨η, hη⟩ := cauchySeq_tendsto_of_complete hcauchy
  have hPconv : Filter.Tendsto (fun n => apply T hT hd t (u n)) Filter.atTop
      (nhds (apply T hT hd t (f : H₀))) := by
    have h := ((operator T hT hd ht).continuous.tendsto ((f : H₀))).comp hu₀
    simpa [Function.comp_def] using h
  have hgraph : (apply T hT hd t (f : H₀), η) ∈ T.graph := by
    refine hT.mem_of_tendsto (hPconv.prodMk_nhds hη) (Filter.Eventually.of_forall fun n => ?_)
    exact T.mem_graph ⟨apply T hT hd t (u n), (hPmem n).2⟩
  obtain ⟨z, hz₁, hz₂⟩ := T.mem_graph_iff.mp hgraph
  have hz₁' : (z : H₀) = apply T hT hd t (f : H₀) := hz₁
  have hz₂' : T z = η := hz₂
  have hmem : apply T hT hd t (f : H₀) ∈ T.domain := by rw [← hz₁']; exact z.2
  refine ⟨hmem, ?_⟩
  have hzeq : (⟨apply T hT hd t (f : H₀), hmem⟩ : T.domain) = z := Subtype.ext hz₁'.symm
  rw [hzeq, hz₂']
  exact le_of_tendsto_of_tendsto' hη.norm hu₁.norm hcontr
/-- **form-domain invariance: the form domain is invariant.**  For `f ∈ D(T)` and `t ≥ 0`, `P_t f ∈ D(T)`.  Time
zero and the zero vector are allowed, and the datum is only assumed to be in the form domain. -/
theorem preserves_form_domain (f : T.domain) {t : ℝ} (ht : 0 ≤ t) :
    apply T hT hd t (f : H₀) ∈ T.domain := by
  obtain ⟨h, _⟩ := exists_mem_domain_norm_map_apply_le T hT hd f ht
  exact h
end Generated
end Semigroup
end Analysis
end FunctionalInequalities
Source
Lean source: https://github.com/human-ai-mathematics/kls-lean/blob/408915f/formalization/FunctionalInequalities/Analysis/Semigroup/Generated/FormDomain.lean#L73-L276 (repository human-ai-mathematics/kls-lean, commit 408915f, module `FunctionalInequalities.Analysis.Semigroup.Generated.FormDomain`, definition bundle `KLSModular_FunctionalInequalities_Analysis_Semigroup_Generated_FormDomain`; the repository is private at upload time).

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