InformationTheory

InformationTheory.Shannon.AWGN.MIBridge

source

AWGN channel mutual information closed form #

For the AWGN channel Y = X + Z with Gaussian input X โˆผ ๐’ฉ(0, P) and independent noise Z โˆผ ๐’ฉ(0, N), the channel mutual information has the closed form

I(X ; Y) = h(Y) โˆ’ h(Y | X) = h(๐’ฉ(0, P + N)) โˆ’ h(๐’ฉ(0, N)).

This identity is reduced to three explicit primitive predicates, each capturing one fundamental fact about the AWGN structure:

  1. IsAwgnOutputGaussian โ€” the channel output marginal (gaussianReal 0 P โŠ—โ‚˜ awgnChannel N).snd = gaussianReal 0 (P+N) (Gaussian + Gaussian convolution).
  2. IsAwgnMIDecomp โ€” the channel MI splits as I(X;Y).toReal = h(Y) โˆ’ h(Y|X) (mutualInfoOfChannel โ†” entropy bridge), where h(Y|X) := โˆซ h(awgnChannel N x) โˆ‚(gaussianReal 0 P) is the integral of fiberwise differential entropies.
  3. IsAwgnCondEntropyEqNoise โ€” the conditional entropy equals the noise entropy: โˆซ h(awgnChannel N x) โˆ‚(gaussianReal 0 P) = h(๐’ฉ(0, N)) (translation invariance of differentialEntropy, integrated against the input).

The combinator awgn_mi_bridge_of_primitives chains these three into the closed-form mutual-information identity.

Main definitions #

Main statements #

Approach #

                                     โ”Œโ”€โ”€ IsAwgnOutputGaussian P N h_meas
                                     โ”‚   = (jointDistribution ...).snd
                                     โ”‚     = gaussianReal 0 (P+N)
mutual-information identity:         โ”‚
  I(X;Y).toReal                      โ”œโ”€โ”€ IsAwgnMIDecomp P N h_meas
  = h(N(0,P+N)) โˆ’ h(N(0,N))   โ—€โ”€โ”€โ”€โ”€  โ”‚   = I(X;Y).toReal
                                     โ”‚     = h(output) โˆ’ h(Y|X)
                                     โ”‚
                                     โ””โ”€โ”€ IsAwgnCondEntropyEqNoise P N h_meas
                                         = h(Y|X) = h(N(0,N))

Pipeline (proof body of awgn_mi_bridge_of_primitives):

I.toReal = h(out) โˆ’ h(Y|X)                 -- IsAwgnMIDecomp
         = h(gaussianReal 0 (P+N)) โˆ’ h(Y|X) -- IsAwgnOutputGaussian (rewrites out)
         = h(gaussianReal 0 (P+N)) โˆ’ h(N)   -- IsAwgnCondEntropyEqNoise

Implementation notes #

The mean-translation invariance of Gaussian differential entropy, differentialEntropy (gaussianReal m v) = differentialEntropy (gaussianReal 0 v), follows from differentialEntropy_map_add_const and gaussianReal_map_const_add; it is published here as differentialEntropy_gaussianReal_mean_invariant and brings every channel fiber to the noise-only form.

theorem

InformationTheory.Shannon.AWGN.differentialEntropy_gaussianReal_mean_invariant

source

Mean translation invariance of Gaussian differential entropy: h(๐’ฉ(m, v)) = h(๐’ฉ(0, v)).

Used by
    theorem

    InformationTheory.Shannon.AWGN.differentialEntropy_awgnChannel_apply_eq_noise

    source

    Each AWGN channel fiber has the same differential entropy as the noise alone: h(awgnChannel N x) = h(๐’ฉ(0, N)).

    Used by

      Three primitive predicates #

      def

      InformationTheory.Shannon.AWGN.IsAwgnOutputGaussian

      source
      (P : โ„) (N : NNReal) (h_meas : IsAwgnChannelMeasurable N) :

      The channel output marginal under Gaussian input gaussianReal 0 P equals the convolution gaussianReal 0 (P + N).

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

          InformationTheory.Shannon.AWGN.IsAwgnMIDecomp

          source
          (P : โ„) (N : NNReal) (h_meas : IsAwgnChannelMeasurable N) :

          The channel mutual information splits as I(X;Y) = h(Y) โˆ’ h(Y|X), where h(Y|X) is the integral of fiberwise differential entropies against the input law. This is the continuous analogue of mutualInfoOfChannel_eq_HX_add_HY_sub_HZ.

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

              InformationTheory.Shannon.AWGN.IsAwgnCondEntropyEqNoise

              source
              (P : โ„) (N : NNReal) (h_meas : IsAwgnChannelMeasurable N) :

              The integral of fiberwise differential entropies against the Gaussian input collapses to the noise-only entropy h(๐’ฉ(0, N)).

              By differentialEntropy_awgnChannel_apply_eq_noise the integrand is identically the constant h(๐’ฉ(0, N)), so this predicate holds for any probability-measure input; it is kept as a named primitive for symmetry with the other two.

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

                  InformationTheory.Shannon.AWGN.awgn_cond_entropy_eq_noise_entropy_of_const

                  source
                  (P : โ„) (N : NNReal) (hN : N โ‰  0) (h_meas : IsAwgnChannelMeasurable N) :

                  The integral of fiberwise differential entropies under Gaussian input collapses to h(๐’ฉ(0, N)), discharging IsAwgnCondEntropyEqNoise.

                  Used by
                    theorem

                    InformationTheory.Shannon.AWGN.awgn_mi_bridge_of_primitives

                    source

                    The closed-form AWGN channel mutual information I(X;Y).toReal = h(๐’ฉ(0, P+N)) โˆ’ h(๐’ฉ(0, N)), obtained by chaining the three primitive predicates:

                    I.toReal = h(out) โˆ’ h(Y|X)                    [IsAwgnMIDecomp]
                             = h(๐’ฉ(0, P+N)) โˆ’ h(Y|X)               [IsAwgnOutputGaussian]
                             = h(๐’ฉ(0, P+N)) โˆ’ h(๐’ฉ(0, N))           [IsAwgnCondEntropyEqNoise]
                    
                    Used by
                      theorem

                      InformationTheory.Shannon.AWGN.awgn_mi_gaussian_closed_form_of_primitives

                      source
                      (P : โ„) (hP_pos : 0 < P) (N : NNReal) (hN : โ†‘N โ‰  0) (h_meas : IsAwgnChannelMeasurable N) (h_out : IsAwgnOutputGaussian P N h_meas) (h_decomp : IsAwgnMIDecomp P N h_meas) :

                      The Gaussian-input AWGN channel mutual information equals (1/2) log(1 + P/N), obtained by combining the three primitives into awgn_mi_bridge_of_primitives and running the Gaussian closed-form differentialEntropy_gaussianReal log algebra inline.

                      Used by
                        theorem

                        InformationTheory.Shannon.AWGN.awgn_capacity_closed_form_of_primitives

                        source
                        (P : โ„) (hP : 0 < P) (N : NNReal) (hN : โ†‘N โ‰  0) (h_out : IsAwgnOutputGaussian P N โ‹ฏ) (h_decomp : IsAwgnMIDecomp P N โ‹ฏ) (h_bdd : BddAbove ((fun (p : MeasureTheory.Measure โ„) => (ChannelCoding.mutualInfoOfChannel p (awgnChannel N โ‹ฏ)).toReal) '' awgnPowerConstraintSet P)) (h_max_ent : โˆ€ p โˆˆ awgnPowerConstraintSet P, (ChannelCoding.mutualInfoOfChannel p (awgnChannel N โ‹ฏ)).toReal โ‰ค 1 / 2 * Real.log (1 + P / โ†‘N)) :
                        awgnCapacity P N โ‹ฏ = 1 / 2 * Real.log (1 + P / โ†‘N)

                        The AWGN capacity closed form, re-published with the Gaussian mutual-information fact reduced to the two primitives IsAwgnOutputGaussian and IsAwgnMIDecomp. The remaining hypotheses (h_bdd, h_max_ent) are unchanged.

                        @audit:superseded-by(awgn_capacity_closed_form_genuine)

                        Used by