InformationTheory.Shannon.ChannelCoding.ShannonTheorem
Shannon noisy channel coding theorem — full form (Cover-Thomas) #
Integrates input distribution maximization, expurgation (average → max error), and the main achievability argument.
Main definitions #
pmfToMeasure— lifts a pmf vectorp : α → ℝto aMeasure α.capacity— channel capacitysup { I(p; W).toReal | p ∈ stdSimplex }.Code.subcode— restricts a code to a sub-message set.pSmooth— smoothed input(1-δ) • p₀ + δ • uniform.Code_lift_from_subtype— lifts a code on the support subtype to the full alphabet.
Main statements #
capacity_nonneg—capacity W ≥ 0.exists_capacity_achiever— capacity is attained by somep ∈ stdSimplex.capacity_lt_implies_exists_pmf—R < capacity Wimplies somepwithR < I(p; W).continuous_mutualInfoOfChannel_left—p ↦ I(pmfToMeasure p; W).toRealis continuous onstdSimplex.channel_coding_achievability_max_error— average error → max error via expurgation.mutualInfoOfChannel_restrict_to_support— MI is invariant under restriction to support.shannon_noisy_channel_coding_theorem— for anyR < capacity Wandε > 0, there existsNsuch that for alln ≥ N, a code of size≥ exp(n R)with max error< ε.
References #
- T. M. Cover and J. A. Thomas, Elements of Information Theory (2nd ed.), Wiley, 2006.
Input distribution maximization #
InformationTheory.Shannon.ChannelCoding.pmfToMeasure
sourceLift a pmf vector to a measure:
pmfToMeasure p = ∑ a, ENNReal.ofReal (p a) • Measure.dirac a.
Equations
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.pmfToMeasure_apply_singleton
sourceAtom evaluation: (pmfToMeasure p) {a} = ENNReal.ofReal (p a).
Used by
InformationTheory.Shannon.ChannelCoding.pmfToMeasure_isProbabilityMeasure
sourcepmfToMeasure p is a probability measure when p ∈ stdSimplex ℝ α.
Used by
InformationTheory.Shannon.ChannelCoding.pmfToMeasure_real_singleton
source(pmfToMeasure p).real {a} = p a when p ∈ stdSimplex.
Used by
InformationTheory.Shannon.ChannelCoding.capacity
sourceChannel capacity capacity W := sup { I(p; W).toReal | p ∈ stdSimplex }.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.capacity_image_nonempty
sourceThe capacity image set is nonempty (witnessed by a Pi.single Dirac input).
Used by
InformationTheory.Shannon.ChannelCoding.capacity_bddAbove
sourcecapacity value set is bounded above by H(X) + H(Y)-style entropy bound.
Used by
InformationTheory.Shannon.ChannelCoding.capacity_nonneg
sourcecapacity W ≥ 0.
Used by
Continuity of I(p; W).toReal in p #
InformationTheory.Shannon.ChannelCoding.outputDistribution_real_singleton_of_stdSimplex
sourceFor p ∈ stdSimplex, the output marginal (p ⊗ₘ W).snd real-value on {b} is
∑ a, p a · (W a).real {b}.
Used by
InformationTheory.Shannon.ChannelCoding.mutualInfoOfChannel_toReal_eq_of_stdSimplex
sourceFor p ∈ stdSimplex, I(pmfToMeasure p; W).toReal equals the 3-entropy expression
in p.
Used by
InformationTheory.Shannon.ChannelCoding.continuous_mutualInfoOfChannel_left
sourcep ↦ (mutualInfoOfChannel (pmfToMeasure p) W).toReal is continuous on stdSimplex ℝ α.
Used by
InformationTheory.Shannon.ChannelCoding.exists_capacity_achiever
sourceCapacity is attained: there exists p ∈ stdSimplex maximizing I(pmfToMeasure p; W).
Used by
InformationTheory.Shannon.ChannelCoding.capacity_lt_implies_exists_pmf
sourceR < capacity W implies there exists p ∈ stdSimplex with
R < I(pmfToMeasure p; W).toReal.
Used by
Expurgation (average → max error) #
InformationTheory.Shannon.ChannelCoding.errorProbAt_filter_card_bound
sourceMarkov inequality: the number of m with errorProbAt > K · avg is at most M / K.
Used by
InformationTheory.Shannon.ChannelCoding.Code.subcode
sourceSub-code restricted to a message subset S: encoder restricts to S, decoder maps
outside S to a fixed fallback message.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.Code.subcode_errorProbAt_le
sourceSub-code error probability is bounded above by the original code's errorProbAt.
Used by
InformationTheory.Shannon.ChannelCoding.tendsto_nat_mul_atTop
sourceHelper: linearization (fun n : ℕ => (n : ℝ) * c) → ∞ for c > 0.
Used by
InformationTheory.Shannon.ChannelCoding.exists_N_two_ceil_exp_le
sourceHelper: for 0 < R < R', eventually 2 * ⌈exp(n R)⌉ ≤ ⌈exp(n R')⌉.
Used by
InformationTheory.Shannon.ChannelCoding.exists_subcode_maxError_lt_two_mul
sourceUsed by
InformationTheory.Shannon.ChannelCoding.channel_coding_achievability_max_error
sourceExpurgation: average error achievability implies max error achievability.
Used by
Full-support assumption removal #
MI is invariant under restriction to the support {a | 0 < p.real {a}} via klDiv
invariance under MeasurableEmbedding-pushforward.
InformationTheory.Shannon.ChannelCoding.mutualInfoOfChannel_restrict_to_support
sourceUsed by
InformationTheory.Shannon.ChannelCoding.Code_lift_from_subtype
sourceLift a code from the support subtype to the full alphabet by composing the encoder
with Subtype.val.
Equations
Instances For
Used by
Main theorem #
InformationTheory.Shannon.ChannelCoding.uniformInput
sourceUniform input distribution unif a := 1/|α|, used as a smoothing target.
Equations
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.uniformInput_mem_stdSimplex
sourceuniformInput α ∈ stdSimplex ℝ α.
Used by
InformationTheory.Shannon.ChannelCoding.uniformInput_pos
sourceuniformInput α a > 0 for any a.
Used by
InformationTheory.Shannon.ChannelCoding.pSmooth
sourceSmoothed input pSmooth p₀ δ := (1-δ) • p₀ + δ • uniformInput.
Equations
- InformationTheory.Shannon.ChannelCoding.pSmooth p₀ δ a = (1 - δ) * p₀ a + δ * InformationTheory.Shannon.ChannelCoding.uniformInput α a
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.pSmooth_zero
sourcepSmooth p₀ 0 = p₀.
Used by
InformationTheory.Shannon.ChannelCoding.pSmooth_mem_stdSimplex
sourceFor δ ∈ [0,1] and p₀ ∈ stdSimplex, pSmooth p₀ δ ∈ stdSimplex.
Used by
InformationTheory.Shannon.ChannelCoding.pSmooth_pos
sourceFor δ ∈ (0,1] and p₀ ∈ stdSimplex, each entry (pSmooth p₀ δ) a > 0.
Used by
InformationTheory.Shannon.ChannelCoding.continuous_pSmooth
sourceδ ↦ pSmooth p₀ δ is continuous (as a curve into α → ℝ with product topology).
Used by
InformationTheory.Shannon.ChannelCoding.shannon_noisy_channel_coding_theorem
sourceShannon's noisy channel coding theorem: for any R < capacity W
and ε > 0, there exists N such that for all n ≥ N there is a code of size ≥ exp(n R)
achieving max error probability < ε.