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

high_temp_value

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

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Thermodynamics.BoltzmannDistribution on GitHub at line 266.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

 263  1 / (1 + Real.exp (-beta * gap))
 264
 265/-- At β = 0, the ground state probability is exactly 0.5. -/
 266theorem high_temp_value (gap : ℝ) :
 267    groundStateProb gap 0 = 0.5 := by
 268  unfold groundStateProb
 269  simp
 270  norm_num
 271
 272/-- **THEOREM**: At high temperature (small β), states are equally populated.
 273    Proof: groundStateProb is continuous and groundStateProb(0) = 0.5.
 274
 275    The rigorous proof uses continuity of the composition of continuous functions. -/
 276theorem high_temp_limit (gap : ℝ) (_hg : gap > 0) :
 277    Filter.Tendsto (groundStateProb gap) (nhds 0) (nhds 0.5) := by
 278  rw [← high_temp_value gap]
 279  unfold groundStateProb
 280  -- Use continuity: the function is a composition of continuous functions
 281  have hcont : Continuous (fun beta : ℝ => 1 / (1 + Real.exp (-beta * gap))) := by
 282    refine Continuous.div continuous_const ?_ (fun x => ?_)
 283    · exact continuous_const.add (Real.continuous_exp.comp (continuous_neg.mul continuous_const))
 284    · have : 1 + Real.exp (-x * gap) > 0 := add_pos_of_pos_of_nonneg one_pos (exp_pos _).le
 285      exact this.ne'
 286  exact hcont.continuousAt.tendsto
 287
 288/-- **THEOREM**: At low temperature (large β), ground state dominates.
 289    Proof: As β → ∞, exp(-β*gap) → 0 (for gap > 0), so prob → 1/(1+0) = 1
 290
 291    Uses Real.tendsto_exp_neg_atTop_nhds_zero. -/
 292theorem low_temp_limit (gap : ℝ) (hg : gap > 0) :
 293    Filter.Tendsto (groundStateProb gap) Filter.atTop (nhds 1) := by
 294  unfold groundStateProb
 295  -- Key: exp(-β*gap) = exp(-(β*gap)) → 0 as β → ∞ (since β*gap → ∞)
 296  have h2 : Filter.Tendsto (fun beta => Real.exp (-beta * gap)) Filter.atTop (nhds 0) := by