Support entropy of a profile equals log 3 minus its entropy product
Provedmme_stothers_general_support_entropy_eq_entropyProductThe Shannon entropy of a profile's grade histogram is .
Let be a strictly positive integral ten-class profile, , and the normalised profile. The fourth power has exactly forty-five supported ordered grade triples — those with — and the profile assigns to each the multiplicity , giving a probability vector on the forty-five cells after dividing by the address length .
Then
where is entropy in bits and is the entropy product of Davie--Stothers.
This is the dictionary between the two ways the same quantity appears in the argument. The extraction counts addresses, so it meets the entropy of the forty-five-cell histogram; the rate formula of Equation (5.3) is written multiplicatively through . The identity says they differ only by the constant , which cancels in every comparison of two profiles on the same marginal fibre. In particular, for two such profiles and ,
which is exactly the exponential rate of the star-degree ratio appearing in the general-profile outer capacity.
Formalization note. The combinatorial input is that the ten cyclic classes partition the forty-five supported triples, with the orbit of class having exactly elements; both facts are finite checks. The constant comes from the normalisation rather than , and the cancellation is what makes it a constant rather than a profile-dependent term.
import Definitions.Def_mme_stothers_general_outer_profile import Definitions.Def_mme_modern_entropy_data import Mathlib.Analysis.SpecialFunctions.Log.NegMulLog open MME BigOperators set_option autoImplicit false
theorem mme_stothers_general_support_entropy_eq_entropyProduct
(base : Fin 10 → ℕ) (hbase : ∀ r, 0 < base r) :
Real.log 2 *
mme_modern_entropyBits
(fun sigma : MME.StothersFourth.GenHashSupportTriple ↦
(MME.StothersFourth.genHashTargetJointTable base 1 sigma : ℝ) /
(MME.StothersFourth.genOuterLength base 1 : ℝ)) =
Real.log 3 -
Real.log (MME.StothersFourth.entropyProduct
(MME.StothersFourth.genProfileB base)) := by
sorry