InformationTheory.Shannon.AWGN.ConverseCapacityBound
AWGN channel-coding converse — Gaussian capacity bound and assembly #
Builds the capacity-bound layer of the AWGN channel-coding converse (Cover–Thomas):
the per-letter input second moment, the per-letter Gaussian maximum-entropy bound, Jensen's
inequality, the sum-form capacity bound ∑ᵢ I(Xᵢ; Yᵢ) ≤ n · (1/2) log(1 + P/N), and the
final assembly into log M ≤ n · (1/2) log(1 + P/N) + binEntropy(Pe) + Pe · log(M − 1).
Main definitions #
perLetterInputSecondMoment— the per-letter input second moment under a uniform message.
Main statements #
awgn_per_letter_mi_le_log_var— the per-letter Gaussian maximum-entropy bound.awgn_sum_per_letter_mi_le_n_capacity—∑ᵢ I(Xᵢ; Yᵢ) ≤ n · (1/2) log(1 + P/N).awgn_converse_of_perLetterMI_eq_diffEntropy_sub— the assembled converse inequality.
Implementation notes #
- The capacity bound is built from a sum form (per-letter second moment, per-letter
Gaussian maximum-entropy, and Jensen) rather than a per-letter power constraint, because
the per-message power constraint does not yield a per-letter
E[Xᵢ²] ≤ P. h_mi_bridge_per_lettercarries the bridgeI(Xᵢ; Yᵢ) = h(Yᵢ) − h(Z)as an explicit hypothesis;awgn_per_letter_mi_bridge_genuine(AWGN/Converse.lean) supplies it.
Per-letter input second moment, Jensen, and the sum-form capacity bound #
The capacity bound ∑ᵢ I(Xᵢ; Yᵢ) ≤ n · (1/2) log(1 + P/N) is established in sum form via the
per-letter Gaussian maximum-entropy bound and Jensen's inequality, rather than from a
per-letter power constraint (which does not follow from the per-message power constraint).
InformationTheory.Shannon.AWGN.perLetterInputSecondMoment
sourcePer-letter input second moment E[Xᵢ² | W ∼ Uniform(Fin M)] = (1/M) ∑ₘ (c.encoder m i)²,
the second moment of the input letter Xᵢ = c.encoder W i under a uniform message.
Equations
Instances For
Used by
InformationTheory.Shannon.AWGN.awgn_per_letter_input_power_avg
sourceThe average of the per-letter input second moments is bounded by P:
(1/n) ∑ᵢ E[Xᵢ²] ≤ P, from the per-message power constraint by a Fubini swap.
Used by
Helpers for the per-letter maximum-entropy bound #
InformationTheory.Shannon.AWGN.awgn_per_letter_mi_le_log_var
sourcePer-letter mutual-information bound via the per-letter input variance:
I(Xᵢ; Yᵢ) ≤ (1/2) log(1 + perLetterInputSecondMoment c i / N), derived from the Gaussian
maximum-entropy bound differentialEntropy_le_gaussian_of_variance_le. The variance of Yᵢ
is at most E[Xᵢ²] + N since the input and the noise are independent, giving
I(Xᵢ; Yᵢ) = h(Yᵢ) − h(gaussianReal 0 N) -- bridge hypothesis
≤ (1/2) log(2πe·v_Y) − (1/2) log(2πe·N) -- Gaussian maximum entropy
= (1/2) log(v_Y / N) ≤ (1/2) log((S² + N)/N)
= (1/2) log(1 + S²/N)
with v_Y := (perLetterInputSecondMoment c i + N).toNNReal.
Used by
InformationTheory.Shannon.AWGN.sum_log_one_add_le_n_log_one_add_avg
sourceJensen's inequality for the concave map log(1 + ·/N):
∑ᵢ (1/2) log(1 + xᵢ/N) ≤ n · (1/2) log(1 + (∑ᵢ xᵢ / n) / N) for xᵢ ≥ 0.
Real.log is concave on Ioi 0 (Mathlib.Analysis.Convex.SpecificFunctions.Basic. strictConcaveOn_log_Ioi) ⇒ fun x ↦ Real.log (1 + x/N) concave on Ici 0 (composition
with affine increasing map, packaged as concaveOn_log_one_add_div in
DifferentialEntropy.lean). Apply ConcaveOn.le_map_sum with uniform weights
wᵢ := 1/n.
Used by
InformationTheory.Shannon.AWGN.awgn_sum_per_letter_mi_le_n_capacity
sourceThe sum of per-letter mutual informations is bounded by n · (1/2) log(1 + P/N),
combining the per-letter maximum-entropy bound, the average input-power bound, and Jensen's
inequality for the concavity of log(1 + ·/N).
Used by
Converse assembly #
InformationTheory.Shannon.AWGN.awgn_converse_of_perLetterMI_eq_diffEntropy_sub_of_neZero
sourceThe assembled converse chain
log M ≤ I(W; Yⁿ).toReal + binEntropy(Pe) + Pe·log(M − 1) (Fano)
≤ I(Xⁿ; Yⁿ).toReal + binEntropy(Pe) + Pe·log(M − 1) (data-processing)
≤ ∑ I(Xᵢ; Yᵢ).toReal + binEntropy(Pe) + Pe·log(M − 1) (chain rule)
≤ n · (1/2) log(1 + P/N) + binEntropy(Pe) + Pe·log(M − 1) (capacity bound)
The bridge h_mi_bridge_per_letter (per-letter I(Xᵢ; Yᵢ) = h(Yᵢ) − h(Z)) is taken as a
hypothesis; awgn_per_letter_mi_bridge_genuine (AWGN/Converse.lean) supplies it.
Used by
InformationTheory.Shannon.AWGN.awgn_converse_of_perLetterMI_eq_diffEntropy_sub
sourceThin wrapper over awgn_converse_of_perLetterMI_eq_diffEntropy_sub_of_neZero: derives
the NeZero M instance from 2 ≤ M and delegates. The per-letter identity
h_mi_bridge_per_letter is taken as a hypothesis.