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

AdaptiveCenterRGO: 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. A measurable random-center RGO with actual joint recovery
ASTIS mathematical exposition

A measurable random-center RGO with actual joint recovery

AutoSamplingTheory.ExampleCases.SmoothedPicardHMC.AdaptiveCenterRGO.adaptive_center_recovery · theorem · Teaching coverage

Statement

Let mu be a probability measure on a finite-dimensional real inner-product Borel space, b>=0 and a>0. There exist Markov kernels T,H from E to E and B from E times E to E times E, chosen before every probability center law nu. For every u, T(u) is mu tilted by -b*norm(x-u)^2/2 and H(u) is its actual Gaussian smoothing at standard deviation sqrt(a). For every u,y, B(u,y) retains u and draws x from T(u) tilted by -norm(x-y)^2/(2a); equivalently it draws from mu with precision b+a^-1 and center (b+a^-1)^-1*(b*u+a^-1*y). For every probability nu, B composed with the actual joint measure nu compProd H equals nu compProd T.

\[B\circ_m(\nu\otimes_m H)=\nu\otimes_m T,\qquad B(u,y)=(x\mapsto(u,x))_\#\left[T(u).\mathrm{tilted}\left(-\frac{\|x-y\|^2}{2a}\right)\right].\]

All objects and hypotheses

  • Finite-dimensional real inner-product Borel space, including dimension zero; arbitrary probability base mu.
  • Fixed b>=0 and a>0. No density, curvature, moments or extra normalizability premise.
  • All three kernels precede the universally quantified probability center law. Fiber formulas hold for every u,y.
  • The input conditional observation kernel is exactly H. Arbitrary center laws do not mean arbitrary center-observation joint laws.
  • This explicitly generalizes the source Gibbs/Euclidean setting and exposes its needed ideal joint semantics.

Mathematical proof

1. Construct the measurable family of target laws

For positive b, use the existing Gaussian conditional kernel at inverse precision. For b=0 use the constant probability kernel. Thus the normalized target family is a globally measurable Markov kernel.

\[T(u)=\mu.\mathrm{tilted}(-b\|x-u\|^2/2).\]
Corresponding Lean step

Local precisionKernel and targetKernel; GaussianConditionalKernel.exists_tilted_isCondKernel; Kernel.const.

2. Construct one global backward kernel

The updated precision is positive. Compose its conditional kernel with the measurable weighted-center map. Quadratic tilt closure identifies its fiber with the backward tilt of T(u), for every center and observation.

\[q=b+a^{-1}>0,\quad c(u,y)=q^{-1}(bu+a^{-1}y),\quad K(u,y)=\mu.\mathrm{tilted}(-q\|x-c(u,y)\|^2/2).\]
Corresponding Lean step

Local globalKernels; Kernel.comap; RGOClosure.quadratic_tilt_tilt.

3. Add actual independent Gaussian noise and retain the center

The forward kernel is a kernel product followed by addition. The backward joint kernel is the product of the deterministic center and K. These constructions prove measurability and probability, rather than assume a measurable pointwise selection.

\[H(u)=\operatorname{Law}(X+\sqrt a Z),\quad B(u,y)=(x\mapsto(u,x))_\#K(u,y).\]
Corresponding Lean step

Kernel.prod; Kernel.map; Kernel.IsMarkovKernel.map; Measure.dirac_prod.

4. Identify recovery for each existing global section

The pointwise RGO theorem identifies the already constructed K section and proves its recovery from H(u). Its existential kernel is used only within this equality proof.

\[K(u,\cdot)\circ_m H(u)=T(u).\]
Corresponding Lean step

Local hrec; RGOBackward.rgo_backward_recovery; kernel extensionality.

5. Integrate recovery without discarding the center

For an arbitrary measurable joint event take its measurable section at u. The bind and compProd formulas turn joint output mass into an iterated integral. Section recovery replaces its inner integral by T(u), giving the original joint target measure.

\[\int\!\int B(u,y)(S)\,H(u)(dy)\,\nu(du)=\int T(u)(S_u)\,\nu(du).\]
Corresponding Lean step

Measure.bind_apply; Measure.lintegral_compProd; Measure.compProd_apply; Measure.map_apply; lintegral_congr.

Lean statement · adaptive_center_recovery

Global measurable center-dependent target, Gaussian forward and center-retaining backward kernels with exact joint recovery.

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 adaptive_center_recovery (μ : Measure E) [IsProbabilityMeasure μ] (b a : ℝ)
    (hb : 0 ≤ b) (ha : 0 < a) :
    ∃ (T H : Kernel E E) (B : Kernel (E × E) (E × E)),
      IsMarkovKernel T ∧ IsMarkovKernel H ∧ IsMarkovKernel B ∧
      (∀ u, T u = μ.tilted (fun x => -(b/2)*‖x-u‖^2)) ∧
      (∀ u, H u = GaussianSmoothing.gaussianSmoothing (T u) (Real.sqrt a)) ∧
      (∀ u y, B (u,y) = Measure.map (Prod.mk u)
        ((T u).tilted (fun x => -‖x-y‖^2/(2*a)))) ∧
      (∀ u y, B (u,y) = Measure.map (Prod.mk u)
        (μ.tilted (fun x => -((b+a⁻¹)/2)*
          ‖x-(b+a⁻¹)⁻¹ • (b • u+a⁻¹ • y)‖^2))) ∧
      ∀ (ν : Measure E), IsProbabilityMeasure ν → B ∘ₘ (ν ⊗ₘ H) = ν ⊗ₘ T

Exact module and namespace context

Lean proof · adaptive_center_recovery

Construct global kernels by conditional kernels, measurable comap/product/map, then integrate existing section recovery over measurable joint-event sections.

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 adaptive_center_recovery (μ : Measure E) [IsProbabilityMeasure μ] (b a : ℝ)
    (hb : 0 ≤ b) (ha : 0 < a) :
    ∃ (T H : Kernel E E) (B : Kernel (E × E) (E × E)),
      IsMarkovKernel T ∧ IsMarkovKernel H ∧ IsMarkovKernel B ∧
      (∀ u, T u = μ.tilted (fun x => -(b/2)*‖x-u‖^2)) ∧
      (∀ u, H u = GaussianSmoothing.gaussianSmoothing (T u) (Real.sqrt a)) ∧
      (∀ u y, B (u,y) = Measure.map (Prod.mk u)
        ((T u).tilted (fun x => -‖x-y‖^2/(2*a)))) ∧
      (∀ u y, B (u,y) = Measure.map (Prod.mk u)
        (μ.tilted (fun x => -((b+a⁻¹)/2)*
          ‖x-(b+a⁻¹)⁻¹ • (b • u+a⁻¹ • y)‖^2))) ∧
      ∀ (ν : Measure E), IsProbabilityMeasure ν → B ∘ₘ (ν ⊗ₘ H) = ν ⊗ₘ T := by
  have precisionKernel (μ : Measure E) [IsProbabilityMeasure μ] (q : ℝ) (hq : 0 < q) :
      ∃ T : Kernel E E, IsMarkovKernel T ∧
        ∀ u, T u = μ.tilted (fun x => -(q/2)*‖x-u‖^2) := by
    obtain ⟨T,hT,hfiber,_⟩ := GaussianConditionalKernel.exists_tilted_isCondKernel μ (inv_pos.mpr hq)
    refine ⟨T,hT,?_⟩
    intro u
    rw [hfiber]
    congr 1
    funext x
    field_simp
  
  have targetKernel (μ : Measure E) [IsProbabilityMeasure μ] (b : ℝ) (hb : 0 ≤ b) :
      ∃ T : Kernel E E, IsMarkovKernel T ∧
        ∀ u, T u = μ.tilted (fun x => -(b/2)*‖x-u‖^2) := by
    by_cases hb0 : b = 0
    · subst b
      refine ⟨Kernel.const E μ,inferInstance,?_⟩
      intro u
      simp
    · exact precisionKernel μ b (lt_of_le_of_ne hb (Ne.symm hb0))
  
  have globalKernels (μ : Measure E) [IsProbabilityMeasure μ] (b a : ℝ)
      (hb : 0 ≤ b) (ha : 0 < a) :
      ∃ (T H : Kernel E E) (K : Kernel (E × E) E) (B : Kernel (E × E) (E × E)),
        IsMarkovKernel T ∧ IsMarkovKernel H ∧ IsMarkovKernel K ∧ IsMarkovKernel B ∧
        (∀ u, T u = μ.tilted (fun x => -(b/2)*‖x-u‖^2)) ∧
        (∀ u, H u = GaussianSmoothing.gaussianSmoothing (T u) (Real.sqrt a)) ∧
        (∀ u y, K (u,y) = (T u).tilted (fun x => -‖x-y‖^2/(2*a))) ∧
        (∀ u y, K (u,y) = μ.tilted (fun x => -((b+a⁻¹)/2)*
          ‖x-(b+a⁻¹)⁻¹ • (b • u+a⁻¹ • y)‖^2)) ∧
        ∀ u y, B (u,y) = Measure.map (Prod.mk u) (K (u,y)) := by
    obtain ⟨T,hT,hTf⟩ := targetKernel μ b hb
    let := hT
    obtain ⟨R,hR,hRf⟩ := precisionKernel μ (b+a⁻¹) (add_pos_of_nonneg_of_pos hb (inv_pos.mpr ha))
    let := hR
    let c : E × E → E := fun p => (b+a⁻¹)⁻¹ • (b • p.1+a⁻¹ • p.2)
    have hc : Measurable c := by fun_prop
    let K := R.comap c hc
    have hK : IsMarkovKernel K := inferInstance
    let H := (T ×ₖ Kernel.const E (GaussianSmoothing.scaledStdGaussian (E := E) (Real.sqrt a))).map
      (fun p : E × E => p.1+p.2)
    have hH : IsMarkovKernel H := by
      dsimp only [H]
      exact Kernel.IsMarkovKernel.map _ (by fun_prop)
    let B := (Kernel.deterministic (Prod.fst : E × E → E) measurable_fst) ×ₖ K
    have hB : IsMarkovKernel B := inferInstance
    have hKf (u y : E) : K (u,y) = μ.tilted (fun x => -((b+a⁻¹)/2)*
        ‖x-(b+a⁻¹)⁻¹ • (b • u+a⁻¹ • y)‖^2) := hRf (c (u,y))
    refine ⟨T,H,K,B,hT,hH,hK,hB,hTf,?_,?_,hKf,?_⟩
    · intro u
      dsimp only [H]
      rw [Kernel.map_apply _ (by fun_prop), Kernel.prod_apply]
      rfl
    · intro u y
      rw [hKf,hTf]
      have heq : (fun x : E => -‖x-y‖^2/(2*a)) = (fun x => -(a⁻¹/2)*‖x-y‖^2) := by
        funext x
        field_simp
      rw [heq]
      exact (RGOClosure.quadratic_tilt_tilt μ hb (inv_pos.mpr ha) u y).symm
    · intro u y
      dsimp only [B]
      rw [Kernel.prod_apply, Kernel.deterministic_apply, Measure.dirac_prod]
  
  obtain ⟨T,H,K,B,hT,hH,hK,hB,hTf,hHf,hKf,hKupdated,hBf⟩ := globalKernels μ b a hb ha
  let := hT
  let := hH
  let := hK
  let := hB
  have hrec (u : E) : (K.comap (Prod.mk u) measurable_prodMk_left) ∘ₘ H u = T u := by
    obtain ⟨_,R,hR,hRf,_,hrecover,_⟩ := RGOBackward.rgo_backward_recovery μ b a hb ha u
    have heq : K.comap (Prod.mk u) measurable_prodMk_left = R := by
      ext y : 1
      change K (u,y) = R y
      rw [hKf,hTf,hRf]
    rw [heq,hHf,hTf]
    exact hrecover
  refine ⟨T,H,B,hT,hH,hB,hTf,hHf,?_,?_,?_⟩
  · intro u y
    rw [hBf,hKf]
  · intro u y
    rw [hBf,hKupdated]
  · intro ν hν
    let := hν
    ext s hs
    rw [Measure.bind_apply hs B.aemeasurable, Measure.lintegral_compProd (B.measurable_coe hs),
      Measure.compProd_apply hs]
    apply lintegral_congr
    intro u
    have hs' := hs.preimage (measurable_prodMk_left (x := u))
    have heq := congrArg (fun m : Measure E => m ((Prod.mk u) ⁻¹' s)) (hrec u)
    rw [Measure.bind_apply hs' (K.comap (Prod.mk u) measurable_prodMk_left).aemeasurable] at heq
    rw [← heq]
    apply lintegral_congr
    intro y
    rw [hBf,Measure.map_apply measurable_prodMk_left hs]
    rfl

end AutoSamplingTheory.ExampleCases.SmoothedPicardHMC.AdaptiveCenterRGO

Exact module and namespace context

Scope and omitted-condition boundaries

  • Fixed probability base, precision and variance. Actual ideal joint input only. No joint selection over base/precision/variance/history parameters, arbitrary correlated input, approximate recursion, measurable proxies, error or query cost guarantee.

Source and reuse

ASTIS parents called

Mathlib API called (external library)

  • ProbabilityTheory.Kernel.comap
  • ProbabilityTheory.Kernel.prod
  • ProbabilityTheory.Kernel.map
  • MeasureTheory.Measure.bind_apply
  • MeasureTheory.Measure.lintegral_compProd
  • MeasureTheory.Measure.compProd_apply

Mathematical sources

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