Encyclopedia Information Information Shannon As Jcost Limit C Classical
ARTICLE 4 claims 3 theorems 1 model
Information Shannon As Jcost Limit C Classical
A simple definition, C = log₂ N, that measures how many bits a noiseless channel can carry when it has N distinct symbols.
The classical capacity
The classical Shannon channel capacity, written C = log₂ N, answers a concrete question: if a communication channel can send any one of N distinct symbols, how many bits of information does each symbol carry? The answer is the base-2 logarithm of N. A channel with two symbols carries one bit, four symbols carry two bits, and eight symbols carry three bits. Claude Shannon published this measure in his 1948 article "A Mathematical Theory of Communication," and it became the foundation of information theory.
In the Recognition Science framework, the declaration C_classical makes this definition precise as a mathematical object. It is not a new result; it is a formal restatement of Shannon's classical formula. The framework's library of machine-checked theorems defines C_classical(N) = log₂ N and uses it as a benchmark. The library then proves a structural fact about a related quantity: the framework's own finite-N capacity, C_RS(N), equals the classical capacity minus a correction term. That correction is always non-negative for positive N, and it becomes zero in the limit as N grows without bound.
The correction term has a specific form: log₂(1 + 1/(φ·N)), where φ is the golden ratio. At N = 1, the correction is exactly log₂(1 + 1/φ), and the library proves this value lies strictly between 0 and 1. The library also proves the master certificate, which bundles these facts together: the correction is non-negative, has the stated value at one, lies in the band (0,1), and the decomposition C_RS = C_classical - correction holds for all N.
What C_classical does not claim is that the finite-N correction has been verified against real-world coding schemes. The algebraic structure of the correction is a proved theorem, but the empirical match to actual finite-N channels is a hypothesis with a named falsifier: any clean implementation of a finite-N channel whose capacity violates the RS formula by more than 1%. The classical capacity itself is not in question; it is Shannon's definition, and the framework's contribution is the correction term that vanishes in the large-N limit.
MODEL C_classical · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The classical Shannon channel capacity `C = log₂ N` (in bits). -/
def C_classical (N : ℝ) : ℝ := Real.logb 2 N
THEOREM C_RS · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The RS finite-N channel capacity. -/
def C_RS (N : ℝ) : ℝ := C_classical N - correction_RS N
THEOREM correction_RS_nonneg · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The correction is non-negative for `N > 0`. -/
theorem correction_RS_nonneg (N : ℝ) (h : 0 < N) :
0 ≤ correction_RS N := by
unfold correction_RS
have h_phi_pos := Constants.phi_pos
have h_inv_pos : 0 < 1 / (Constants.phi * N) := by
apply div_pos one_pos
exact mul_pos h_phi_pos h
have h_one_plus : 1 ≤ 1 + 1 / (Constants.phi * N) := by linarith
have h_log : 0 ≤ Real.logb 2 (1 + 1 / (Constants.phi * N)) := by
apply Real.logb_nonneg
· norm_num
· exact h_one_plus
exact h_log
THEOREM correction_RS_one_band · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The correction at `N = 1` is in the band `(0, 1)`. -/
theorem correction_RS_one_band :
0 < correction_RS 1 ∧ correction_RS 1 < 1 := by
rw [correction_RS_at_one]
have h_phi_pos : (0 : ℝ) < Constants.phi := Constants.phi_pos
have h_inv_pos : 0 < 1 / Constants.phi := by
exact div_pos one_pos h_phi_pos
have h_one_lt : (1 : ℝ) < 1 + 1 / Constants.phi := by linarith
refine ⟨?_, ?_⟩
· -- log₂(1 + 1/φ) > 0 since 1 + 1/φ > 1
apply Real.logb_pos
· norm_num
· exact h_one_lt
· -- log₂(1 + 1/φ) < 1 since 1 + 1/φ < 2 (because 1/φ < 1)
have h_phi_gt_one : (1 : ℝ) < Constants.phi := Constants.one_lt_phi
have h_inv_lt_one : 1 / Constants.phi < 1 := by
rw [div_lt_one h_phi_pos]; exact h_phi_gt_one
have h_lt_two : 1 + 1 / Constants.phi < 2 := by linarith
have h_log_lt_log_two : Real.logb 2 (1 + 1 / Constants.phi) < Real.logb 2 2 := by
apply Real.logb_lt_logb (by norm_num : (1 : ℝ) < 2) (by linarith) h_lt_two
have h_log_two : Real.logb 2 (2 : ℝ) = 1 := Real.logb_self_eq_one (by norm_num : (1 : ℝ) < 2)
linarith
What this page does not claim
The finite-N correction is not an empirical result; it is a mathematical structure with a hypothesis for its physical match. The classical capacity C_classical is not a new discovery; it is Shannon's definition restated in the framework. The correction term does not apply to channels with an infinite number of symbols, where it vanishes.
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/Information/ShannonAsJCostLimit.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:
- What does the correction term log₂(1 + 1/(φ·N)) mean for a channel with a small number of symbols?
- How does the RS finite-N capacity compare to other known finite-N corrections in information theory?
- What empirical test would confirm or refute the RS prediction for a real finite-N channel?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL C_classical · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The classical Shannon channel capacity `C = log₂ N` (in bits). -/ def C_classical (N : ℝ) : ℝ := Real.logb 2 NThe classical Shannon channel capacity C = log₂ N is defined as C_classical(N) = log₂ N. C_classical · IndisputableMonolith/Information/ShannonAsJCostLimit.leanTHEOREM C_RS · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The RS finite-N channel capacity. -/ def C_RS (N : ℝ) : ℝ := C_classical N - correction_RS NThe RS finite-N capacity C_RS(N) equals the classical capacity minus a correction term. C_RS · IndisputableMonolith/Information/ShannonAsJCostLimit.leanTHEOREM correction_RS_nonneg · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The correction is non-negative for `N > 0`. -/ theorem correction_RS_nonneg (N : ℝ) (h : 0 < N) : 0 ≤ correction_RS N := by unfold correction_RS have h_phi_pos := Constants.phi_pos have h_inv_pos : 0 < 1 / (Constants.phi * N) := by apply div_pos one_pos exact mul_pos h_phi_pos h have h_one_plus : 1 ≤ 1 + 1 / (Constants.phi * N) := by linarith have h_log : 0 ≤ Real.logb 2 (1 + 1 / (Constants.phi * N)) := by apply Real.logb_nonneg · norm_num · exact h_one_plus exact h_logThe correction term is non-negative for all positive N. correction_RS_nonneg · IndisputableMonolith/Information/ShannonAsJCostLimit.leanTHEOREM correction_RS_one_band · IndisputableMonolith/Information/ShannonAsJCostLimit.lean
/-- The correction at `N = 1` is in the band `(0, 1)`. -/ theorem correction_RS_one_band : 0 < correction_RS 1 ∧ correction_RS 1 < 1 := by rw [correction_RS_at_one] have h_phi_pos : (0 : ℝ) < Constants.phi := Constants.phi_pos have h_inv_pos : 0 < 1 / Constants.phi := by exact div_pos one_pos h_phi_pos have h_one_lt : (1 : ℝ) < 1 + 1 / Constants.phi := by linarith refine ⟨?_, ?_⟩ · -- log₂(1 + 1/φ) > 0 since 1 + 1/φ > 1 apply Real.logb_pos · norm_num · exact h_one_lt · -- log₂(1 + 1/φ) < 1 since 1 + 1/φ < 2 (because 1/φ < 1) have h_phi_gt_one : (1 : ℝ) < Constants.phi := Constants.one_lt_phi have h_inv_lt_one : 1 / Constants.phi < 1 := by rw [div_lt_one h_phi_pos]; exact h_phi_gt_one have h_lt_two : 1 + 1 / Constants.phi < 2 := by linarith have h_log_lt_log_two : Real.logb 2 (1 + 1 / Constants.phi) < Real.logb 2 2 := by apply Real.logb_lt_logb (by norm_num : (1 : ℝ) < 2) (by linarith) h_lt_two have h_log_two : Real.logb 2 (2 : ℝ) = 1 := Real.logb_self_eq_one (by norm_num : (1 : ℝ) < 2) linarithAt N = 1, the correction is exactly log₂(1 + 1/φ), and this value lies strictly between 0 and 1. correction_RS_one_band · IndisputableMonolith/Information/ShannonAsJCostLimit.lean