InformationTheory.Shannon.ChannelCoding.Achievability
Channel coding achievability theorem #
Umbrella module re-exporting the three parts under Achievability/:
Achievability.Core— codebook, joint typical decoder, and per-codeword error decomposition definitions.Achievability.RandomCodebook— Fubini swap helpers +random_codebook_average_le.Achievability.Main— pigeonhole argument +channel_coding_achievability.
Implementation notes #
- Codebook is
Fin M → (Fin n → α)(abbrev). - The codebook average is taken over the
p-i.i.d. lawcodebookMeasure p M n := Measure.pi (fun _ : Fin M => Measure.pi (fun _ : Fin n => p))on the finite spaceCodebook M n α. The probabilistic-method form matches Cover-Thomas. - Decoder =
Classical.dec-based "unique joint-typicalm, else fallback⟨0, hM⟩". - Rate slack
ε := (I - R) / 6;M := Nat.ceil (Real.exp (n · R)).