InformationTheory

InformationTheory.Shannon.BroadcastChannel.OuterBoundUV.Assembly

source

Broadcast channel — the operational capacity region lies in the UV outer region #

The UV outer region bcOuterRegionUV is the closure of a union of quadrilaterals indexed by the five-tuple laws that the channel generates, the laws satisfying IsUVChannelLaw. What is left is to exhibit a code as such a law: the letter laws of a code are channel laws, and time-sharing mixes them into a single one whose information slots dominate the letter averages.

The main result is bc_capacity_subset_uv: the operational capacity region of the channel lies in this region. The rate pair of a code, each coordinate discounted by the error probability of its receiver and by two bits per letter, is a point of the quadrilateral of the time-shared letter law; the discount vanishes as the error tolerance shrinks and the block length grows, and the region is a closed lower set, so the limit and the rate pairs below it are in the region too.

Main definitions #

Main statements #

  • bcUVJointDistribution_isUVChannelLaw — the letter-i law of a broadcast code is a channel law, so the letter laws of a code index the union.
  • bcUVTimeShare_uvInfo₁_ge and its three companions — each information slot of the time-shared law dominates the average of the letter slots.
  • bc_uv_rate_sub_fanoSlack_mem_of_ceil_exp_le — the rate pair of a code, shrunk by the Fano slack per letter, lies in the region.
  • bc_uv_logCard_mul_one_sub_errorProb_mem — the same in the form the asymptotic argument consumes: each rate is discounted by the error probability of its receiver and by two bits per letter, which no longer refers to the message count of the other receiver.
  • bc_achievable_clamp_iff — clamping a rate pair into the first quadrant leaves achievability unchanged, since both ceilings equal one at a nonpositive rate.
  • bc_uv_quadrant_mem_of_achievable — an achievable rate pair with nonnegative coordinates lies in the region, obtained from the code points by letting the error tolerance and the per-letter residue vanish.
  • bc_capacity_subset_uv — the operational capacity region lies in the UV outer region.

Implementation notes #

The asymptotic argument runs on bc_uv_logCard_mul_one_sub_errorProb_mem rather than on bc_uv_rate_sub_fanoSlack_mem_of_ceil_exp_le: the latter subtracts the sum of both Fano slacks from each coordinate, and a slack of the other receiver is not controlled by the rate of this one, since the message counts of an achievable pair are bounded from below only. Discounting each rate by its own error probability removes that coupling, and the residue is two bits per block whatever the message counts are.

The letter laws of a code are channel laws #

theorem

InformationTheory.Shannon.BroadcastChannel.bcUVJointDistribution_isUVChannelLaw

source
{α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] (i : Fin n) :

@audit:ok

Used by

    Re-encoding the auxiliary alphabets #

    def

    InformationTheory.Shannon.BroadcastChannel.uvRelabel

    source
    {α : Type u_1} {β₁ : Type u_2} {β₂ : Type u_3} {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} (e₁ : UU') (e₂ : VV') :
    U × V × α × β₁ × β₂U' × V' × α × β₁ × β₂

    Re-encoding of the two auxiliary alphabets of a five-tuple, leaving the input letter and the two output letters alone.

    Equations
    Instances For
      Used by
        theorem

        InformationTheory.Shannon.BroadcastChannel.measurable_uvRelabel

        source
        {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} [MeasurableSpace U] [MeasurableSpace V] [MeasurableSpace U'] [MeasurableSpace V'] {e₁ : UU'} {e₂ : VV'} (he₁ : Measurable e₁) (he₂ : Measurable e₂) :
        Measurable (uvRelabel e₁ e₂)
        Used by
          theorem

          InformationTheory.Shannon.BroadcastChannel.uvInfo₁_map_uvRelabel

          source
          {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} [MeasurableSpace U] [MeasurableSpace V] [MeasurableSpace U'] [MeasurableSpace V'] (ν : MeasureTheory.Measure (U × V × α × β₁ × β₂)) [MeasureTheory.IsProbabilityMeasure ν] {e₁ : UU'} {e₂ : VV'} {d₂ : V'V} (he₁ : Measurable e₁) (he₂ : Measurable e₂) (hd₂ : Measurable d₂) (h₂ : ∀ (v : V), d₂ (e₂ v) = v) :
          Used by
            theorem

            InformationTheory.Shannon.BroadcastChannel.uvInfo₂_map_uvRelabel

            source
            {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} [MeasurableSpace U] [MeasurableSpace V] [MeasurableSpace U'] [MeasurableSpace V'] (ν : MeasureTheory.Measure (U × V × α × β₁ × β₂)) [MeasureTheory.IsProbabilityMeasure ν] {e₁ : UU'} {e₂ : VV'} {d₁ : U'U} (he₁ : Measurable e₁) (he₂ : Measurable e₂) (hd₁ : Measurable d₁) (h₁ : ∀ (u : U), d₁ (e₁ u) = u) :
            Used by
              theorem

              InformationTheory.Shannon.BroadcastChannel.uvInfoJoint_map_uvRelabel

              source
              {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} [MeasurableSpace U] [MeasurableSpace V] [MeasurableSpace U'] [MeasurableSpace V'] (ν : MeasureTheory.Measure (U × V × α × β₁ × β₂)) {e₁ : UU'} {e₂ : VV'} (he₁ : Measurable e₁) (he₂ : Measurable e₂) :
              Used by
                theorem

                InformationTheory.Shannon.BroadcastChannel.uvInfoSum₂_map_uvRelabel

                source
                {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} [MeasurableSpace U] [MeasurableSpace V] [MeasurableSpace U'] [MeasurableSpace V'] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype U] [MeasurableSingletonClass U] (ν : MeasureTheory.Measure (U × V × α × β₁ × β₂)) [MeasureTheory.IsProbabilityMeasure ν] {e₁ : UU'} {e₂ : VV'} {d₁ : U'U} (he₁ : Measurable e₁) (he₂ : Measurable e₂) (hd₁ : Measurable d₁) (h₁ : ∀ (u : U), d₁ (e₁ u) = u) :
                Used by
                  theorem

                  InformationTheory.Shannon.BroadcastChannel.uvInfoSum₁_map_uvRelabel

                  source
                  {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {U : Type u_4} {V : Type u_5} {U' : Type u_6} {V' : Type u_7} [MeasurableSpace U] [MeasurableSpace V] [MeasurableSpace U'] [MeasurableSpace V'] [StandardBorelSpace α] [Nonempty α] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] [Fintype V] [MeasurableSingletonClass V] (ν : MeasureTheory.Measure (U × V × α × β₁ × β₂)) [MeasureTheory.IsProbabilityMeasure ν] {e₁ : UU'} {e₂ : VV'} {d₂ : V'V} (he₁ : Measurable e₁) (he₂ : Measurable e₂) (hd₂ : Measurable d₂) (h₂ : ∀ (v : V), d₂ (e₂ v) = v) :
                  Used by

                    Time sharing #

                    The time-shared five-tuple law #

                    noncomputable def

                    InformationTheory.Shannon.BroadcastChannel.bcUVLetterKernel

                    source
                    {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) :
                    ProbabilityTheory.Kernel (Fin n) ((Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂)

                    The letter laws of a broadcast code, read as a Markov kernel from the letter index.

                    Equations
                    Instances For
                      Used by
                        noncomputable def

                        InformationTheory.Shannon.BroadcastChannel.bcUVLetterIndexLaw

                        source

                        The uniform law of the letter index of a length-n block code.

                        Equations
                        Instances For
                          Used by
                            instance

                            InformationTheory.Shannon.BroadcastChannel.bcUVLetterIndexLaw_isProbabilityMeasure

                            source
                            Used by
                              theorem

                              InformationTheory.Shannon.BroadcastChannel.bcUVLetterKernel_apply

                              source
                              {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) (i : Fin n) :
                              Used by
                                instance

                                InformationTheory.Shannon.BroadcastChannel.bcUVLetterKernel_isMarkovKernel

                                source
                                {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] :
                                Used by
                                  noncomputable def

                                  InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare

                                  source
                                  {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) :
                                  MeasureTheory.Measure ((Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂)

                                  The time-shared five-tuple law of a broadcast code: the letter index is drawn uniformly and the letter-i five-tuple is read off the ambient measure. The letter index survives inside both auxiliaries, which already carry it as their first component. @audit:ok

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

                                      InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_isProbabilityMeasure

                                      source
                                      {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                      Used by
                                        theorem

                                        InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_eq_sum

                                        source
                                        {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Nonempty β₁] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                        bcUVTimeShare c W = i : Fin n, (↑n)⁻¹ bcUVJointDistribution c W i
                                        Used by
                                          theorem

                                          InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_isUVChannelLaw

                                          source
                                          {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [Fintype β₁] [Nonempty β₁] [Fintype β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                          Used by
                                            theorem

                                            InformationTheory.Shannon.BroadcastChannel.bcUVLetterKernel_ae_tag

                                            source
                                            {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [Fintype β₁] [MeasurableSingletonClass β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                            ∀ᵐ (p : Fin n × (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) (bcUVLetterIndexLaw n).compProd (bcUVLetterKernel c W), p.2.1.1 = p.1 p.2.2.1.1 = p.1
                                            Used by

                                              The four slots of the time-shared law dominate the letter averages #

                                              theorem

                                              InformationTheory.Shannon.BroadcastChannel.lintegral_bcUVLetterIndexLaw

                                              source
                                              {n : } [NeZero n] (F : Fin nENNReal) :
                                              ∫⁻ (i : Fin n), F i bcUVLetterIndexLaw n = (↑n)⁻¹ * i : Fin n, F i
                                              Used by
                                                theorem

                                                InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_uvInfo₁_ge

                                                source
                                                {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                                Used by
                                                  theorem

                                                  InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_uvInfo₂_ge

                                                  source
                                                  {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                                  Used by
                                                    theorem

                                                    InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_condMutualInfo₁_eq

                                                    source
                                                    {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                                    (condMutualInfo (bcUVTimeShare c W) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.1) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.2.1) fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.1) = (↑n)⁻¹ * i : Fin n, condMutualInfo (bcUVJointDistribution c W i) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.1) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.2.1) fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.1
                                                    Used by
                                                      theorem

                                                      InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_condMutualInfo₂_eq

                                                      source
                                                      {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                                      (condMutualInfo (bcUVTimeShare c W) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.1) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.2.2) fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.1) = (↑n)⁻¹ * i : Fin n, condMutualInfo (bcUVJointDistribution c W i) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.1) (fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.2.2.2) fun (q : (Fin n × Fin M₂ × (Fin nβ₁) × (Fin nβ₂)) × (Fin n × Fin M₁ × (Fin nβ₁) × (Fin nβ₂)) × α × β₁ × β₂) => q.2.1
                                                      Used by
                                                        theorem

                                                        InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_uvInfoSum₂_ge

                                                        source
                                                        {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                                        Used by
                                                          theorem

                                                          InformationTheory.Shannon.BroadcastChannel.bcUVTimeShare_uvInfoSum₁_ge

                                                          source
                                                          {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] [NeZero M₁] [NeZero M₂] [NeZero n] :
                                                          Used by

                                                            The shrunk rate point #

                                                            theorem

                                                            InformationTheory.Shannon.BroadcastChannel.bc_uv_mem_of_mul_le_slot_sums

                                                            source
                                                            {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hn : 0 < n) {r₁ r₂ : } (hb₁ : n * r₁ (∑ i : Fin n, uvInfo₁ (bcUVJointDistribution c W i)).toReal) (hb₂ : n * r₂ (∑ i : Fin n, uvInfo₂ (bcUVJointDistribution c W i)).toReal) (hb₃ : n * (r₁ + r₂) (∑ i : Fin n, uvInfoSum₂ (bcUVJointDistribution c W i)).toReal) (hb₄ : n * (r₁ + r₂) (∑ i : Fin n, uvInfoSum₁ (bcUVJointDistribution c W i)).toReal) :

                                                            @audit:ok

                                                            Used by
                                                              theorem

                                                              InformationTheory.Shannon.BroadcastChannel.bcConverseFanoSlack₁_le

                                                              source
                                                              {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hcard₁ : 2 M₁) :

                                                              @audit:ok

                                                              Used by
                                                                theorem

                                                                InformationTheory.Shannon.BroadcastChannel.bcConverseFanoSlack₂_le

                                                                source
                                                                {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype β₁] [MeasurableSingletonClass β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hcard₂ : 2 M₂) :

                                                                @audit:ok

                                                                Used by
                                                                  theorem

                                                                  InformationTheory.Shannon.BroadcastChannel.bc_uv_converse_slots

                                                                  source
                                                                  {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hcard₁ : 2 M₁) (hcard₂ : 2 M₂) :

                                                                  @audit:ok

                                                                  Used by
                                                                    theorem

                                                                    InformationTheory.Shannon.BroadcastChannel.bc_uv_rate_sub_fanoSlack_mem_of_ceil_exp_le

                                                                    source
                                                                    {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hn : 0 < n) (hcard₁ : 2 M₁) (hcard₂ : 2 M₂) {R₁ R₂ : } (hM₁ : Real.exp (n * R₁)⌉₊ M₁) (hM₂ : Real.exp (n * R₂)⌉₊ M₂) :

                                                                    The rate pair of a broadcast code, shrunk by the per-letter Fano slack, lies in the UV outer region. The letter index is absorbed into the auxiliaries, which already carry it, so the average of the letter laws is again a channel law and dominates the per-letter averages of all four information slots. @audit:ok

                                                                    Used by
                                                                      theorem

                                                                      InformationTheory.Shannon.BroadcastChannel.bc_uv_logCard_mul_one_sub_errorProb_mem

                                                                      source
                                                                      {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hn : 0 < n) (hcard₁ : 2 M₁) (hcard₂ : 2 M₂) :
                                                                      ((Real.log M₁ * (1 - (c.averageErrorProb₁ W).toReal) - 2 * Real.log 2) / n, (Real.log M₂ * (1 - (c.averageErrorProb₂ W).toReal) - 2 * Real.log 2) / n) bcOuterRegionUV W

                                                                      The rate pair of a broadcast code, each coordinate discounted by the error probability of its own receiver and by two bits per letter, lies in the UV outer region. Bounding a Fano slack by log 2 + Pe * log M turns it into a discount on the rate of its own receiver, so neither coordinate refers to the message count of the other one. @audit:ok

                                                                      Used by
                                                                        theorem

                                                                        InformationTheory.Shannon.BroadcastChannel.bc_uv_rate_mem_of_mul_le_logCard

                                                                        source
                                                                        {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] [NeZero M₁] [NeZero M₂] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (hn : 0 < n) (hcard₁ : 2 M₁) (hcard₂ : 2 M₂) {r₁ r₂ : } (h₁ : n * r₁ Real.log M₁ * (1 - (c.averageErrorProb₁ W).toReal)) (h₂ : n * r₂ Real.log M₂ * (1 - (c.averageErrorProb₂ W).toReal)) :
                                                                        (r₁ - 2 * Real.log 2 / n, r₂ - 2 * Real.log 2 / n) bcOuterRegionUV W

                                                                        @audit:ok

                                                                        Used by

                                                                          The operational region lies in the UV outer region #

                                                                          theorem

                                                                          InformationTheory.Shannon.BroadcastChannel.bc_achievable_clamp_iff

                                                                          source
                                                                          {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] (W : BCChannel α β₁ β₂) (R₁ R₂ : ) :
                                                                          BCAchievable W R₁ R₂ BCAchievable W (max R₁ 0) (max R₂ 0)

                                                                          Clamping a rate pair into the first quadrant leaves achievability unchanged: at a nonpositive rate the message count ⌈exp (n * R)⌉ a code is asked to carry is one, the same value it takes at rate zero. @audit:ok

                                                                          Used by
                                                                            theorem

                                                                            InformationTheory.Shannon.BroadcastChannel.bc_uv_rate_mul_one_sub_mem_of_errorProb_le

                                                                            source
                                                                            {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] {M₁ M₂ n : } [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] (c : BroadcastCode M₁ M₂ n α β₁ β₂) (hn : 0 < n) {R₁ R₂ ε : } (hR₁ : 0 R₁) (hR₂ : 0 R₂) (hε1 : ε 1) (hM₁ : Real.exp (n * R₁)⌉₊ M₁) (hM₂ : Real.exp (n * R₂)⌉₊ M₂) (he₁ : (c.averageErrorProb₁ W).toReal ε) (he₂ : (c.averageErrorProb₂ W).toReal ε) :
                                                                            (R₁ * (1 - ε) - 2 * Real.log 2 / n, R₂ * (1 - ε) - 2 * Real.log 2 / n) bcOuterRegionUV W

                                                                            @audit:ok

                                                                            Used by
                                                                              theorem

                                                                              InformationTheory.Shannon.BroadcastChannel.bc_uv_quadrant_mem_of_achievable

                                                                              source
                                                                              {α : Type u_1} [MeasurableSpace α] {β₁ : Type u_2} [MeasurableSpace β₁] {β₂ : Type u_3} [MeasurableSpace β₂] [Fintype α] [MeasurableSingletonClass α] [StandardBorelSpace α] [Nonempty α] [Fintype β₁] [MeasurableSingletonClass β₁] [StandardBorelSpace β₁] [Nonempty β₁] [Fintype β₂] [MeasurableSingletonClass β₂] [StandardBorelSpace β₂] [Nonempty β₂] (W : BCChannel α β₁ β₂) [ProbabilityTheory.IsMarkovKernel W] {R₁ R₂ : } (hR₁ : 0 R₁) (hR₂ : 0 R₂) (hach : BCAchievable W R₁ R₂) :

                                                                              An achievable rate pair with nonnegative coordinates lies in the UV outer region. For every error tolerance and every block length the pair, discounted by the error probability of each receiver and by two bits per letter, is a point of the region; those points converge to the pair itself as the tolerance shrinks and the block length grows, and the region is closed. @audit:ok

                                                                              Used by
                                                                                theorem

                                                                                InformationTheory.Shannon.BroadcastChannel.bc_capacity_subset_uv

                                                                                source

                                                                                The operational capacity region of a broadcast channel is contained in the UV (Nair–El Gamal) outer region. Together with marton_region_subset_capacity this places the capacity region between Marton's inner bound and the UV outer bound as subsets of the plane.

                                                                                Nonpositive rates are covered without a sign hypothesis: clamping a rate pair into the first quadrant leaves achievability unchanged, and the outer region is a lower set, so the clamped pair carries the original one. @audit:ok

                                                                                Used by