InformationTheory.Shannon.ChannelCoding.Achievability.Core
Channel coding achievability — core definitions #
Part of the longFile split of Achievability.lean. This part holds the i.i.d.
input × channel plumbing, the codebook + joint-typical decoder, the per-codeword
error decomposition, and the random codebook measure. The Fubini swap helpers and
the random-codebook average bound live in ...Achievability.RandomCodebook; the
pigeonhole and main theorem live in ...Achievability.Main.
i.i.d. input × channel plumbing #
InformationTheory.Shannon.ChannelCoding.iidJointMeasure
sourceThe i.i.d. extension of (p, W) to length-n blocks: a measure on
Fin n → α × β whose i-th coordinate has law jointDistribution p W.
Equations
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.iidJointMeasure.instIsProbabilityMeasure
sourceUsed by
Codebook + joint-typical decoder #
InformationTheory.Shannon.ChannelCoding.Codebook
sourceA random codebook is just a function from message indices to length-n words.
Equations
- InformationTheory.Shannon.ChannelCoding.Codebook M n α = (Fin M → Fin n → α)
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.jointTypicalDecoder
sourceJoint-typical decoder. Given a received word y, returns the unique
message m such that (codebook m, y) ∈ jointlyTypicalSet μ Xs Ys n ε, falling
back to ⟨0, hM⟩ if either no such m exists or it is not unique.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.ChannelCoding.codebookToCode
sourceBundle a codebook + joint-typical decoder into a Code.
Equations
- InformationTheory.Shannon.ChannelCoding.codebookToCode μ Xs Ys hM ε codebook = { encoder := codebook, decoder := InformationTheory.Shannon.ChannelCoding.jointTypicalDecoder μ Xs Ys hM ε codebook }
Instances For
Used by
Per-codeword error decomposition #
InformationTheory.Shannon.ChannelCoding.errorProbAt_le_E1_plus_E2
sourcePer-codeword error bound. The point-wise error probability of message m
under the joint-typical decoder is bounded by the (E1) "true codeword not typical"
event plus the (E2) "some alias codeword is typical" union bound.
Used by
Random codebook average bound (probabilistic-method form) #
The random codebook is drawn from the standard Cover-Thomas product law p^{Mn}
on Codebook M n α := Fin M → (Fin n → α): average over each codeword being
p-i.i.d. on the input alphabet. The codebook law is
codebookMeasure p M n := Measure.pi (fun _ : Fin M => Measure.pi (fun _ : Fin n => p)).
Because α is finite, this Measure.pi is determined by its values on singletons
{codebook}, namely the product ∏ m i, p.real {codebook m i}; the codebook
average is then a finite weighted sum.
The alternative of averaging over a uniform distribution on Codebook M n α
is inconsistent with the joint-typicality bounds, which speak about a p-i.i.d.
law: when p is not uniform on α, the uniform-on-codebook expectation does not
equal any p-derived quantity.
InformationTheory.Shannon.ChannelCoding.codebookMeasure
sourceProduct law p^{Mn} on the codebook space.
Equations
- InformationTheory.Shannon.ChannelCoding.codebookMeasure p M n = MeasureTheory.Measure.pi fun (x : Fin M) => MeasureTheory.Measure.pi fun (x : Fin n) => p