InformationTheory

InformationTheory.Shannon.BroadcastChannel.Achievability.ErrorAnalysis

source

Broadcast channel — per-receiver error analysis #

The receiver-2 (cloud tier) error analysis with its random-codebook averaging (channel fold and wrong-cloud swap), and the receiver-1 (superposition) error analysis with its random-coding averaged swaps (E_b, E_c).

Receiver-2 (cloud tier) error analysis #

theorem

InformationTheory.Shannon.BroadcastChannel.bc_errorProbAt₂_le_bonferroni

source
{U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) (K : ProbabilityTheory.Kernel U α) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] {M₁ M₂ n : } (hM₁ : 0 < M₁) (hM₂ : 0 < M₂) {ε : } (cU : BCCloudCodebook M₂ n U) (cX : BCSatelliteCodebook M₁ M₂ n α) (m : Fin M₁ × Fin M₂) :
((bcCodebookToCode pU K W hM₁ hM₂ ε cU cX).errorProbAt₂ W m).toReal (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU m.2, fun (i : Fin n) => (y i).2)ChannelCoding.jointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcY₂s n ε} + w₂'Finset.univ.erase m.2, (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU w₂', fun (i : Fin n) => (y i).2) ChannelCoding.jointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcY₂s n ε}

Receiver-2 two-event Bonferroni bound: when the pair m is sent, the receiver-2 per-pair error probability of the cloud joint-typical decoder is bounded by the correct-cloud atypical event E0 plus the wrong-cloud alias union bound. This is the single-user errorProbAt_le_E1_plus_E2 applied along the β₂-projection fun i ↦ (y i).2 of the block output.

Used by
    theorem

    InformationTheory.Shannon.BroadcastChannel.bc_cloud_indep_prob_le

    source
    {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (a : U), 0 < pU.real {a}) (hK : ∀ (a : U) (b : α), 0 < (K a).real {b}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) (n : ) {ε : } ( : 0 < ε) :

    Receiver-2 cloud independent-pair bound: under the product of the cloud block law and the Y₂ block law (the random-coding measure for a wrong cloud codeword drawn independently of the received output), the probability of joint typicality is at most exp(−n (I(U; Y₂) − 3ε)). A wrapper of the single-user jointlyTypicalSet_indep_prob_le with the exponent rewritten into the bcInfo₂ form; full support is a regularity precondition, not load-bearing.

    Used by

      Receiver-2 random-codebook averaging: (U, Y₂) channel fold and wrong-cloud swap #

      The receiver-2 random-coding legs. The single point of departure from the MAC flat-product averaging is the broadcast pair output β₁ × β₂: the block output law lives on Fin n → β₁ × β₂ and receiver 2 sees only the β₂-projection. The (U, Y₂) channel fold (bc_chan_fold_Y₂_set) folds the cloud/satellite/channel chain into the ambient Y₂-block marginal after marginalizing β₂; the wrong-cloud swap (bc_random_codebook_wrongcloud_swap) recognizes the codebook average of a wrong cloud alias as the independent product law (U-block) ⊗ (Y₂-block) and applies bc_cloud_indep_prob_le.

      def

      InformationTheory.Shannon.BroadcastChannel.bcYPs

      source
      {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} :
      (U × α × β₁ × β₂)β₁ × β₂

      The two-receiver output pair coordinate ω ↦ (ω i).2.2 : β₁ × β₂.

      Equations
      Instances For
        Used by
          theorem

          InformationTheory.Shannon.BroadcastChannel.sum_weighted_map

          source
          {γ : Type u_5} {δ : Type u_6} [Fintype γ] [MeasurableSpace γ] [MeasurableSingletonClass γ] [Fintype δ] [MeasurableSpace δ] [MeasurableSingletonClass δ] (μ : MeasureTheory.Measure γ) [MeasureTheory.IsProbabilityMeasure μ] (f : γδ) (hf : Measurable f) (g : δ) :
          c : γ, μ.real {c} * g (f c) = z : δ, (MeasureTheory.Measure.map f μ).real {z} * g z

          Finite-sum change of variables under a pushforward.

          Used by
            theorem

            InformationTheory.Shannon.BroadcastChannel.bcJointDistribution_singleton_eq

            source
            {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (u : U) (a : α) (y₁ : β₁) (y₂ : β₂) :
            (bcJointDistribution pU K W).real {(u, a, y₁, y₂)} = pU.real {u} * (K u).real {a} * (W a).real {(y₁, y₂)}

            The BC per-coordinate joint law singleton mass: ν{(u, a, y₁, y₂)} = pU{u} · K(u){a} · W(a){(y₁, y₂)}.

            Used by
              theorem

              InformationTheory.Shannon.BroadcastChannel.bc_block_law_U

              source

              The U-block law under the BC ambient measure equals Measure.pi pU.

              Used by
                theorem

                InformationTheory.Shannon.BroadcastChannel.bcJointDistribution_map_UXY_singleton

                source
                {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (u : U) (a : α) (yp : β₁ × β₂) :
                (MeasureTheory.Measure.map (fun (q : U × α × β₁ × β₂) => (q.1, q.2.1, q.2.2)) (bcJointDistribution pU K W)).real {(u, a, yp)} = pU.real {u} * (K u).real {a} * (W a).real {yp}

                The per-coordinate (U, X, Ypair)-reshaped joint law singleton mass factorizes as pU{u} · K(u){a} · W(a){yp}.

                Used by
                  theorem

                  InformationTheory.Shannon.BroadcastChannel.bc_block_law_UXY_singleton

                  source
                  {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (n : ) (u : Fin nU) (x : Fin nα) (yp : Fin nβ₁ × β₂) :
                  (MeasureTheory.Measure.map (fun (ω : U × α × β₁ × β₂) => (jointRV bcUs n ω, jointRV bcXs n ω, jointRV bcYPs n ω)) (bcAmbientMeasure pU K W)).real {(u, x, yp)} = i : Fin n, (MeasureTheory.Measure.map (fun (q : U × α × β₁ × β₂) => (q.1, q.2.1, q.2.2)) (bcJointDistribution pU K W)).real {(u i, x i, yp i)}

                  The (U, X, Ypair)-split block-law singleton mass factorizes over coordinates as a product of the per-coordinate reshaped joint masses.

                  Used by
                    theorem

                    InformationTheory.Shannon.BroadcastChannel.bc_chan_fold_master

                    source
                    {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (n : ) (T : Set ((Fin nU) × (Fin nα) × (Fin nβ₁ × β₂))) :
                    (MeasureTheory.Measure.map (fun (ω : U × α × β₁ × β₂) => (jointRV bcUs n ω, jointRV bcXs n ω, jointRV bcYPs n ω)) (bcAmbientMeasure pU K W)).real T = u : Fin nU, x : Fin nα, (MeasureTheory.Measure.pi fun (x : Fin n) => pU).real {u} * (MeasureTheory.Measure.pi fun (l : Fin n) => K (u l)).real {x} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (x i)).real {y : Fin nβ₁ × β₂ | (u, x, y) T}

                    Master superposition channel fold: the (U, X, Ypair)-split block law of a finite set T equals the average over the cloud codeword u ~ pUⁿ and the conditional satellite codeword x ~ Πₗ K(uₗ) of the paired-channel mass of the corresponding slice of T. This is the BC analogue of mac_chan_fold_triple_set, with the conditional (superposition) satellite law replacing the second MAC input's flat product.

                    Used by
                      theorem

                      InformationTheory.Shannon.BroadcastChannel.bc_chan_fold_Y₂_set

                      source
                      {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (n : ) (T : Set (Fin nβ₂)) :
                      (MeasureTheory.Measure.map (jointRV bcY₂s n) (bcAmbientMeasure pU K W)).real T = u : Fin nU, x : Fin nα, (MeasureTheory.Measure.pi fun (x : Fin n) => pU).real {u} * (MeasureTheory.Measure.pi fun (l : Fin n) => K (u l)).real {x} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (x i)).real {y : Fin nβ₁ × β₂ | (fun (i : Fin n) => (y i).2) T}

                      Channel fold on the (U, Y₂) axes, in β₂-marginal form: the Y₂-block law of a finite set T equals the cloud/satellite/channel average of the β₂-projected channel mass. Derived from the master fold by projecting out U, X, and the β₁-output. This is the receiver-2 analytic core: the pair output is marginalized to β₂.

                      Used by
                        theorem

                        InformationTheory.Shannon.BroadcastChannel.bc_random_codebook_wrongcloud_swap

                        source
                        {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (u : U), 0 < pU.real {u}) (hK : ∀ (u : U) (a : α), 0 < (K u).real {a}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) {M₁ M₂ n : } {ε : } ( : 0 < ε) (m : Fin M₁ × Fin M₂) (w₂' : Fin M₂) (hne : w₂' m.2) :
                        cU : BCCloudCodebook M₂ n U, (bcCloudCodebookMeasure pU M₂ n).real {cU} * cX : BCSatelliteCodebook M₁ M₂ n α, (bcSatelliteCodebookMeasure K M₁ M₂ n cU).real {cX} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU w₂', fun (i : Fin n) => (y i).2) ChannelCoding.jointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcY₂s n ε} Real.exp (-n * (bcInfo₂ pU K W - 3 * ε))

                        Receiver-2 wrong-cloud averaged swap: for a wrong cloud message w₂' ≠ m.2, the two-tier random-codebook average of the wrong-cloud alias event (drawn independently of the transmitted satellite cX m) equals the independent product law (U-block) ⊗ (Y₂-block), and is therefore at most exp(−n (I(U; Y₂) − 3ε)). Combines the satellite single-row marginal (measurePreserving_eval), the cloud two-row marginal (codebook_marginal_two), the (U, Y₂) channel fold, and the independent-pair bound bc_cloud_indep_prob_le.

                        Used by
                          theorem

                          InformationTheory.Shannon.BroadcastChannel.bc_chan_fold_UY₂_set

                          source
                          {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (n : ) (T : Set ((Fin nU) × (Fin nβ₂))) :
                          (MeasureTheory.Measure.map (fun (ω : U × α × β₁ × β₂) => (jointRV bcUs n ω, jointRV bcY₂s n ω)) (bcAmbientMeasure pU K W)).real T = u : Fin nU, x : Fin nα, (MeasureTheory.Measure.pi fun (x : Fin n) => pU).real {u} * (MeasureTheory.Measure.pi fun (l : Fin n) => K (u l)).real {x} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (x i)).real {y : Fin nβ₁ × β₂ | (u, fun (i : Fin n) => (y i).2) T}

                          Channel fold on the (U, Y₂) axes, in joint form: the joint (U, Y₂)-block law of a finite set T equals the cloud/satellite/channel average of the β₂-projected channel mass, retaining the cloud block u inside the slice. Derived from the master fold by projecting out X and the β₁-output while keeping U. This is the receiver-2 correct-cloud analytic core, where the transmitted cloud both indexes the slice and steers the satellite (the U-preserving counterpart of bc_chan_fold_Y₂_set).

                          Used by
                            theorem

                            InformationTheory.Shannon.BroadcastChannel.bc_random_codebook_E0₂_swap

                            source
                            {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (u : U), 0 < pU.real {u}) (hK : ∀ (u : U) (a : α), 0 < (K u).real {a}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) {M₁ M₂ n : } {ε : } (m : Fin M₁ × Fin M₂) :
                            cU : BCCloudCodebook M₂ n U, (bcCloudCodebookMeasure pU M₂ n).real {cU} * cX : BCSatelliteCodebook M₁ M₂ n α, (bcSatelliteCodebookMeasure K M₁ M₂ n cU).real {cX} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU m.2, fun (i : Fin n) => (y i).2)ChannelCoding.jointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcY₂s n ε} = (MeasureTheory.Measure.map (fun (ω : U × α × β₁ × β₂) => (jointRV bcUs n ω, jointRV bcY₂s n ω)) (bcAmbientMeasure pU K W)).real {q : (Fin nU) × (Fin nβ₂) | qChannelCoding.jointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcY₂s n ε}

                            Receiver-2 correct-cloud averaged swap for the E0 event: the two-tier random-codebook average of the correct-cloud atypical event equals the joint (U, Y₂)-block law of the atypical set, because the correct cloud cU m.2 steers the satellite, so (cU m.2, Y₂) follows the ambient joint law (not the independent product). Combines the satellite single-row marginal (measurePreserving_eval), the cloud single-row marginal (codebook_marginal_one), and the joint (U, Y₂) channel fold (bc_chan_fold_UY₂_set). This is an equality; the typicality LLN that makes the joint mass vanish is established separately in bc_E0₂_vanishing.

                            Used by

                              Receiver-1 (superposition) error analysis #

                              theorem

                              InformationTheory.Shannon.BroadcastChannel.bc_errorProbAt₁_le_bonferroni3

                              source
                              {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) (K : ProbabilityTheory.Kernel U α) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] {M₁ M₂ n : } (hM₁ : 0 < M₁) (hM₂ : 0 < M₂) {ε : } (cU : BCCloudCodebook M₂ n U) (cX : BCSatelliteCodebook M₁ M₂ n α) (m : Fin M₁ × Fin M₂) :
                              ((bcCodebookToCode pU K W hM₁ hM₂ ε cU cX).errorProbAt₁ W m).toReal (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU m.2, cX m, fun (i : Fin n) => (y i).1)MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε} + m₁'Finset.univ.erase m.1, (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU m.2, cX (m₁', m.2), fun (i : Fin n) => (y i).1) MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε} + pFinset.univ.erase m.2 ×ˢ Finset.univ, (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU p.1, cX (p.2, p.1), fun (i : Fin n) => (y i).1) MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε}

                              Receiver-1 three-event Bonferroni bound: when the pair m is sent, the receiver-1 per-pair error probability of the superposition joint-typical decoder is bounded by three sub-events along the β₁-projection fun i ↦ (y i).1 of the block output:

                              • E0 — the correct triple (Uⁿ(m₂), Xⁿ(m), y₁) is not jointly typical;
                              • E_b (wrong satellite, correct cloud) — some m₁' ≠ m₁ makes (Uⁿ(m₂), Xⁿ(m₁', m₂), y₁) jointly typical;
                              • E_c (wrong cloud, any satellite) — some cloud alias m₂' ≠ m₂ with any m₁' makes (Uⁿ(m₂'), Xⁿ(m₁', m₂'), y₁) jointly typical.

                              Because a wrong-cloud alias steers its satellite from an independent cloud, the two "correct cloud / wrong cloud" families collapse the four MAC alias events into three: the MAC E1/E2/E3 split is absorbed as E_b (m₂' = m₂, m₁' ≠ m₁) and E_c (m₂' ≠ m₂, any m₁'). This is the receiver-1 analogue of mac_errorProbAt_le_bonferroni4 reworked to the superposition decoder; E_b/E_c are left as raw measure terms for the exponent-bounding legs.

                              Used by

                                Receiver-1 random-coding averaged swaps (E_b, E_c) #

                                theorem

                                InformationTheory.Shannon.BroadcastChannel.bc_chan_fold_Y₁_set

                                source
                                {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (n : ) (T : Set (Fin nβ₁)) :
                                (MeasureTheory.Measure.map (jointRV bcY₁s n) (bcAmbientMeasure pU K W)).real T = u : Fin nU, x : Fin nα, (MeasureTheory.Measure.pi fun (x : Fin n) => pU).real {u} * (MeasureTheory.Measure.pi fun (l : Fin n) => K (u l)).real {x} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (x i)).real {y : Fin nβ₁ × β₂ | (fun (i : Fin n) => (y i).1) T}

                                Channel fold on the (U, Y₁) axes, in β₁-marginal form: the Y₁-block law of a finite set T equals the cloud/satellite/channel average of the β₁-projected channel mass. The receiver-1 analogue of bc_chan_fold_Y₂_set. @audit:ok

                                Used by
                                  noncomputable def

                                  InformationTheory.Shannon.BroadcastChannel.bcInfoJoint

                                  source
                                  {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [MeasurableSpace U] [Fintype α] [MeasurableSpace α] [Fintype β₁] [MeasurableSpace β₁] [MeasurableSpace β₂] (pU : MeasureTheory.Measure U) (K : ProbabilityTheory.Kernel U α) (W : BCChannel α β₁ β₂) :

                                  The joint information I((U, X); Y₁) = H(U, X) + H(Y₁) − H(U, X, Y₁) of the per-coordinate joint law. This is the exponent of the receiver-1 wrong-cloud error: a wrong cloud alias carries an independent (U, X) pair, so the false-alarm exponent is the full joint information I((U, X); Y₁), and it is this quantity that caps the rate sum R₁ + R₂. @audit:ok

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    Used by
                                      theorem

                                      InformationTheory.Shannon.BroadcastChannel.bc_block_law_UX_paired_singleton

                                      source
                                      {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (n : ) (u : Fin nU) (x : Fin nα) :

                                      The (U, X)-split block-law singleton mass factorizes as pUⁿ{u} · Kⁿ(u){x}, derived from the ambient block law of the paired (U, X) coordinate. @audit:ok

                                      Used by
                                        theorem

                                        InformationTheory.Shannon.BroadcastChannel.bc_joint_indep_prob_le

                                        source
                                        {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (u : U), 0 < pU.real {u}) (hK : ∀ (u : U) (a : α), 0 < (K u).real {a}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) (n : ) {ε : } ( : 0 < ε) :
                                        u' : Fin nU, x' : Fin nα, (MeasureTheory.Measure.pi fun (x : Fin n) => pU).real {u'} * (MeasureTheory.Measure.pi fun (l : Fin n) => K (u' l)).real {x'} * (MeasureTheory.Measure.map (jointRV bcY₁s n) (bcAmbientMeasure pU K W)).real {y₁ : Fin nβ₁ | (u', x', y₁) MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε} Real.exp (-n * (bcInfoJoint pU K W - 3 * ε))

                                        Receiver-1 wrong-cloud independent-pair bound: the distributed average over an independent (U, X) pair and the Y₁-block law of the jointly-typical event is at most exp(−n (I((U, X); Y₁) − 3ε)). BC instantiation of macJTS_indep_prob_le_both with the axes (U, X) ⟂ Y₁. @audit:ok

                                        Used by
                                          theorem

                                          InformationTheory.Shannon.BroadcastChannel.bc_conditional_slice_prob_le_uncond

                                          source
                                          {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (a : U), 0 < pU.real {a}) (hK : ∀ (a : U) (b : α), 0 < (K a).real {b}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) {n : } {ε : } (u : Fin nU) (y₁ : Fin nβ₁) :
                                          (MeasureTheory.Measure.pi fun (l : Fin n) => K (u l)).real {x : Fin nα | (u, x, y₁) MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε} Real.exp (-n * (bcInfo₁ pU K W - 4 * ε))

                                          Conditional-slice satellite covering bound with the typicality hypotheses removed: when u or y₁ is atypical the slice is empty (joint typicality forces both marginals typical), so the bound holds vacuously; when both are typical it is exactly bc_conditional_slice_prob_le. @audit:ok

                                          Used by
                                            theorem

                                            InformationTheory.Shannon.BroadcastChannel.bc_random_codebook_Eb_swap

                                            source
                                            {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (u : U), 0 < pU.real {u}) (hK : ∀ (u : U) (a : α), 0 < (K u).real {a}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) {M₁ M₂ n : } {ε : } (m : Fin M₁ × Fin M₂) (m₁' : Fin M₁) (hne : m₁' m.1) :
                                            cU : BCCloudCodebook M₂ n U, (bcCloudCodebookMeasure pU M₂ n).real {cU} * cX : BCSatelliteCodebook M₁ M₂ n α, (bcSatelliteCodebookMeasure K M₁ M₂ n cU).real {cX} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU m.2, cX (m₁', m.2), fun (i : Fin n) => (y i).1) MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε} Real.exp (-n * (bcInfo₁ pU K W - 4 * ε))

                                            Receiver-1 wrong-satellite/correct-cloud averaged swap for the E_b event: for a wrong satellite index m₁' ≠ m.1 (same cloud column m.2), the two-tier random-codebook average of the wrong-satellite alias event is at most exp(−n (I(X; Y₁ ∣ U) − 4ε)). Both the transmitted satellite cX m (channel driver) and the alias cX (m₁', m.2) are drawn i.i.d. from the same cloud column m.2; averaging out the alias inside the channel integral yields the conditional covering bound bc_conditional_slice_prob_le_uncond. @audit:ok

                                            Used by
                                              theorem

                                              InformationTheory.Shannon.BroadcastChannel.bc_random_codebook_Ec_swap

                                              source
                                              {U : Type u_1} {α : Type u_2} {β₁ : Type u_3} {β₂ : Type u_4} [Fintype U] [DecidableEq U] [Nonempty U] [MeasurableSpace U] [MeasurableSingletonClass U] [Fintype α] [DecidableEq α] [Nonempty α] [MeasurableSpace α] [MeasurableSingletonClass α] [Fintype β₁] [DecidableEq β₁] [Nonempty β₁] [MeasurableSpace β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [DecidableEq β₂] [Nonempty β₂] [MeasurableSpace β₂] [MeasurableSingletonClass β₂] (pU : MeasureTheory.Measure U) [MeasureTheory.IsProbabilityMeasure pU] (K : ProbabilityTheory.Kernel U α) [ProbabilityTheory.IsMarkovKernel K] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hpU : ∀ (u : U), 0 < pU.real {u}) (hK : ∀ (u : U) (a : α), 0 < (K u).real {a}) (hW : ∀ (a : α) (b : β₁ × β₂), 0 < (W a).real {b}) {M₁ M₂ n : } {ε : } ( : 0 < ε) (m : Fin M₁ × Fin M₂) (p : Fin M₂ × Fin M₁) (hp : p.1 m.2) :
                                              cU : BCCloudCodebook M₂ n U, (bcCloudCodebookMeasure pU M₂ n).real {cU} * cX : BCSatelliteCodebook M₁ M₂ n α, (bcSatelliteCodebookMeasure K M₁ M₂ n cU).real {cX} * (MeasureTheory.Measure.pi fun (i : Fin n) => W (cX m i)).real {y : Fin nβ₁ × β₂ | (cU p.1, cX (p.2, p.1), fun (i : Fin n) => (y i).1) MAC.macJointlyTypicalSet (bcAmbientMeasure pU K W) bcUs bcXs bcY₁s n ε} Real.exp (-n * (bcInfoJoint pU K W - 3 * ε))

                                              Receiver-1 wrong-cloud averaged swap for the E_c event: for a wrong cloud message p.1 ≠ m.2 (with any satellite index p.2), the two-tier random-codebook average of the wrong-cloud alias event is at most exp(−n (I((U, X); Y₁) − 3ε)). The wrong cloud cU p.1 and its satellite cX (p.2, p.1) are drawn independently of the transmitted (cX m)-driven channel, giving the independent-pair bound bc_joint_indep_prob_le. @audit:ok

                                              Used by