pith. machine review for the scientific record. sign in
theorem

evolve_equilibrium_eq

proved
show as:
view math explainer →
module
IndisputableMonolith.Thermodynamics.SecondLaw
domain
Thermodynamics
line
163 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Thermodynamics.SecondLaw on GitHub at line 163.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

formal source

 160
 161omit [Nonempty Ω] in
 162/-- Equilibrium is a fixed point of the iterated evolution. -/
 163theorem evolve_equilibrium_eq {peq : ProbabilityDistribution Ω}
 164    (R : JDescentOperator peq) (n : ℕ) :
 165    R.evolve n peq = peq := by
 166  induction n with
 167  | zero => rfl
 168  | succ n ih =>
 169      simp [evolve_succ, ih, R.fixes_equilibrium]
 170
 171end JDescentOperator
 172
 173/-! ## §3. KL is monotone non-increasing along the evolution -/
 174
 175omit [Nonempty Ω] in
 176/-- Single-step KL contraction: `D_KL(qₙ₊₁ ‖ peq) ≤ D_KL(qₙ ‖ peq)`. -/
 177theorem kl_step_le {peq : ProbabilityDistribution Ω}
 178    (R : JDescentOperator peq) (q₀ : ProbabilityDistribution Ω) (n : ℕ) :
 179    kl_divergence (R.evolve (n + 1) q₀).p peq.p ≤
 180      kl_divergence (R.evolve n q₀).p peq.p := by
 181  rw [JDescentOperator.evolve_succ]
 182  exact R.kl_non_increasing _
 183
 184omit [Nonempty Ω] in
 185/-- Pointwise KL contraction across a `n ≤ m` interval. -/
 186theorem kl_le_of_le {peq : ProbabilityDistribution Ω}
 187    (R : JDescentOperator peq) (q₀ : ProbabilityDistribution Ω)
 188    {n m : ℕ} (hnm : n ≤ m) :
 189    kl_divergence (R.evolve m q₀).p peq.p ≤
 190      kl_divergence (R.evolve n q₀).p peq.p := by
 191  induction hnm with
 192  | refl => exact le_refl _
 193  | step _ ih => exact le_trans (kl_step_le R q₀ _) ih