InformationTheory.Shannon.RateDistortion.AchievabilityJointStrongTypicality
Rate-distortion achievability — joint strong-typicality apparatus #
The joint strongly-typical apparatus for the strong-typicality variant of the
rate-distortion achievability theorem. The construction reuses the single-axis
strong typicality machinery of StrongTypicality.lean instantiated on the
product alphabet α × β, with the joint sequence
jointSequence Xs Ys i ω = (Xs i ω, Ys i ω).
Main definitions #
jointStronglyTypicalSet— the joint strongly-typical set overα × β.jointStronglyTypicalLossyEncoder— a strong-JTS lossy encoder.conditionalStronglyTypicalSlice— the Y-fiber of the joint strongly-typical set at a fixed X-block.
Main statements #
typeCount_joint_sum_snd/typeCount_joint_sum_fst— marginalisation of the joint type-count recovers the X- / Y-type-count.jointStronglyTypicalSet_implies_X_stronglyTypical/jointStronglyTypicalSet_implies_Y_stronglyTypical— joint strong typicality implies axis strong typicality with widened slack.jointStronglyTypicalSet_indep_prob_ge— strong-typical independent probability lower bound.
Implementation notes #
- The joint-sequence i.i.d. infrastructure (
iidAmbientJoint_iIndepFun_joint,iidAmbientJoint_identDistrib_joint) lives inIIDProductInput/Joint.lean; pairwise / ident-distrib of the joint sequence are taken at the statement level to keep the development abstract.
Joint strongly typical set #
InformationTheory.Shannon.jointStronglyTypicalSet
sourceJoint strongly typical set over the product alphabet α × β. A pair
(x, y) : (Fin n → α) × (Fin n → β) is in the set iff the "reshape"
fun i => (x i, y i) : Fin n → α × β lies in the single-axis strongly typical
set for the joint sequence jointSequence Xs Ys.
Concretely (unfolding stronglyTypicalSet):
(x, y) ∈ jointStronglyTypicalSet μ Xs Ys n ε ↔ ∀ (a, b), |(typeCount (fun i => (x i, y i)) (a, b) : ℝ)/n - (μ.map (jointSequence Xs Ys 0)).real {(a, b)}| ≤ ε.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.mem_jointStronglyTypicalSet_iff
sourceUsed by
InformationTheory.Shannon.jointStronglyTypicalSet_finite
sourceThe joint strongly typical set is finite.
Used by
Strong-typical independent probability lower bound #
Marginalisation of typeCount over a coordinate #
InformationTheory.Shannon.typeCount_joint_sum_snd
sourceMarginalising the joint type-count over β recovers the X type-count:
∑_b typeCount (fun i => (x i, y i)) (a, b) = typeCount x a.
Used by
InformationTheory.Shannon.typeCount_joint_sum_fst
sourceMarginalising the joint type-count over α recovers the Y type-count.
Used by
Strong joint ⟹ strong X- and Y-typicality (with widened slack) #
InformationTheory.Shannon.jointStronglyTypicalSet_implies_X_stronglyTypical
sourceStrong joint typicality ⟹ Strong X-typicality (slack widened by |β|).
Given (fun i => (x i, y i)) ∈ stronglyTypicalSet μ (jointSequence Xs Ys) n ε and
(μ.map (jointSequence Xs Ys 0)).map Prod.fst = μ.map (Xs 0), we have
x ∈ stronglyTypicalSet μ Xs n (Fintype.card β · ε).
Used by
InformationTheory.Shannon.jointStronglyTypicalSet_implies_Y_stronglyTypical
sourceStrong joint typicality ⟹ Strong Y-typicality (slack widened by |α|).
Used by
Strong joint typicality probability lower bound #
InformationTheory.Shannon.jointStronglyTypicalSet_indep_prob_ge
sourceStrong-typical independent probability lower bound (mirror of
jointlyTypicalSet_indep_prob_ge for the strong-typicality version).
For an i.i.d. joint sequence with marginals matching μ.map (Xs 0) and μ.map (Ys 0),
and any η > 0, eventually for all n large enough,
(1 - η) · exp(n · ((H(Z) - H(X) - H(Y)) - ((Fintype.card β · L_X + Fintype.card α · L_Y + L_Z) · ε + 3 δ))) ≤ (μ_X^n × μ_Y^n).real (jointStronglyTypicalSet ε),
where L_X := logSumAbs μ Xs, L_Y := logSumAbs μ Ys, L_Z := logSumAbs μ (jointSequence Xs Ys),
and δ > 0 is an arbitrary auxiliary slack.
Compared to the weak version's 3ε slack, the strong version has slack
(Fintype.card β · L_X + Fintype.card α · L_Y + L_Z) · ε + 3 δ because converting from the
strong joint typicality (slack ε) to weak X/Y/joint typicality (slack < ε')
through stronglyTypicalSet_subset_typicalSet amplifies ε by the Lipschitz constant.
Used by
Strong-JTS lossy encoder #
InformationTheory.Shannon.jointStronglyTypicalLossyEncoder
sourceStrong-JTS lossy encoder. Parallel to jointTypicalLossyEncoder but targets
jointStronglyTypicalSet. Given a codebook c, returns some index m with
(x, c m) ∈ jointStronglyTypicalSet; falls back to ⟨0, hM⟩ otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Used by
InformationTheory.Shannon.jointStronglyTypicalLossyEncoder_spec_of_exists
sourceIf a strong-JTS match exists for x, the strong encoder returns one.
Used by
Conditional strong-typical slice #
The Y-fiber mass of the joint strongly-typical set under the product measure
μ_Y^n is lower-bounded for x X-axis strongly typical: this is the
strong-typicality dual of
SlepianWolfConditionalTypicalSlice.conditionalTypicalSlice_card_le (an upper
bound on the X-fiber of jointlyTypicalSet). The cardinality is lower-bounded
via stronglyTypicalSet_card_ge_eventually on Z and the individual fiber
masses upper-bounded via typicalSet_prob_le on Y, yielding the
per-source-typical match-probability lower bound exp(-n(I(X;Y) + δ(ε))) of
Cover–Thomas.
InformationTheory.Shannon.conditionalStronglyTypicalSlice
sourceConditional strong-typical slice. For a fixed X-block x : Fin n → α,
the Y-fiber of the joint strongly-typical set at x.
Equations
Instances For
Used by
InformationTheory.Shannon.mem_conditionalStronglyTypicalSlice_iff
sourceUsed by
The rate-distortion achievability theorem is assembled in
AchievabilityStrongTypicality.lean via the strong-encoder track
(codebookAvgFailureStrong_tendsto_zero + rate_distortion_achievability_strong),
which uses the conditional method-of-types directly; the public theorem
rate_distortion_achievability lives in that file.