Samplinglib
Lean gate not recorded for this source state main · 9bb7a7394ab0
Samplinglib mathematical lesson

Actual affine normalized Gibbs transport

AutoSamplingTheory.TechnicalLemmas.Measure.AffineGibbs.map_affine_gibbs · theorem · Teaching coverage

Read this first

Mathematical statement

The actual pushforward of the normalized Lebesgue Gibbs tilt under x→p+s*x is the normalized Lebesgue tilt with inverse-affine potential x→F(s^-1*(x-p)). The nonzero actual Lebesgue Jacobian cancels between partition and set numerator. This canonical identity alone makes no probability assertion.

\[T(x)=p+sx,\quad H(x)=s^{-1}(x-p),\quad T_\#(Z_F^{-1}e^{-F}dx)=Z_{F\circ H}^{-1}e^{-F\circ H}dx.\]
Lean statement · map_affine_gibbs

The actual pushforward of the normalized Lebesgue Gibbs tilt under x->p+s*x is the normalized Lebesgue tilt with inverse-affine potential x->F(s^-1*(x-p)). The nonzero actual Lebesgue Jacobian cancels between partition and set numerator. This canonical identity alone makes no probability assertion.

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 map_affine_gibbs (F : E → ℝ) (p : E) {s : ℝ} (hs : s ≠ 0) :
    Measure.map (fun x : E => p+s • x)
      ((volume : Measure E).tilted (fun x => -F x)) =
      volume.tilted (fun x => -F (s⁻¹ • (x-p)))

Exact module and namespace context

Proof roadmap

  1. 1Fix the true affine inverse

    Use T(x)=p+s*x and H(x)=s^-1*(x-p). Nonzero s gives H(T(x))=x and a measurable forward map, even for negative scales or zero dimension.

  2. 2Transform the actual Lebesgue integrals

    The canonical Haar scalar and translation change of variables applies to actual Bochner integrals. Apply it to exp(-F o H) and to its measurable-set indicator. Both the original partition and set numerator acquire the same real factor J; no moment or integrability estimate is assumed.

  3. 3Cancel the Jacobian in the normalized law

    Use map_apply on the measurable affine map and tilted_apply_eq_ofReal_integral on each measurable set. J≠0 cancels in the numerator/partition ratio. Mathlib totalizes improper integrals; this identity does not certify probability. The source consumer below derives positive integrability internally.

Full assumptions and notation

All objects and hypotheses

  • Finite real Hilbert/Borel full space E, including dimension zero; any function F:E→R, any translation p:E and a real scale s≠0.
  • No continuity, measurability of F, exponential integrability, probability or moment premise. Equality is of Mathlib totalized normalized tilted measures; probability is a separate obligation for every consumer.

Mathematical proof

1. Fix the true affine inverse

Use T(x)=p+s*x and H(x)=s^-1*(x-p). Nonzero s gives H(T(x))=x and a measurable forward map, even for negative scales or zero dimension.

\[H(T(x))=x,\quad J=|s^{-d}|\ne0.\]
Corresponding Lean step

map_affine_gibbs; Measurable.smul; smul_smul

2. Transform the actual Lebesgue integrals

The canonical Haar scalar and translation change of variables applies to actual Bochner integrals. Apply it to exp(-F o H) and to its measurable-set indicator. Both the original partition and set numerator acquire the same real factor J; no moment or integrability estimate is assumed.

\[Z_F=JZ_{F\circ H},\quad\int_{T^{-1}B}e^{-F}dx=J\int_Be^{-F\circ H}dx.\]
Corresponding Lean step

Measure.integral_comp_smul; integral_add_left_eq_self; integral_indicator

3. Cancel the Jacobian in the normalized law

Use map_apply on the measurable affine map and tilted_apply_eq_ofReal_integral on each measurable set. J≠0 cancels in the numerator/partition ratio. Mathlib totalizes improper integrals; this identity does not certify probability. The source consumer below derives positive integrability internally.

\[\frac{J\int_Be^{-F\circ H}}{JZ_{F\circ H}}=\frac{\int_Be^{-F\circ H}}{Z_{F\circ H}}.\]
Corresponding Lean step

Measure.map_apply; tilted_apply_eq_ofReal_integral'; integral_div; mul_div_mul_left

Lean verification

The exact proof begins folded immediately after the mathematical argument; the statement is folded beside the claim above.

Lean proof · map_affine_gibbs

Fix the true affine inverse; Transform the actual Lebesgue integrals; Cancel the Jacobian in the normalized law

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.

Download module (.lean)
theorem map_affine_gibbs (F : E → ℝ) (p : E) {s : ℝ} (hs : s ≠ 0) :
    Measure.map (fun x : E => p+s • x)
      ((volume : Measure E).tilted (fun x => -F x)) =
      volume.tilted (fun x => -F (s⁻¹ • (x-p))) := by
  let T := fun x : E => p+s • x
  let H := fun x : E => s⁻¹ • (x-p)
  let J : ℝ := |(s^Module.finrank ℝ E)⁻¹|
  have hJ : J ≠ 0 := abs_ne_zero.mpr (inv_ne_zero (pow_ne_zero _ hs))
  have hm : Measurable T := by dsimp [T]; fun_prop
  have hHT (x : E) : H (T x) = x := by simp [H,T,smul_smul,hs]
  have change_variables (f : E → ℝ) : (∫ x, f (T x)) = J*(∫ x, f x) := by
    have h := Measure.integral_comp_smul (volume : Measure E) (fun x => f (p+x)) s
    simpa only [integral_add_left_eq_self,smul_eq_mul,T,J] using h
  have hZ : (∫ x, Real.exp (-F x)) = J*(∫ x, Real.exp (-F (H x))) := by
    simpa only [hHT] using change_variables (fun x => Real.exp (-F (H x)))
  ext B hB
  rw [Measure.map_apply hm hB,tilted_apply_eq_ofReal_integral' _ (hB.preimage hm),
    tilted_apply_eq_ofReal_integral' _ hB]
  congr 1
  rw [integral_div,integral_div]
  have hI : (∫ x in T ⁻¹' B, Real.exp (-F x)) =
      J*(∫ x in B, Real.exp (-F (H x))) := by
    have h := change_variables (B.indicator (fun x => Real.exp (-F (H x))))
    have he : (fun x => B.indicator (fun y => Real.exp (-F (H y))) (T x)) =
        (T ⁻¹' B).indicator (fun x => Real.exp (-F x)) := by
      funext x
      by_cases hx : T x ∈ B <;> simp [Set.indicator,hx,hHT]
    rw [he,integral_indicator (hB.preimage hm),integral_indicator hB] at h
    exact h
  rw [hI,hZ]
  exact mul_div_mul_left _ _ hJ

end
end AutoSamplingTheory.TechnicalLemmas.Measure.AffineGibbs

Exact module and namespace context

Scope and omitted-condition boundaries
  • Canonical signed affine identity for arbitrary F and nonzero scale, no eta/curvature/probability/integrability premise. The current actual SPHMC consumer separately produces allpositiveeta true posterior normalization and lastTWO4.6 moments. FIRSTW2/bias/MGF/fullLemma/main/work/composition remainOPEN; generic map identity itself is no probability assertion.
Sources, dependencies, and reuse

Source and reuse

Samplinglib parents called

    Mathlib API called (external library)

    • Measure.integral_comp_smul
    • integral_add_left_eq_self
    • integral_indicator
    • Measure.map_apply
    • tilted_apply_eq_ofReal_integral'
    • mul_div_mul_left

    Mathematical sources

    • SPHMC Ex8/p4.2/p4.3 and scoped4.6; affine prerequisite — Canonical signed affine identity for arbitrary F and nonzero scale, no eta/curvature/probability/integrability premise. The current actual SPHMC consumer separately produces allpositiveeta true posterior normalization and lastTWO4.6 moments. FIRSTW2/bias/MGF/fullLemma/main/work/composition remainOPEN; generic map identity itself is no probability assertion.

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