Phase 1: Equiprobable Characterization #
theorem
LeanPool.Shannon1948Formalization.relabel_compose_uniform_eq_uniform_mul
(n m : ℕ+)
:
relabelProb (sigmaConstFinEquivFinMul n m) (composeProb (uniformPNat n) fun (x : Fin ↑n) => uniformPNat m) = uniformPNat (n * m)
theorem
LeanPool.Shannon1948Formalization.Apos_mul
(H : {α : Type} → [inst : Fintype α] → ProbDist α → ℝ)
(hH : ShannonEntropyAxioms fun {α : Type} [Fintype α] => H)
(n m : ℕ+)
:
theorem
LeanPool.Shannon1948Formalization.Apos_pos_of_one_lt
(H : {α : Type} → [inst : Fintype α] → ProbDist α → ℝ)
(hH : ShannonEntropyAxioms fun {α : Type} [Fintype α] => H)
{n : ℕ+}
(hn : 1 < n)
:
Strict monotonicity gives positivity of Apos for any alphabet size > 1.
noncomputable def
LeanPool.Shannon1948Formalization.K
(H : {α : Type} → [inst : Fintype α] → ProbDist α → ℝ)
:
The canonical positive scale factor from the two-outcome uniform case.
Equations
- LeanPool.Shannon1948Formalization.K H = LeanPool.Shannon1948Formalization.Apos (fun {α : Type} [Fintype α] => H) 2 / Real.log 2
Instances For
theorem
LeanPool.Shannon1948Formalization.Apos_ratio_logb_close
(H : {α : Type} → [inst : Fintype α] → ProbDist α → ℝ)
(hH : ShannonEntropyAxioms fun {α : Type} [Fintype α] => H)
{s t n : ℕ+}
(hs : 1 < s)
:
theorem
LeanPool.Shannon1948Formalization.Apos_ratio_eq_logb
(H : {α : Type} → [inst : Fintype α] → ProbDist α → ℝ)
(hH : ShannonEntropyAxioms fun {α : Type} [Fintype α] => H)
{s t : ℕ+}
(hs : 1 < s)
:
theorem
LeanPool.Shannon1948Formalization.continuous_entropyNat
{α : Type}
[Fintype α]
:
Continuous fun (p : ProbDist α) => entropyNat p