InformationTheory

InformationTheory.Shannon.SlepianWolf.Achievability

source

Slepian–Wolf achievability (corner point of the sum bound) #

Starting from the single-shot converse, this file publishes the deterministic achievability of the separate encoder pair (f_X^n, f_Y^n) + d^n at the corner point R_X = log|α|, R_Y > H(Y) (Cover–Thomas).

Main statements #

  • slepian_wolf_achievability_via_Y_aep — the X-uncompressed, Y-AEP encoder pair: Ys is compressed by a single-source AEP code at any rate R_Y > H(Y) while Xs is sent uncompressed at R_X = log|α|, achieving error → 0. The sum rate R_X + R_Y > log|α| + H(Y) ≥ H(X, Y) covers the segment of the Slepian–Wolf region along the R_X = log|α| boundary.

Implementation notes #

  • The Y-side AEP code is reused directly from source_coding_achievability. The encoder pair composes the trivial X-encoder f_X := id : (Fin n → α) ≃ Fin (|α|^n) with f_Y := aep_encoder, and the joint decoder is (i, j) ↦ (i_as_xⁿ, aep_decoder j).

Definitions #

noncomputable def

InformationTheory.Shannon.swErrorProb

source
{Ω : Type u_1} [MeasurableSpace Ω] {α : Type u_2} {β : Type u_3} (μ : MeasureTheory.Measure Ω) {n M_X M_Y : } (Xs : ΩFin nα) (Ys : ΩFin nβ) (f_X : (Fin nα)Fin M_X) (f_Y : (Fin nβ)Fin M_Y) (d : Fin M_X × Fin M_Y(Fin nα) × (Fin nβ)) :

The joint error probability of a Slepian–Wolf encoder pair and joint decoder: the decoder recovers the wrong (x, y) pair.

Equations
Instances For
    Used by

      Trivial-rate achievability #

      noncomputable def

      InformationTheory.Shannon.swTrivialEncoderX

      source
      {α : Type u_2} [Fintype α] (n : ) :
      (Fin nα)Fin (Fintype.card (Fin nα))

      The trivial Slepian–Wolf X-encoder: the Fintype index of Fin n → α.

      Equations
      Instances For
        Used by
          noncomputable def

          InformationTheory.Shannon.swTrivialEncoderY

          source
          {β : Type u_3} [Fintype β] (n : ) :
          (Fin nβ)Fin (Fintype.card (Fin nβ))

          The trivial Slepian–Wolf Y-encoder: the Fintype index of Fin n → β.

          Equations
          Instances For
            Used by
              noncomputable def

              InformationTheory.Shannon.swTrivialDecoder

              source
              {α : Type u_2} [Fintype α] {β : Type u_3} [Fintype β] (n : ) :
              Fin (Fintype.card (Fin nα)) × Fin (Fintype.card (Fin nβ))(Fin nα) × (Fin nβ)

              The trivial SW joint decoder: apply each axis-equivalence inverse.

              Equations
              Instances For
                Used by

                  Sum bound via the Y-side AEP encoder #

                  The X side is sent uncompressed (f_X := identity, M_X := |α|^n) and the Y side is compressed via AEP at any rate R_Y > H(Y) = entropy μ (Ys 0). The joint decoder reads i as the raw Xⁿ (via the trivial inverse) and j as the AEP-decoded Yⁿ.

                  theorem

                  InformationTheory.Shannon.slepian_wolf_achievability_via_Y_aep

                  source
                  {Ω : Type u_1} [MeasurableSpace Ω] {α : Type u_2} [Fintype α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] {β : Type u_3} [Fintype β] [Nonempty β] [MeasurableSpace β] [MeasurableSingletonClass β] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (Xs : Ωα) (Ys : Ωβ) (hYs : ∀ (i : ), Measurable (Ys i)) (hposY : ∀ (y : β), 0 < (MeasureTheory.Measure.map (Ys 0) μ).real {y}) (hindepY_full : ProbabilityTheory.iIndepFun (fun (i : ) => Ys i) μ) (hidentY : ∀ (i : ), ProbabilityTheory.IdentDistrib (Ys i) (Ys 0) μ μ) {R_Y : } (hR_Y : entropy μ (Ys 0) < R_Y) :
                  ∃ (M_Y : ) (_ : ∀ (n : ), 0 < M_Y n) (f_Y : (n : ) → (Fin nβ)Fin (M_Y n)) (d_Y : (n : ) → Fin (M_Y n)Fin nβ), Filter.Tendsto (fun (n : ) => Real.log (M_Y n) / n) Filter.atTop (nhds R_Y) Filter.Tendsto (fun (n : ) => swErrorProb μ (jointRV Xs n) (jointRV Ys n) (swTrivialEncoderX n) (f_Y n) fun (p : Fin (Fintype.card (Fin nα)) × Fin (M_Y n)) => ((Fintype.equivFin (Fin nα)).invFun p.1, d_Y n p.2)) Filter.atTop (nhds 0)

                  The X-uncompressed, Y-AEP encoder pair achieves the corner point (log|α|, R_Y) for any R_Y > H(Y) with errorProb → 0. Given an AEP Y-side encoder/decoder pair (c_Y, d_Y) from source_coding_achievability combined with the trivial X-encoder, the Slepian–Wolf error equals the Y-side AEP error because the X side is decoded perfectly. The sum rate log|α| + R_Y > log|α| + H(Y) ≥ H(X) + H(Y) ≥ H(X, Y).

                  Used by