Encyclopedia Information Information Channel Capacity Gaussian Capacity Increases With Snr
ARTICLE 4 claims 2 theorems 2 models
Information Channel Capacity Gaussian Capacity Increases With Snr
A machine-checked proof shows that a Gaussian channel's capacity strictly increases when the signal grows, a fact that matches the classical Shannon formula.
Capacity and signal strength
In information theory, the capacity of a communication channel is the maximum rate, in bits per symbol, at which information can be sent with arbitrarily small error. For a channel whose noise is Gaussian, the capacity is given by the Shannon formula C = (1/2) log₂(1 + S/N), where S is the signal power and N is the noise power. The ratio S/N is the signal-to-noise ratio, often written SNR. The formula says that more signal, relative to noise, buys more capacity.
The Recognition Science declaration gaussian_capacity_increases_with_snr is a formal theorem in the framework's machine-checked library of formal theorems. It states that for any two positive signal levels S₁ and S₂ with S₂ > S₁, and any positive noise level N, the Gaussian capacity at S₂ is strictly greater than the capacity at S₁. In plain terms: if you turn up the signal while holding the noise fixed, the channel can carry more information per symbol. The proof is a monotonicity argument on the logarithm, and the theorem is tagged THEOREM because it is proved in Lean with no axioms beyond the standard three.
The declaration does not claim that capacity grows without bound, nor that it grows linearly. The formula shows it grows logarithmically: doubling the SNR adds a constant amount of capacity, not a doubling. It also does not claim that any particular coding scheme achieves this capacity; the Shannon theorem, also present in the library, says that rates below capacity are achievable in principle, but the increasing-with-SNR result only compares capacities at two signal levels. The theorem is about the mathematical function, not about any physical implementation.
In Recognition Science, this result is one piece of a larger program that derives information-theoretic quantities from the ledger, a discrete record of recognition events. The framework defines a fundamental bit rate as the inverse of a timescale tau0, and it models channel capacity as emerging from this ledger bandwidth. The increasing-with-SNR theorem is a consistency check: the framework's capacity function behaves the way the classical Shannon capacity does, which supports the identification but does not by itself prove that the ledger model is correct.
What the declaration gives a reader is a precise, machine-checked statement about a familiar fact: more signal means more capacity. It is a small but solid brick in the framework's claim to reproduce standard results. The falsifier structure in the library, ChannelCapacityFalsifier, names the ways the framework could be wrong: if capacity could exceed the bound, if there were no bandwidth limit, or if the fundamental timescale tau0 were irrelevant. None of these are claimed to be false by the increasing-with-SNR theorem alone; they are targets for the broader program.
THEOREM gaussian_capacity_increases_with_snr · IndisputableMonolith/Information/ChannelCapacity.lean
/-- **THEOREM**: Gaussian channel capacity increases with SNR. -/
theorem gaussian_capacity_increases_with_snr (S₁ S₂ N : ℝ)
(hS₁ : S₁ > 0) (hS₂ : S₂ > 0) (hN : N > 0) (h : S₂ > S₁) :
gaussianCapacity S₂ N hS₂ hN > gaussianCapacity S₁ N hS₁ hN := by
unfold gaussianCapacity
-- log(1 + S₂/N) > log(1 + S₁/N) since S₂ > S₁
have hdiv : S₂ / N > S₁ / N := div_lt_div_of_pos_right h hN
have hsum : 1 + S₂ / N > 1 + S₁ / N := by linarith
have hpos1 : 1 + S₁ / N > 0 := by positivity
have hlog : Real.log (1 + S₂ / N) > Real.log (1 + S₁ / N) :=
Real.log_lt_log hpos1 hsum
have hlog2_pos : Real.log 2 > 0 := Real.log_pos (by norm_num)
have hdenom_pos : 2 * Real.log 2 > 0 := by positivity
exact div_lt_div_of_pos_right hlog hdenom_pos
THEOREM gaussian_capacity_increases_with_snr · IndisputableMonolith/Information/ChannelCapacity.lean
/-- **THEOREM**: Gaussian channel capacity increases with SNR. -/
theorem gaussian_capacity_increases_with_snr (S₁ S₂ N : ℝ)
(hS₁ : S₁ > 0) (hS₂ : S₂ > 0) (hN : N > 0) (h : S₂ > S₁) :
gaussianCapacity S₂ N hS₂ hN > gaussianCapacity S₁ N hS₁ hN := by
unfold gaussianCapacity
-- log(1 + S₂/N) > log(1 + S₁/N) since S₂ > S₁
have hdiv : S₂ / N > S₁ / N := div_lt_div_of_pos_right h hN
have hsum : 1 + S₂ / N > 1 + S₁ / N := by linarith
have hpos1 : 1 + S₁ / N > 0 := by positivity
have hlog : Real.log (1 + S₂ / N) > Real.log (1 + S₁ / N) :=
Real.log_lt_log hpos1 hsum
have hlog2_pos : Real.log 2 > 0 := Real.log_pos (by norm_num)
have hdenom_pos : 2 * Real.log 2 > 0 := by positivity
exact div_lt_div_of_pos_right hlog hdenom_pos
MODEL fundamentalBitRate · IndisputableMonolith/Information/ChannelCapacity.lean
/-- The fundamental bit rate of the universe:
R_max = 1/τ₀ bits per second per ledger entry
This is an enormous rate: ~10²⁷ bits/s per entry! -/
noncomputable def fundamentalBitRate : ℝ := 1 / tau0
MODEL ChannelCapacityFalsifier · IndisputableMonolith/Information/ChannelCapacity.lean
/-- The derivation would be falsified if:
1. Information can be transmitted faster than C
2. The ledger has no bandwidth limit
3. τ₀ doesn't determine fundamental rate -/
structure ChannelCapacityFalsifier where
exceeds_capacity : Prop
no_bandwidth_limit : Prop
tau0_irrelevant : Prop
falsified : exceeds_capacity ∨ no_bandwidth_limit ∨ tau0_irrelevant → False
What this page does not claim
The theorem does not claim that capacity grows without bound or linearly with SNR. The theorem does not claim that any particular coding scheme achieves the capacity. The theorem does not prove that the ledger model of channel capacity is physically correct, only that its capacity function matches the classical monotonicity.
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/ChannelCapacity.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 framework derive the fundamental timescale tau0 from the forcing chain?
- What is the precise relationship between the ledger bandwidth and the Shannon capacity formula?
- Does the framework's capacity function reproduce the full Shannon theorem, including achievability, or only the monotonicity result?
- How does the framework handle channels with non-Gaussian noise, where the capacity formula differs?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
THEOREM gaussian_capacity_increases_with_snr · IndisputableMonolith/Information/ChannelCapacity.lean
/-- **THEOREM**: Gaussian channel capacity increases with SNR. -/ theorem gaussian_capacity_increases_with_snr (S₁ S₂ N : ℝ) (hS₁ : S₁ > 0) (hS₂ : S₂ > 0) (hN : N > 0) (h : S₂ > S₁) : gaussianCapacity S₂ N hS₂ hN > gaussianCapacity S₁ N hS₁ hN := by unfold gaussianCapacity -- log(1 + S₂/N) > log(1 + S₁/N) since S₂ > S₁ have hdiv : S₂ / N > S₁ / N := div_lt_div_of_pos_right h hN have hsum : 1 + S₂ / N > 1 + S₁ / N := by linarith have hpos1 : 1 + S₁ / N > 0 := by positivity have hlog : Real.log (1 + S₂ / N) > Real.log (1 + S₁ / N) := Real.log_lt_log hpos1 hsum have hlog2_pos : Real.log 2 > 0 := Real.log_pos (by norm_num) have hdenom_pos : 2 * Real.log 2 > 0 := by positivity exact div_lt_div_of_pos_right hlog hdenom_posThe theorem states that for any two positive signal levels S₁ and S₂ with S₂ > S₁, and any positive noise level N, the Gaussian capacity at S₂ is strictly greater than the capacity at S₁. gaussian_capacity_increases_with_snr · IndisputableMonolith/Information/ChannelCapacity.leanTHEOREM gaussian_capacity_increases_with_snr · IndisputableMonolith/Information/ChannelCapacity.lean
/-- **THEOREM**: Gaussian channel capacity increases with SNR. -/ theorem gaussian_capacity_increases_with_snr (S₁ S₂ N : ℝ) (hS₁ : S₁ > 0) (hS₂ : S₂ > 0) (hN : N > 0) (h : S₂ > S₁) : gaussianCapacity S₂ N hS₂ hN > gaussianCapacity S₁ N hS₁ hN := by unfold gaussianCapacity -- log(1 + S₂/N) > log(1 + S₁/N) since S₂ > S₁ have hdiv : S₂ / N > S₁ / N := div_lt_div_of_pos_right h hN have hsum : 1 + S₂ / N > 1 + S₁ / N := by linarith have hpos1 : 1 + S₁ / N > 0 := by positivity have hlog : Real.log (1 + S₂ / N) > Real.log (1 + S₁ / N) := Real.log_lt_log hpos1 hsum have hlog2_pos : Real.log 2 > 0 := Real.log_pos (by norm_num) have hdenom_pos : 2 * Real.log 2 > 0 := by positivity exact div_lt_div_of_pos_right hlog hdenom_posThe proof is a monotonicity argument on the logarithm, and the theorem is tagged THEOREM because it is proved in Lean with no axioms beyond the standard three. gaussian_capacity_increases_with_snr · IndisputableMonolith/Information/ChannelCapacity.leanMODEL fundamentalBitRate · IndisputableMonolith/Information/ChannelCapacity.lean
/-- The fundamental bit rate of the universe: R_max = 1/τ₀ bits per second per ledger entry This is an enormous rate: ~10²⁷ bits/s per entry! -/ noncomputable def fundamentalBitRate : ℝ := 1 / tau0The framework defines a fundamental bit rate as the inverse of a timescale tau0, and it models channel capacity as emerging from this ledger bandwidth. fundamentalBitRate · IndisputableMonolith/Information/ChannelCapacity.leanMODEL ChannelCapacityFalsifier · IndisputableMonolith/Information/ChannelCapacity.lean
/-- The derivation would be falsified if: 1. Information can be transmitted faster than C 2. The ledger has no bandwidth limit 3. τ₀ doesn't determine fundamental rate -/ structure ChannelCapacityFalsifier where exceeds_capacity : Prop no_bandwidth_limit : Prop tau0_irrelevant : Prop falsified : exceeds_capacity ∨ no_bandwidth_limit ∨ tau0_irrelevant → FalseThe falsifier structure in the library, ChannelCapacityFalsifier, names the ways the framework could be wrong: if capacity could exceed the bound, if there were no bandwidth limit, or if the fundamental timescale tau0 were irrelevant. ChannelCapacityFalsifier · IndisputableMonolith/Information/ChannelCapacity.lean