Encyclopedia Foundation Foundation Thermodynamics Temperature Determines Equilibrium
ARTICLE 4 claims 3 theorems 1 model
Foundation Thermodynamics Temperature Determines Equilibrium
In Recognition Science, a single temperature value picks out exactly one equilibrium state, and that fact is a proved theorem.
Temperature fixes the equilibrium
Temperature, in the Recognition Science framework, is not a property of a ledger, a discrete record of events that the framework uses to track a system. It is a property of an observer's coarse-grained description. When an observer with limited resolution sees only part of the ledger, the unseen entries act as a heat bath, and the observer's effective description of those entries is the canonical ensemble. The Lagrange multiplier that enforces the constraint on the unseen entries is what the framework calls temperature.
The framework defines a system's energy as the sum of the logarithms of its ledger entries, and its entropy as the sum of a cost function J applied to each entry. At equilibrium, all entries are equal, and the framework proves that the equilibrium entropy, as a function of the energy, has a derivative equal to the temperature. The temperature itself is given by the hyperbolic sine of the energy per entry, T = sinh(σ/N), where σ is the total log-charge and N is the number of entries. This temperature is zero when all entries equal one, positive when the energy is positive, and negative when the energy is negative.
The declaration temperature_determines_equilibrium proves a specific and narrow fact: for a fixed system size N, if two equilibrium states have the same temperature, then they have the same energy. Because the hyperbolic sine is a one-to-one function, equal temperatures force equal arguments, and hence equal energies. This means that, within the framework, a single temperature reading uniquely identifies the equilibrium state's energy, and therefore its entropy. The theorem is a formal statement in the machine-checked library of formal theorems, and it is proved from the definitions alone.
In Recognition Science, this result is the bridge between the microscopic ledger picture and the macroscopic concept of temperature. It makes temperature a well-defined state variable: two systems with the same temperature are in the same equilibrium state, which is the foundation for the zeroth law of thermodynamics. The framework also proves that the first law holds, that specific heat is positive, and that absolute zero is unreachable along variational trajectories, but these are separate theorems. The declaration itself does not claim that entropy always increases, and it does not establish a second law.
THEOREM temperature_determines_equilibrium · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- **THEOREM (Temperature Determines Equilibrium)**:
At equilibrium, each entry equals exp(σ/N), and the temperature
sinh(σ/N) uniquely determines σ/N (since sinh is injective).
Therefore temperature uniquely determines the equilibrium state. -/
theorem temperature_determines_equilibrium (N : ℕ) (σ₁ σ₂ : ℝ)
(hN : 0 < N)
(h : rs_temperature N σ₁ = rs_temperature N σ₂) :
σ₁ = σ₂ := by
unfold rs_temperature at h
have hN_pos : (0 : ℝ) < N := Nat.cast_pos.mpr hN
have hdiv : σ₁ / N = σ₂ / N := Real.sinh_injective h
have hmul := congrArg (fun x : ℝ => x * N) hdiv
field_simp [hN_pos.ne'] at hmul
exact hmul
MODEL rs_temperature · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- **RS Temperature**: The derivative of equilibrium entropy with respect
to energy (the conserved charge σ).
T(σ, N) = dS_eq/dσ = sinh(σ/N)
This is the RS analogue of T = ∂S/∂E in classical thermodynamics.
Derivation:
S_eq(σ) = N · (cosh(σ/N) - 1)
dS_eq/dσ = N · sinh(σ/N) · (1/N) = sinh(σ/N) -/
noncomputable def rs_temperature (N : ℕ) (σ : ℝ) : ℝ :=
Real.sinh (σ / N)
THEOREM first_law · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- The first law as a pointwise equality. -/
theorem first_law (N : ℕ) (hN : 0 < N) (σ : ℝ) :
deriv (equilibrium_entropy N) σ = rs_temperature N σ := by
have := first_law_derivative N hN
exact congrFun this σ
THEOREM temperature_zero_at_unity · temperature_positive · temperature_negative · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- **THEOREM (Temperature Is Zero at Unity)**:
When the energy (log-charge) is zero, the temperature is zero.
The zero-defect initial state has T = 0 — absolute zero.
This gives the third law of thermodynamics: the minimum-entropy
state has zero temperature. -/
theorem temperature_zero_at_unity {N : ℕ} (_hN : 0 < N) :
rs_temperature N 0 = 0 := by
unfold rs_temperature
simp [Real.sinh_zero]
/-- **THEOREM (Temperature Is Positive for Positive Energy)**:
When σ > 0, the temperature is strictly positive.
Energy above the ground state implies positive temperature. -/
theorem temperature_positive {N : ℕ} (hN : 0 < N) (σ : ℝ) (hσ : 0 < σ) :
0 < rs_temperature N σ := by
unfold rs_temperature
have hN_pos : (0 : ℝ) < N := Nat.cast_pos.mpr hN
exact (Real.sinh_pos_iff).2 (div_pos hσ hN_pos)
/-- **THEOREM (Temperature Is Negative for Negative Energy)**:
When σ < 0, the temperature is negative.
Negative temperature corresponds to "population inversion" —
a configuration with more entries below unity than above. -/
theorem temperature_negative {N : ℕ} (hN : 0 < N) (σ : ℝ) (hσ : σ < 0) :
rs_temperature N σ < 0 := by
unfold rs_temperature
have hN_pos : (0 : ℝ) < N := Nat.cast_pos.mpr hN
exact (Real.sinh_neg_iff).2 (div_neg_of_neg_of_pos hσ hN_pos)
What this page does not claim
The declaration does not prove that entropy increases over time; the only directional theorem shows total defect is non-increasing, which is the opposite sign. The declaration does not establish the second law of thermodynamics. The declaration does not claim that temperature is a property of the ledger itself, only of the observer's coarse-grained description.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Foundation/Thermodynamics.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- How does the observer's finite resolution lead to the canonical ensemble in the full derivation?
- What is the physical interpretation of a negative temperature in this framework?
- How does the framework's first law relate to the conventional thermodynamic identity dS = dE/T?
- What would a second law statement look like in this ledger framework, and why is it not proved?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM temperature_determines_equilibrium · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- **THEOREM (Temperature Determines Equilibrium)**: At equilibrium, each entry equals exp(σ/N), and the temperature sinh(σ/N) uniquely determines σ/N (since sinh is injective). Therefore temperature uniquely determines the equilibrium state. -/ theorem temperature_determines_equilibrium (N : ℕ) (σ₁ σ₂ : ℝ) (hN : 0 < N) (h : rs_temperature N σ₁ = rs_temperature N σ₂) : σ₁ = σ₂ := by unfold rs_temperature at h have hN_pos : (0 : ℝ) < N := Nat.cast_pos.mpr hN have hdiv : σ₁ / N = σ₂ / N := Real.sinh_injective h have hmul := congrArg (fun x : ℝ => x * N) hdiv field_simp [hN_pos.ne'] at hmul exact hmulThe declaration temperature_determines_equilibrium proves a specific and narrow fact: for a fixed system size N, if two equilibrium states have the same temperature, then they have the same energy. temperature_determines_equilibrium · IndisputableMonolith/Foundation/Thermodynamics.leanMODEL rs_temperature · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- **RS Temperature**: The derivative of equilibrium entropy with respect to energy (the conserved charge σ). T(σ, N) = dS_eq/dσ = sinh(σ/N) This is the RS analogue of T = ∂S/∂E in classical thermodynamics. Derivation: S_eq(σ) = N · (cosh(σ/N) - 1) dS_eq/dσ = N · sinh(σ/N) · (1/N) = sinh(σ/N) -/ noncomputable def rs_temperature (N : ℕ) (σ : ℝ) : ℝ := Real.sinh (σ / N)The temperature itself is given by the hyperbolic sine of the energy per entry, T = sinh(σ/N), where σ is the total log-charge and N is the number of entries. rs_temperature · IndisputableMonolith/Foundation/Thermodynamics.leanTHEOREM first_law · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- The first law as a pointwise equality. -/ theorem first_law (N : ℕ) (hN : 0 < N) (σ : ℝ) : deriv (equilibrium_entropy N) σ = rs_temperature N σ := by have := first_law_derivative N hN exact congrFun this σThe framework proves that the equilibrium entropy, as a function of the energy, has a derivative equal to the temperature. first_law · IndisputableMonolith/Foundation/Thermodynamics.leanTHEOREM temperature_zero_at_unity · temperature_positive · temperature_negative · IndisputableMonolith/Foundation/Thermodynamics.lean
/-- **THEOREM (Temperature Is Zero at Unity)**: When the energy (log-charge) is zero, the temperature is zero. The zero-defect initial state has T = 0 — absolute zero. This gives the third law of thermodynamics: the minimum-entropy state has zero temperature. -/ theorem temperature_zero_at_unity {N : ℕ} (_hN : 0 < N) : rs_temperature N 0 = 0 := by unfold rs_temperature simp [Real.sinh_zero]/-- **THEOREM (Temperature Is Positive for Positive Energy)**: When σ > 0, the temperature is strictly positive. Energy above the ground state implies positive temperature. -/ theorem temperature_positive {N : ℕ} (hN : 0 < N) (σ : ℝ) (hσ : 0 < σ) : 0 < rs_temperature N σ := by unfold rs_temperature have hN_pos : (0 : ℝ) < N := Nat.cast_pos.mpr hN exact (Real.sinh_pos_iff).2 (div_pos hσ hN_pos)/-- **THEOREM (Temperature Is Negative for Negative Energy)**: When σ < 0, the temperature is negative. Negative temperature corresponds to "population inversion" — a configuration with more entries below unity than above. -/ theorem temperature_negative {N : ℕ} (hN : 0 < N) (σ : ℝ) (hσ : σ < 0) : rs_temperature N σ < 0 := by unfold rs_temperature have hN_pos : (0 : ℝ) < N := Nat.cast_pos.mpr hN exact (Real.sinh_neg_iff).2 (div_neg_of_neg_of_pos hσ hN_pos)This temperature is zero when all entries equal one, positive when the energy is positive, and negative when the energy is negative. temperature_zero_at_unity · temperature_positive · temperature_negative · IndisputableMonolith/Foundation/Thermodynamics.lean