Degree data against a stationary partner profile
Provedmme_stothers_general_bounded_degree_dataThe degree data of a general profile against a stationary partner.
Fix two strictly positive integral ten-class profiles and with the same nine-grade marginals, and suppose every -cell histogram on that marginal fibre has conditional entropy at most 's. Then for all large scales , with and :
- the exact-profile targets of number exactly , with ;
- ;
- every completion star has at most members;
- and .
This is exactly the input shape of the outer hash budget with separated degrees, taken at and . The polynomial cushion in is what makes the comparison unconditional: the two star degrees are comparable only up to a polynomial factor, since entropy maximality is an asymptotic statement, and the cushion absorbs that. It costs nothing downstream, being swallowed by the loss.
Since the two profiles share their marginals they also share and hence the address length, which is what lets the two sides be compared at the same scale.
import Definitions.Def_mme_stothers_general_outer_profile import Definitions.Def_mme_modern_entropy_data import Mathlib.Data.Nat.Factorial.NatCast open MME BigOperators Filter set_option autoImplicit false
theorem mme_stothers_general_bounded_degree_data
(base bstar : Fin 10 → ℕ)
(hbase : ∀ r, 0 < base r) (hbstar : ∀ r, 0 < bstar r)
(hsame : ∀ j, MME.StothersFourth.genMarginalBaseCount bstar j = MME.StothersFourth.genMarginalBaseCount base j)
(hcond : ∀ (m : ℕ) (k : MME.StothersFourth.GenHashJointMultiplicityTable),
(∀ l : Fin 3, ∀ j : Fin 9,
(∑ sigma : {sigma : MME.StothersFourth.GenHashSupportTriple // sigma.1 l = j},
k sigma.1) = MME.StothersFourth.genMarginalCount base m j) →
∀ i : Fin 3,
(∑ 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 : ℝ))) :
∀ᶠ m : ℕ in atTop,
let N := MME.StothersFourth.genOuterLength base m
let V : ℝ :=
(N.factorial : ℝ) /
∏ j : Fin 9, ((MME.StothersFourth.genMarginalCount base m j).factorial : ℝ)
(Nat.card
{a : MME.StothersFourth.GenMarginalSupportedAddress base m //
MME.StothersFourth.GenHasExactJointProfile a} : ℝ) =
V * (MME.StothersFourth.genHashTargetStarDegree base m : ℝ) ∧
1 ≤ MME.StothersFourth.genHashTargetStarDegree base m ∧
MME.StothersFourth.genHashTargetStarDegree base m ≤
(6 * (N + 1)) ^ 100 * MME.StothersFourth.genHashTargetStarDegree bstar m ∧
(∀ i : Fin 3,
∀ a : {a : MME.StothersFourth.GenMarginalSupportedAddress base m //
MME.StothersFourth.GenHasExactJointProfile a},
Nat.card
{b : MME.StothersFourth.GenMarginalSupportedAddress base m //
b.1 i = a.1.1 i} ≤
(6 * (N + 1)) ^ 100 *
((6 * (N + 1)) ^ 100 * MME.StothersFourth.genHashTargetStarDegree bstar m)) ∧
(6 * (N + 1)) ^ 100 *
((6 * (N + 1)) ^ 100 * MME.StothersFourth.genHashTargetStarDegree bstar m) ≤
5 ^ (1000 * N) := by
sorry