Conditional entropy maximality from joint maximality
Provedmme_stothers_general_mode_conditional_entropy_maximalJoint entropy maximality implies conditional entropy maximality.
Fix an integral ten-class profile with strictly positive counts, a scale , and a second profile with the same nine-grade marginals. Suppose the normalized exact histogram of maximizes Shannon entropy among all probability distributions on the supported grade triples having its three grade marginals. Then, for every mode and every integral histogram with the prescribed marginals ,
the restrictions being to the supported triples whose -th coordinate is .
Both sides are times a conditional entropy , and by the chain rule each equals times the joint entropy minus times the entropy of the mode- marginal. The marginal term is the same on both sides -- that is what the shared-marginal hypothesis buys -- so the conditional comparison is exactly the joint one. Passing from the unconditional to the conditional form is what makes the entropy hypothesis usable by the completion-star count, which works one mode word at a time.
import Definitions.Def_mme_stothers_general_outer_profile import Definitions.Def_mme_modern_entropy_data open MME BigOperators set_option autoImplicit false
theorem mme_stothers_general_mode_conditional_entropy_maximal
(base bstar : Fin 10 → ℕ) (m : ℕ) (hm : 0 < m)
(hbase : ∀ r, 0 < base r)
(hsame : ∀ j, MME.StothersFourth.genMarginalBaseCount bstar j = MME.StothersFourth.genMarginalBaseCount base j)
(i : Fin 3)
(k : MME.StothersFourth.GenHashJointMultiplicityTable)
(hkMarginal : ∀ l : Fin 3, ∀ j : Fin 9,
(∑ sigma : {sigma : MME.StothersFourth.GenHashSupportTriple // sigma.1 l = j},
k sigma.1) = MME.StothersFourth.genMarginalCount base m j)
(hjoint : ∀ rho : MME.StothersFourth.GenHashSupportTriple → ℝ,
(∀ sigma, 0 ≤ rho sigma) →
(∑ sigma, rho sigma) = 1 →
(∀ l : Fin 3, ∀ j : Fin 9,
mme_modern_marginal (fun sigma : MME.StothersFourth.GenHashSupportTriple ↦ sigma.1 l)
rho j =
mme_modern_marginal (fun sigma : MME.StothersFourth.GenHashSupportTriple ↦ sigma.1 l)
(fun sigma ↦ (MME.StothersFourth.genHashTargetJointTable bstar m sigma : ℝ) /
(MME.StothersFourth.genOuterLength base m : ℝ)) j) →
mme_modern_entropyBits rho ≤
mme_modern_entropyBits
(fun sigma ↦ (MME.StothersFourth.genHashTargetJointTable bstar m sigma : ℝ) /
(MME.StothersFourth.genOuterLength base m : ℝ))) :
(∑ j : Fin 9, (MME.StothersFourth.genMarginalCount base m j : ℝ) *
mme_modern_entropyBits
(fun sigma : {sigma : MME.StothersFourth.GenHashSupportTriple // sigma.1 i = j} ↦
(k sigma.1 : ℝ) / (MME.StothersFourth.genMarginalCount base m j : ℝ))) ≤
∑ j : Fin 9, (MME.StothersFourth.genMarginalCount base m j : ℝ) *
mme_modern_entropyBits
(fun sigma : {sigma : MME.StothersFourth.GenHashSupportTriple // sigma.1 i = j} ↦
(MME.StothersFourth.genHashTargetJointTable bstar m sigma.1 : ℝ) /
(MME.StothersFourth.genMarginalCount base m j : ℝ)) := by
sorry