InformationTheory.Shannon.BroadcastChannel.OuterBoundUV.Bridge
Broadcast channel — from a block code to its ambient law #
The canonical ambient probability measure attached to a broadcast block code: a uniform message pair is passed through the per-letter product channel, and the messages and the two receiver outputs are read off the resulting measure as coordinate projections.
Read off that measure are the structural hypotheses of the message-level bound
bc_uv_converse — memorylessness and the two Markov chains — together with the identification
of the ambient decode error with the code's average error probability; instantiating
bc_uv_converse there gives the headline bc_uv_converse_from_code. Two further sections
re-encode the per-letter auxiliary variable onto a single alphabet, for an arbitrary ambient
measure, and then read the letter-i five-tuple law off the ambient of a code and identify
each summand of the bound with an information slot of that law.
Main definitions #
bcConverseInput— the uniform law on the message pair.bcConverseKernel— the per-letter product channel∏ᵢ W (encoder m i), as a kernel in the message pair.bcConverseAmbient— the ambient measurebcConverseInput ⊗ₘ bcConverseKernel.bcConverseMsg₁,bcConverseMsg₂— the two message projections.bcConverseYs,bcConverseY₁s,bcConverseY₂s— the output-pair projection and its two per-receiver components.bcConverseCodeKernel— the codeword → output-block kernel.bcConverseFanoSlack₁,bcConverseFanoSlack₂— the per-receiver Fano slack of the code.uvPadMap,uvUnpadMap— the re-encoding of the letter-iauxiliary alphabet into a fixed one, and its left inverse.uvAuxPad— the letter-iauxiliary variable read in that fixed alphabet.uvInfo₁,uvInfo₂,uvInfoSum₂,uvInfoSum₁— the four information slots of the outer bound, as functionals of a five-tuple law(U, V, X, Y₁, Y₂). The subscript of a sum-rate slot names the corner slot it extends, souvInfoSum₂leads withuvInfo₂anduvInfoSum₁withuvInfo₁.uvInfoJoint— the input-output informationI(X; Y₁)of the same law. It is not a slot of the outer bound; it is the common upper bound the two comparison bounds of a more capable channel take.bcUVTuple— the letter-ifive-tuple of the two padded auxiliaries, the input letter and the two output letters.bcUVJointDistribution— the law of that five-tuple under the ambient.
Main statements #
bcConverseKernel_apply— the kernel at a message pair is the code's block output law.bcConverseMsg₁_uniform,bcConverseMsg₂_uniform— each message is uniform under the ambient.bcConverse_mutualInfo_eq_zero— the two messages are independent under the ambient.bcConverse_memoryless₁,bcConverse_memoryless₂— each output letter is conditionally independent of the other message, the other input letters and all other output letters, given the current input letter. The two same-letter outputs are never decoupled from each other.bcConverse_isMarkovChain₁,bcConverse_isMarkovChain₂— the messages act on a receiver's output block only through the codeword:(W₂, W₁) → (W₂, Xⁿ) → Y₁ⁿand its mirror.bcConverse_errorProb₁_eq,bcConverse_errorProb₂_eq— the ambient decode error at a receiver is the code's average error probability there.bc_uv_converse_from_code— the UV outer bound at a bare broadcast code, with the rate pair(log M₁, log M₂)and the Fano slack still symbolic.mutualInfo_pair_out₁_eq_uvInfoJoint— pairing the input letter with an auxiliary variable that acts on the first output only through that letter adds nothing: the pair carries exactlyuvInfoJoint. This is what identifies the input-output slot of a law with the corresponding information of the achievability pair read off it.uvAux_pad_mutualInfo_eq,uvAux_pad_condMutualInfo_eq— re-encoding the auxiliary variable into the fixed alphabet changes neither the mutual information it carries about an output nor the conditional mutual information it conditions.bc_uv_mutualInfo_eq_uvInfo₁_at,bc_uv_mutualInfo_eq_uvInfo₂_at,bc_uv_sum_eq_uvInfoSum₂_at,bc_uv_sum_eq_uvInfoSum₁_at— each summand of the four information slots of the code-level bound is the corresponding information slot of the letter's five-tuple law, so then-letter bound is a sum of single-letter quantities.
Implementation notes #
The output block lives on Fin n → β₁ × β₂, a sequence of output pairs, rather than on a pair
of sequences. With that choice the message-to-output kernel is literally
BroadcastCode.blockOutputLaw, so the product structure over letters is available to the
structural lemmas and the same-letter pair (Y_{1,i}, Y_{2,i}) is never split; the two
per-receiver output sequences are recovered as further projections.
The alphabet of uvAux … i depends on the letter i, so different letters produce auxiliary
variables of different types. uvAuxPad moves all of them onto one alphabet by padding the
prefix and the suffix with a default value and keeping i as a first component; keeping i
is what makes the padding invertible, and invertibility is what turns the data processing
inequality into an equality of informations.
Together with the uniformity and independence statements the four structural lemmas discharge
the structural preconditions of the message-level converse bc_uv_converse. The encoder is
measurable for free because the message pair ranges over a finite type, so the only hypotheses
bc_uv_converse_from_code keeps are 2 ≤ M₁ and 2 ≤ M₂.
The five-tuple carries both auxiliaries, because the four information slots split two and
two between them; keeping them in one law is what lets a single distribution witness all four
inequalities. uvInfoSum₂ and uvInfoSum₁ take [IsFiniteMeasure ν] since
condMutualInfo does, while the two corner slots need nothing beyond measurability. The four
are declared in the field order of InBCOuterRegionUV (bound₁, bound₂, sumBound₂,
sumBound₁) rather than by subscript, so that an instantiation reads down the structure.
uvInfoJoint comes after them because it mentions neither auxiliary and so answers to no field
of that structure.
The ambient measure of a broadcast code #
The input law, the channel kernel and the ambient #
InformationTheory.Shannon.BroadcastChannel.bcConverseInput
sourceUniform input law on the message pair: the product of the two uniform message laws.
Equations
- InformationTheory.Shannon.BroadcastChannel.bcConverseInput M₁ M₂ = ((↑(Fintype.card (Fin M₁)))⁻¹ • MeasureTheory.Measure.count).prod ((↑(Fintype.card (Fin M₂)))⁻¹ • MeasureTheory.Measure.count)
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseInput_isProbabilityMeasure
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseKernel
sourcePer-letter product-channel kernel: given the message pair m, the output law is the product
over the n letters of the broadcast channel W applied to the encoded letter encoder m i.
Each letter contributes an output pair, so the two receivers stay coupled within a letter.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseKernel_isMarkovKernel
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseKernel_apply
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseAmbient
sourceCanonical ambient measure for the broadcast converse: a uniform message pair passed through the per-letter product channel.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseAmbient_isProbabilityMeasure
sourceUsed by
Projections #
InformationTheory.Shannon.BroadcastChannel.bcConverseMsg₁
sourceMessage-1 projection ω ↦ ω.1.1.
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseMsg₂
sourceMessage-2 projection ω ↦ ω.1.2.
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseYs
sourceOutput-pair projection i ↦ ω ↦ ω.2 i.
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseY₁s
sourceReceiver-1 output projection i ↦ ω ↦ (ω.2 i).1.
Equations
- InformationTheory.Shannon.BroadcastChannel.bcConverseY₁s i ω = (ω.2 i).1
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseY₂s
sourceReceiver-2 output projection i ↦ ω ↦ (ω.2 i).2.
Equations
- InformationTheory.Shannon.BroadcastChannel.bcConverseY₂s i ω = (ω.2 i).2
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.measurable_bcConverseMsg₁
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_bcConverseMsg₂
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_bcConverseYs
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_bcConverseY₁s
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_bcConverseY₂s
sourceUsed by
Uniformity and independence of the messages #
InformationTheory.Shannon.BroadcastChannel.bcConverseInput_map_fst
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseInput_map_snd
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseInput_eq
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverse_msgPair_eq_fst
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseMsg₁_uniform
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseMsg₂_uniform
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverse_mutualInfo_eq_zero
sourceUsed by
The codeword kernel #
InformationTheory.Shannon.BroadcastChannel.bcConverseCodeKernel
sourceCodeword → output-block kernel: given an input codeword x, the output law is the per-letter
product ∏ᵢ W (x i) of the broadcast channel.
Equations
- InformationTheory.Shannon.BroadcastChannel.bcConverseCodeKernel W = ProbabilityTheory.Kernel.ofFunOfCountable fun (x : Fin n → α) => MeasureTheory.Measure.pi fun (i : Fin n) => W (x i)
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseCodeKernel_isMarkovKernel
sourceUsed by
Structural hypotheses of the message-level converse #
InformationTheory.Shannon.BroadcastChannel.bcConverse_memoryless₁
sourceJoint-output memorylessness at receiver 1, read off the ambient: the letter-i output of
receiver 1 is conditionally independent of message 2, of the other input letters and of all the
other output letters of both receivers, given the input letter encoder m i. The same-letter
pair of outputs is never decoupled, so the two receivers stay arbitrarily correlated within a
letter. This is the hypothesis h_memo₁ of bc_uv_converse at bcConverseAmbient.
@audit:ok
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverse_memoryless₂
sourceJoint-output memorylessness at receiver 2, the mirror of bcConverse_memoryless₁: the
letter-i output of receiver 2 is conditionally independent of message 1, of the other input
letters and of all the other output letters of both receivers, given the input letter
encoder m i. This is the hypothesis h_memo₂ of bc_uv_converse at bcConverseAmbient.
@audit:ok
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverse_isMarkovChain₁
sourceThe messages act on receiver 1's output block only through the codeword: (W₂, W₁) → (W₂, Xⁿ) → Y₁ⁿ under the ambient. This is the hypothesis hmarkov₁ of bc_uv_converse at
bcConverseAmbient.
@audit:ok
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverse_isMarkovChain₂
sourceThe mirror of bcConverse_isMarkovChain₁ at receiver 2: (W₁, W₂) → (W₁, Xⁿ) → Y₂ⁿ under
the ambient. This is the hypothesis hmarkov₂ of bc_uv_converse at bcConverseAmbient.
@audit:ok
Used by
Code-level converse and rate extraction #
InformationTheory.Shannon.BroadcastChannel.bcConverse_errorProb₁_eq
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverse_errorProb₂_eq
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcConverseFanoSlack₁
sourceReceiver-1 Fano slack of a broadcast code: the binary entropy of the ambient decode error
at receiver 1 together with that error probability scaled by log (M₁ - 1). This is the
additive term by which the message-level converse exceeds the per-letter information sum, and
it tends to zero with the error probability.
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcConverseFanoSlack₂
sourceReceiver-2 Fano slack of a broadcast code, the mirror of bcConverseFanoSlack₁.
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bc_uv_converse_from_code
sourceThe UV outer bound instantiated at a bare broadcast code: for any two-receiver block code
c and Markov channel W, the canonical ambient measure bcConverseAmbient c W discharges
every hypothesis of the message-level converse bc_uv_converse, so the rate pair
(log M₁, log M₂) lies in the Nair–El Gamal region determined by the per-letter auxiliaries.
No degradedness is assumed. The Fano slack is still carried here; it vanishes only in the
n → ∞ limit.
@audit:ok
Used by
Fixed-alphabet form of the auxiliary variable #
InformationTheory.Shannon.BroadcastChannel.uvPadMap
sourceRe-encoding of the letter-i auxiliary alphabet into one that does not depend on i: the
receiver-1 prefix and the receiver-2 suffix are extended to full-length sequences by a default
value, and the letter index is kept as a first component so that the extension can be undone.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvUnpadMap
sourceLeft inverse of uvPadMap i: restrict the two full-length sequences back to the
receiver-1 prefix Y₁^{<i} and the receiver-2 suffix Y₂^{>i}.
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvAuxPad
sourceThe letter-i auxiliary variable of the UV outer bound, re-encoded into the fixed
alphabet Fin n × ξ × (Fin n → β₁) × (Fin n → β₂), which no longer depends on i.
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvUnpadMap_uvPadMap
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_uvPadMap
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_uvUnpadMap
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.measurable_uvAuxPad
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.uvAux_pad_mutualInfo_eq
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.uvAux_pad_mutualInfo_prod_eq
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.uvAux_pad_condMutualInfo_eq
sourceUsed by
Per-letter joint law and its information slots #
The information slots of a five-tuple law #
InformationTheory.Shannon.BroadcastChannel.uvInfo₁
sourceReceiver-1 corner information I(V; Y₁) of a five-tuple law (U, V, X, Y₁, Y₂).
@audit:ok
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvInfo₂
sourceReceiver-2 corner information I(U; Y₂) of a five-tuple law (U, V, X, Y₁, Y₂).
@audit:ok
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvInfoSum₂
sourceSum-rate information I(U; Y₂) + I(X; Y₁ | U) with the receiver-2 auxiliary leading.
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvInfoSum₁
sourceSum-rate information I(V; Y₁) + I(X; Y₂ | V) with the receiver-1 auxiliary leading.
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.uvInfoJoint
sourceThe input-output information I(X; Y₁) of a five-tuple law (U, V, X, Y₁, Y₂).
Equations
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.mutualInfo_pair_out₁_eq_uvInfoJoint
sourceUsed by
The per-letter law read off the ambient #
InformationTheory.Shannon.BroadcastChannel.bcUVTuple
sourceThe letter-i five-tuple of the UV outer bound, read off the ambient: the receiver-2
auxiliary, the receiver-1 auxiliary — both in the fixed alphabet of uvAuxPad — the input
letter and the two output letters.
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.measurable_bcUVTuple
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bcUVJointDistribution
sourceThe joint law of the letter-i five-tuple under the ambient measure of a broadcast code:
the two auxiliaries, the input letter and the two output letters, all pushed forward from
bcConverseAmbient.
@audit:ok
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.BroadcastChannel.bcUVJointDistribution_isProbabilityMeasure
sourceUsed by
InformationTheory.Shannon.BroadcastChannel.bc_uv_mutualInfo_eq_uvInfo₁_at
source@audit:ok
Used by
InformationTheory.Shannon.BroadcastChannel.bc_uv_mutualInfo_eq_uvInfo₂_at
source@audit:ok
Used by
InformationTheory.Shannon.BroadcastChannel.bc_uv_sum_eq_uvInfoSum₂_at
source@audit:ok
Used by
InformationTheory.Shannon.BroadcastChannel.bc_uv_sum_eq_uvInfoSum₁_at
source@audit:ok