Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412

EnhancedKLOneStep: mathematical reading route

Read the statements and derivations in source order. Every result has its own optional Lean statement and proof. Source assumptions, library reuse and unproved boundaries are kept explicit.

  1. Actual Gibbs enhanced-state one-step KL recurrence
ASTIS mathematical exposition

Actual Gibbs enhanced-state one-step KL recurrence

AutoSamplingTheory.ExampleCases.SmoothedPicardHMC.EnhancedKLOneStep.one_step_kl_error · theorem · Teaching coverage

Statement

muV is a probability measure. There exist Markov kernels T,H:S->E and P:S->S, chosen before every remaining-output kernel R, such that for every state s, T_s=muV.tilted(x->-b/2*norm(x-u)^2), H_s=G(T_s,sqrt(v_s)), and P_s=dirac_s when threshold<=b, otherwise P_s is the pushforward of M_s product standardGaussian by U(s,·). Put Q_s=G(M_s,sqrt(tau_s/(beta+b))) and e(s)=0 when threshold<=b, otherwise KL(Q_s||H_s). Then e is measurable. For every actual Markov kernel R:S->E, the function s->KL(R_s||T_s) is measurable and, for every s, KL((R composed with P)_s||T_s)<=e(s)+the nonnegative integral of KL(R_t||T_t) under P_s.

\[\operatorname{KL}((R\circ P)_s\Vert T_s)\le e(s)+\int\operatorname{KL}(R_t\Vert T_t)\,P_s(dt),\qquad e(s)=\begin{cases}\operatorname{KL}(Q_s\Vert H_s),&b_s<b_*,\\0,&b_s\ge b_*.\end{cases}\]

All objects and hypotheses

  • E is a finite-dimensional real inner-product Borel space with positive dimension d. V:E->R is C2 and its genuine Hessian satisfies alpha*norm(w)^2<=D2V(x)[w,w]<=beta*norm(w)^2 for every x,w. The nonnegative parameters satisfy0<alpha<=beta.
  • The full state is S=NNReal x E x E x Nat x (Nat->E), written s=(b,u,xref,k,history). eta,tau:S->R are measurable and strictly positive at every state. M:S->E is an actual Markov kernel, and threshold is any nonnegative real. M,eta,tau may depend on all coordinates. No source schedule,reference admissibility,history origin,approximation or moment premise is imposed.
  • Set v_s=(eta_s+tau_s)/(beta+b), bp_s=b+toNNReal(v_s^(-1)), obs(s,(x,z))=x+sqrt(tau_s/(beta+b))*z and center(s,(x,z))=bp_s^(-1)*(b*u+v_s^(-1)*obs). For p=(s,(x,z)), define F_p(w)=V(w)+bp_s/2*norm(w-center(p))^2 and D_p(w)=w-(beta+bp_s)^(-1)*grad F_p(w). N_p is the least n with norm(grad F_p(D_p^n(x)))^2<=(alpha+bp_s)*d, or0 if none exists. U(p)=(bp_s,center(p),D_p^N_p(x),k+1,prepend(obs(p),history)). The actual reference is initialized at the pre-noise x.
  • Define the actual Gibbs base muV=volume.tilted(-V), using canonical volume. Gaussian smoothing G(mu,sigma) is the law of X+sigma*Z under mu product standardGaussian. All KL values and all displayed integrals are extended nonnegative reals, including infinity. R composed with P first draws the retained state from P and then the output from R.

Mathematical proof

1. Construct the real Gibbs target

GibbsGradientMoment proves that muV=volume.tilted(-V) is a probability under the actual Hessian assumptions. Apply the generic measurable-state StateDependentRGO construction with b(s),v(s),u(s). This produces Markov T,H and a retained-input posterior B. The public targets remain nested tilts of this actual Gibbs base; no unrelated probability base or unproved normalizer is supplied.

\[\mu_V=\mathrm{volume.tilted}(-V),\quad T_s=\mu_V.\mathrm{tilted}(-b_s\|\cdot-u_s\|^2/2).\]
Corresponding Lean step

actual_gibbs_posterior: hμ,T,H,B,hTf,hHf

2. Derive the ideal posterior recovery

Project B to its second output coordinate to obtain K. Measurable pushforward composition yields the exact posterior precision b+1/v and center (b+1/v)^(-1)(bu+y/v). Instantiate the existing joint recovery with a Dirac input state and evaluate measurable second-coordinate events. The resulting pointwise recovery is H_s K_s=T_s. It is a theorem in the proof,not an input to the public statement.

\[\int K(s,y)\,H_s(dy)=T_s.\]
Corresponding Lean step

actual_gibbs_posterior: K,hKf,he,hei,hm

3. Keep the actual reference and distinguish the two noises

Positivity gives v>0 and bp=b+1/v without truncation. ObservationConditionalKernel supplies the genuine pre-noise initialized first-hit update and its actual absorbed P. Its joint J has observation marginal Q=G(M,sqrt(tau/(beta+b))). Ideal H instead uses sqrt(v)=sqrt((eta+tau)/(beta+b)). ReferenceCarryingKernel supplies the actual joint update measurability used in the projection calculation.

\[Q_s=G(M_s,\sqrt{\tau_s/(\beta+b_s)}),\quad H_s=G(T_s,\sqrt{(\eta_s+\tau_s)/(\beta+b_s)}).\]
Corresponding Lean step

firstIndex; one_step_kl_error: hβ,hv,hvm,hbp,J,hQ,href,hu,ho,hJs',hPs'

4. Prove KL measurability including singular fibers

Express fiber KL by the nonnegative klFun integral of the measurable kernel Radon-Nikodym derivative on the measurable absolute-continuity set,and infinity outside it. Kernel integral measurability proves the fiber KL function measurable. A measurable branch on b>=threshold gives e; the same argument works for every remaining-output R against T.

\[x\mapsto\operatorname{KL}(L_x\Vert K_x)\quad\text{is measurable,including }+\infty.\]
Corresponding Lean step

measurable_fiber_kl: hf,heq; one_step_kl_error: heq,he,hmR

5. Establish the all-ENNReal conditional chain calculation

For two kernels with the same probability base,the joint KL equals the integral of conditional KL. In the AC case,construct the joint density from the kernel derivative and use its almost-everywhere RN identity. In the non-AC case,a finite conditional integral would imply AE fiber AC and then joint AC,a contradiction. Projecting the joint laws and using the KL compProd chain identity gives the composed-output bound without a finite-KL premise.

\[\operatorname{KL}(L\mu\Vert K\nu)\le\operatorname{KL}(\mu\Vert\nu)+\int\operatorname{KL}(L_x\Vert K_x)\,\mu(dx).\]
Corresponding Lean step

conditional_kl_integral: hac,hfiber,hwd,hrn,hfinite; composed_kl_bound

6. Average over the actual conditional reference

Let C=J.condKernel. Its precision/center support implies T_t=K(s,y) for actual-Q-almost every y and C(s,y)-almost every t. Apply the preceding chain bound with equal bases C(s,y) and a constant target kernel. The base KL is zero and the constant kernel integrates to K(s,y),giving the mixture bound. This does not make the reference a deterministic function of y,and no C-support claim under H is needed.

\[\operatorname{KL}(R C_{s,y}\Vert K(s,y))\le\int\operatorname{KL}(R_t\Vert T_t)\,C(s,y,dt)\quad(Q_s\text{-a.e. }y).\]
Corresponding Lean step

mixture_kl_bound: K,hc,hconst; one_step_kl_error: halign; conditional_step: hm

7. Chain observation error and fold into actual execution

On the active branch,projecting the same joint update proves P_s=J.snd_s. Disintegration therefore rewrites every nonnegative P_s integral as the actualQ/conditionalC iterated integral. Define the remaining observation kernel by composing R with C. Chain it against the ideal posterior K using Q versus H; ideal recovery identifies the comparator T_s. The mixture bound and nonnegative integration fold the conditional residual into the actual P_s integral.

\[\operatorname{KL}((R\circ P)_s\Vert T_s)\le\operatorname{KL}(Q_s\Vert H_s)+\int\operatorname{KL}(R_t\Vert T_t)\,P_s(dt).\]
Corresponding Lean step

conditional_step: C,LR,KR,hdecomp,hout,hc,hm; one_step_kl_error: hPJ,hc

8. Handle absorption without erasing terminal error

When b>=threshold,P_s is Dirac and e(s)=0. Both composed output and residual integral reduce to the same KL(R_s||T_s),so the inequality is reflexive. Combining this with the active calculation proves the statement for every state and every actual Markov R. No observation-error bound,finite-depth sum or terminal accuracy is inferred from the identity.

\[b_s\ge b_*:\quad\operatorname{KL}(R_s\Vert T_s)\le0+\operatorname{KL}(R_s\Vert T_s).\]
Corresponding Lean step

one_step_kl_error: hs,Measure.dirac_bind,lintegral_dirac'

Lean statement · one_step_kl_error

Actual Gibbs target,ideal observation and absorbed retained-state transition with measurable all-ENNReal one-step KL error.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

theorem one_step_kl_error {V : E → ℝ} {α β : ℝ≥0}
    (hα : 0 < α) (hαβ : α ≤ β) (hV : ContDiff ℝ 2 V)
    (hHess : ∀ x w : E, (α:ℝ)*‖w‖^2 ≤ fderiv ℝ (fderiv ℝ V) x w w ∧
      fderiv ℝ (fderiv ℝ V) x w w ≤ (β:ℝ)*‖w‖^2)
    (hd : 0 < (Module.finrank ℝ E : ℝ))
    (η τ : RefState E → ℝ) (hη : Measurable η) (hτ : Measurable τ)
    (hη0 : ∀ s, 0 < η s) (hτ0 : ∀ s, 0 < τ s)
    (M : Kernel (RefState E) E) [IsMarkovKernel M] (threshold : ℝ≥0) :
    let d : ℝ := Module.finrank ℝ E
    let v := fun s : RefState E => (η s+τ s)/((β:ℝ)+s.1)
    let bp := fun s : RefState E => s.1+Real.toNNReal (v s)⁻¹
    let obs := fun p : RefState E × (E × E) => p.2.1+Real.sqrt (τ p.1/((β:ℝ)+p.1.1)) • p.2.2
    let center := fun p : RefState E × (E × E) => (bp p.1:ℝ)⁻¹ •
      ((p.1.1:ℝ) • p.1.2.1+(v p.1)⁻¹ • obs p)
    let F := fun p x => V x+(bp p.1:ℝ)/2*‖x-center p‖^2
    let T := fun p x => x-((β:ℝ)+bp p.1)⁻¹ • gradient (F p) x
    let q := fun n p => ‖gradient (F p) ((T p)^[n] p.2.1)‖^2
    let N := firstIndex q (fun p => ((α:ℝ)+bp p.1)*d)
    let out := fun p => (T p)^[N p] p.2.1
    let update := fun p : RefState E × (E × E) =>
      (bp p.1,center p,out p,p.1.2.2.2.1+1,fun n => Nat.casesOn n (obs p) p.1.2.2.2.2)
    let μ := (volume : Measure E).tilted (fun x => -V x)
    IsProbabilityMeasure μ ∧
    ∃ (T H : Kernel (RefState E) E) (P : Kernel (RefState E) (RefState E)),
      ∃ hT : IsMarkovKernel T, ∃ hH : IsMarkovKernel H, ∃ hP : IsMarkovKernel P,
      letI := hT
      letI := hH
      letI := hP
      (∀ s, T s=μ.tilted (fun x => -((s.1:ℝ)/2)*‖x-s.2.1‖^2)) ∧
      (∀ s, H s=AutoSamplingTheory.TechnicalLemmas.Measure.GaussianSmoothing.gaussianSmoothing
        (T s) (Real.sqrt (v s))) ∧
      (∀ s, P s=if threshold ≤ s.1 then Measure.dirac s else
        ((M s).prod (stdGaussian E)).map (fun z => update (s,z))) ∧
      let Q := fun s => AutoSamplingTheory.TechnicalLemmas.Measure.GaussianSmoothing.gaussianSmoothing
        (M s) (Real.sqrt (τ s/((β:ℝ)+s.1)))
      let e := fun s => if threshold ≤ s.1 then 0 else klDiv (Q s) (H s)
      Measurable e ∧ ∀ (R : Kernel (RefState E) E) [IsMarkovKernel R],
        Measurable (fun s => klDiv (R s) (T s)) ∧ ∀ s,
        klDiv ((R ∘ₖ P) s) (T s) ≤ e s+∫⁻ t, klDiv (R t) (T t) ∂P s

Exact module and namespace context

Lean proof · one_step_kl_error

Real Gibbs posterior recovery,actual conditional-reference alignment,KL mixture/chain and active/stopped execution branches.

Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.

theorem one_step_kl_error {V : E → ℝ} {α β : ℝ≥0}
    (hα : 0 < α) (hαβ : α ≤ β) (hV : ContDiff ℝ 2 V)
    (hHess : ∀ x w : E, (α:ℝ)*‖w‖^2 ≤ fderiv ℝ (fderiv ℝ V) x w w ∧
      fderiv ℝ (fderiv ℝ V) x w w ≤ (β:ℝ)*‖w‖^2)
    (hd : 0 < (Module.finrank ℝ E : ℝ))
    (η τ : RefState E → ℝ) (hη : Measurable η) (hτ : Measurable τ)
    (hη0 : ∀ s, 0 < η s) (hτ0 : ∀ s, 0 < τ s)
    (M : Kernel (RefState E) E) [IsMarkovKernel M] (threshold : ℝ≥0) :
    let d : ℝ := Module.finrank ℝ E
    let v := fun s : RefState E => (η s+τ s)/((β:ℝ)+s.1)
    let bp := fun s : RefState E => s.1+Real.toNNReal (v s)⁻¹
    let obs := fun p : RefState E × (E × E) => p.2.1+Real.sqrt (τ p.1/((β:ℝ)+p.1.1)) • p.2.2
    let center := fun p : RefState E × (E × E) => (bp p.1:ℝ)⁻¹ •
      ((p.1.1:ℝ) • p.1.2.1+(v p.1)⁻¹ • obs p)
    let F := fun p x => V x+(bp p.1:ℝ)/2*‖x-center p‖^2
    let T := fun p x => x-((β:ℝ)+bp p.1)⁻¹ • gradient (F p) x
    let q := fun n p => ‖gradient (F p) ((T p)^[n] p.2.1)‖^2
    let N := firstIndex q (fun p => ((α:ℝ)+bp p.1)*d)
    let out := fun p => (T p)^[N p] p.2.1
    let update := fun p : RefState E × (E × E) =>
      (bp p.1,center p,out p,p.1.2.2.2.1+1,fun n => Nat.casesOn n (obs p) p.1.2.2.2.2)
    let μ := (volume : Measure E).tilted (fun x => -V x)
    IsProbabilityMeasure μ ∧
    ∃ (T H : Kernel (RefState E) E) (P : Kernel (RefState E) (RefState E)),
      ∃ hT : IsMarkovKernel T, ∃ hH : IsMarkovKernel H, ∃ hP : IsMarkovKernel P,
      letI := hT
      letI := hH
      letI := hP
      (∀ s, T s=μ.tilted (fun x => -((s.1:ℝ)/2)*‖x-s.2.1‖^2)) ∧
      (∀ s, H s=AutoSamplingTheory.TechnicalLemmas.Measure.GaussianSmoothing.gaussianSmoothing
        (T s) (Real.sqrt (v s))) ∧
      (∀ s, P s=if threshold ≤ s.1 then Measure.dirac s else
        ((M s).prod (stdGaussian E)).map (fun z => update (s,z))) ∧
      let Q := fun s => AutoSamplingTheory.TechnicalLemmas.Measure.GaussianSmoothing.gaussianSmoothing
        (M s) (Real.sqrt (τ s/((β:ℝ)+s.1)))
      let e := fun s => if threshold ≤ s.1 then 0 else klDiv (Q s) (H s)
      Measurable e ∧ ∀ (R : Kernel (RefState E) E) [IsMarkovKernel R],
        Measurable (fun s => klDiv (R s) (T s)) ∧ ∀ s,
        klDiv ((R ∘ₖ P) s) (T s) ≤ e s+∫⁻ t, klDiv (R t) (T t) ∂P s := by
  classical
  intro d v bp obs center F Tstep q N out update μ
  have hβ : 0 < (β:ℝ) := lt_of_lt_of_le (show 0 < (α:ℝ) from hα)
    (show (α:ℝ) ≤ β from hαβ)
  have hv (s : RefState E) : 0 < v s :=
    div_pos (add_pos (hη0 s) (hτ0 s)) (add_pos_of_pos_of_nonneg hβ s.1.coe_nonneg)
  have hvm : Measurable v := by dsimp [v]; fun_prop
  have hbp (s : RefState E) : (bp s:ℝ)=(s.1:ℝ)+(v s)⁻¹ := by
    simp only [bp,NNReal.coe_add,Real.coe_toNNReal _ (inv_pos.mpr (hv s)).le]
  obtain ⟨hμ,T,H,K,hT,hH,hK,hTf,hHf,hKf,hrec⟩ :=
    actual_gibbs_posterior hα hαβ hV hHess (fun s : RefState E => (s.1:ℝ)) v
      (fun s => s.2.1) (by fun_prop) hvm (by fun_prop) (fun s => s.1.coe_nonneg) hv
  let := hμ
  let := hT
  let := hH
  let := hK
  obtain ⟨J,hJ,hJs,hQ,hdis,hsupp,hfact,P,hP,hPs,hactive⟩ :=
    AutoSamplingTheory.ExampleCases.SmoothedPicardHMC.ObservationConditionalKernel.observation_conditional_kernel
      hα hαβ hV hHess hd η τ hη hτ hη0 hτ0 M threshold
  let := hJ
  let := hP
  have href := AutoSamplingTheory.ExampleCases.SmoothedPicardHMC.ReferenceCarryingKernel.reference_carrying_kernel
    hα hαβ hV hHess hd η τ hη hτ hη0 hτ0 M threshold
  have hu : Measurable update := href.2.2.2.1
  have ho : Measurable obs := by dsimp [obs]; fun_prop
  have hJs' (s : RefState E) : J s=((M s).prod (stdGaussian E)).map
      (fun z => (obs (s,z),update (s,z))) := hJs s
  have hPs' (s : RefState E) : P s=if threshold ≤ s.1 then Measure.dirac s else
      ((M s).prod (stdGaussian E)).map (fun z => update (s,z)) := hPs s
  have halign (s : RefState E) : ∀ᵐ y ∂J.fst s, ∀ᵐ t ∂J.condKernel (s,y), T t=K (s,y) := by
    filter_upwards [hsupp s] with y hy
    filter_upwards [hy] with t ht
    rw [hTf,hKf,ht.1,ht.2,hbp]
  refine ⟨hμ,T,H,P,hT,hH,hP,hTf,hHf,hPs',?_⟩
  intro Q e
  have heq : e=(fun s => if threshold ≤ s.1 then 0 else klDiv (J.fst s) (H s)) := by
    funext s
    simp only [e,Q,hQ]
  have he : Measurable e := by
    rw [heq]
    exact Measurable.ite (measurableSet_le measurable_const (by fun_prop))
      measurable_const (measurable_fiber_kl J.fst H)
  refine ⟨he,fun R hR => ?_⟩
  let := hR
  have hmR := measurable_fiber_kl R T
  refine ⟨hmR,fun s => ?_⟩
  by_cases hs : threshold ≤ s.1
  · simp only [e,Kernel.comp_apply,hPs',if_pos hs,
      Measure.dirac_bind R.measurable,lintegral_dirac' s hmR,zero_add,le_refl]
  · have hPJ : P s=J.snd s := by
      have hf : Measurable (fun z : E × E => (obs (s,z),update (s,z))) :=
        (ho.prodMk hu).comp (measurable_const.prodMk measurable_id)
      rw [hPs',if_neg hs,Kernel.snd_apply,hJs',Measure.map_map measurable_snd hf]
      rfl
    have hc := conditional_step J P T H K R s hPJ (hrec s) (halign s)
    simpa only [e,Q,if_neg hs,hQ] using hc

end AutoSamplingTheory.ExampleCases.SmoothedPicardHMC.EnhancedKLOneStep

Exact module and namespace context

Scope and omitted-condition boundaries

  • Actual enhanced-state one-step KL recurrence for the Section6.3 conditional output argument, not the numerical(6.5) observation budget or full Theorem6.5. C2 genuine Hessian bounds agree with source(1.1); positive finite dimension and0<alpha<=beta are explicit. Arbitrary measurable positive steps,state,threshold and actual M,R provide no source schedule,admissibility,accuracy or moments; e may be infinite. T is the nested actual volume-Gibbs tilt, without an extra combined density/normalizer formula. Posterior recovery,conditional target alignment and active projection are proved internally,not public premises. Internal J,C,K and standalone recovery are not returned conjuncts. Conditional support is used only under actualQ,not transferred to idealH. The stopped branch retains remaining-output KL. Numerical stage precision,finite-depth accumulation,terminal accuracy,actual M construction and all query costs remain separate; neither paper is complete.

Source and reuse

ASTIS parents called

Mathlib API called (external library)

  • InformationTheory.klDiv_compProd_eq_add
  • InformationTheory.klDiv_map_le
  • ProbabilityTheory.Kernel.rnDeriv_eq_rnDeriv_measure
  • ProbabilityTheory.Kernel.lintegral_compProd
  • MeasureTheory.Measure.dirac_compProd_apply
  • MeasureTheory.lintegral_map

Mathematical sources

  • SPHMC Section6.3 conditional output after(6.5) — Actual enhanced-state one-step KL recurrence for the Section6.3 conditional output argument, not the numerical(6.5) observation budget or full Theorem6.5. C2 genuine Hessian bounds agree with source(1.1); positive finite dimension and0<alpha<=beta are explicit. Arbitrary measurable positive steps,state,threshold and actual M,R provide no source schedule,admissibility,accuracy or moments; e may be infinite. T is the nested actual volume-Gibbs tilt, without an extra combined density/normalizer formula. Posterior recovery,conditional target alignment and active projection are proved internally,not public premises. Internal J,C,K and standalone recovery are not returned conjuncts. Conditional support is used only under actualQ,not transferred to idealH. The stopped branch retains remaining-output KL. Numerical stage precision,finite-depth accumulation,terminal accuracy,actual M construction and all query costs remain separate; neither paper is complete.

ASTIS prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.