def
definition
evolve
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Thermodynamics.SecondLaw on GitHub at line 145.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
voxelStep -
LedgerComputation -
main_resolution -
Turing_incomplete -
VorticityVoxel -
eight_tick_dissipation_limit -
RecognitionOperator -
J_stasis_nonneg -
zenoAntiZenoCrossover -
information_conserved -
entropy_increase_under_conservation -
evolve_equilibrium_eq -
evolve_succ -
evolve_zero -
free_energy_antitone -
free_energy_ge_equilibrium -
free_energy_le_of_le -
free_energy_step_le -
kl_divergence_antitone -
kl_le_of_le -
kl_step_le -
second_law -
SecondLawCert -
second_law_entropy_form -
second_law_one_statement
formal source
142namespace JDescentOperator
143
144/-- Discrete iteration of a J-descent operator. -/
145def evolve {peq : ProbabilityDistribution Ω}
146 (R : JDescentOperator peq) :
147 ℕ → ProbabilityDistribution Ω → ProbabilityDistribution Ω
148 | 0, q => q
149 | n + 1, q => R.step (R.evolve n q)
150
151omit [Nonempty Ω] in
152@[simp] lemma evolve_zero {peq : ProbabilityDistribution Ω}
153 (R : JDescentOperator peq) (q : ProbabilityDistribution Ω) :
154 R.evolve 0 q = q := rfl
155
156omit [Nonempty Ω] in
157@[simp] lemma evolve_succ {peq : ProbabilityDistribution Ω}
158 (R : JDescentOperator peq) (n : ℕ) (q : ProbabilityDistribution Ω) :
159 R.evolve (n + 1) q = R.step (R.evolve n q) := rfl
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