InformationTheory.Shannon.Converse
Single-shot Shannon channel coding converse #
The converse to the channel coding theorem (single-shot version): for a uniformly
distributed message Msg and channel output Yo,
log |M| ≤ I(Msg; Yo) + h(Pe) + Pe · log(|M| - 1).
Main statements #
shannon_converse_single_shot— converse bound for a uniform message.shannon_converse_single_shot_markov_encoder— converse with a Markov encoder.
Implementation notes #
The proof chains entropy μ Msg = log |M| (uniform), the Bridge identity
mutualInfo_eq_entropy_sub_condEntropy, the DPI mutualInfo_le_of_postprocess
(applied to decoder : Y → M), and the Fano inequality. The encoder-free formulation
is adopted because I(Msg; Yo) ≤ I(encoder ∘ Msg; Yo) does not hold without a Markov
assumption; the Markov-encoder corollary is proved separately.
InformationTheory.Shannon.shannon_converse_single_shot
sourceThe single-shot converse to the channel coding theorem: for a uniformly distributed
message Msg transmitted via channel output Yo and decoded by decoder,
log |M| ≤ I(Msg; Yo) + h(Pe) + Pe · log(|M| - 1),
where Pe = errorProb μ Msg Yo decoder = μ {Msg ≠ decoder ∘ Yo}.
Requires mutualInfo μ Msg Yo ≠ ∞ so that .toReal is monotone across DPI.
Used by
Corollary: injective encoder #
For an injective encoder : M → X, one additional application of the DPI with
decoder' := Function.invFun encoder gives I(Msg; Yo) ≤ I(encoder ∘ Msg; Yo),
which combines with shannon_converse_single_shot to give the encoder-included bound.
Corollary: Markov encoder #
InformationTheory.Shannon.shannon_converse_single_shot_markov_encoder
sourceSingle-shot Shannon converse with a Markov encoder:
under the Markov chain Msg → encoder ∘ Msg → Yo,
log |M| ≤ I(encoder ∘ Msg; Yo) + h(Pe) + Pe · log(|M| - 1).