Section 2.1: classical SSA equality and Markov condition
OpenQAlgorithms.Papers.Independent.Intakethird100.P51.classicalSSALet be a probability mass function on finite nonempty alphabets, with marginals . Write for Shannon entropy in nats. Then
Equality is equivalent to each of the following identities holding for every :
The last identity is the Markov condition . All marginals and conditional probabilities are computed from the joint law.
import Definitions.Def_QAlgorithms_Papers_Independent_Intakethird100_P51
noncomputable section
open scoped Matrix ComplexOrder ComplexConjugate Matrix.Norms.L2Operator
open MeasureTheory
namespace QAlgorithms.Papers.Independent.Intakethird100.P51
attribute [local instance] Classical.propDecidable Classical.decEq
-- Exact interfaces from the frozen accepted library; no local redeclarations.
open QAlgorithms.Papers.Independent.Information100.P63 (Mat)
open QAlgorithms.Papers.Independent.Information100.P56 (entropy holevo IsLaw)
open QAlgorithms.Papers.Independent.Information100.P27 (average)
open QAlgorithms.Papers.Independent.Dependency50.P21 (relativeEntropy marginalAB channelAdjoint)
open QAlgorithms.Papers.Independent.Dependency50.P35 (marginalAC)
open QAlgorithms.Papers.Independent.Gap48.P19 (shannonNats)
open QAlgorithms.Papers.Independent.Gap48.P33 (measurementInformation)
section Statements
variable {A B C D J K O : Type}
variable [Fintype A] [Fintype B] [Fintype C] [Fintype D] [Fintype J] [Fintype K] [Fintype O]
variable [DecidableEq A] [DecidableEq B] [DecidableEq C] [DecidableEq D]
variable [DecidableEq J] [DecidableEq K] [DecidableEq O]
/-- Section 2.1, equations (9)–(12), PDF p.6: classical SSA and all three equivalent
Markov equality forms. Marginals and conditional probabilities are computed from p. -/
theorem classicalSSA [Nonempty A] [Nonempty B] [Nonempty C] (p : A × (B × C) → ℝ) (hp : ∀ x, 0 < p x) (hs : ∑ x, p x = 1) :
let ab := fun a b => ∑ c, p (a, (b, c))
let bc := fun b c => ∑ a, p (a, (b, c))
let pb := fun b => ∑ a, ∑ c, p (a, (b, c))
let gap := shannonNats (fun x : A × B => ab x.1 x.2) +
shannonNats (fun x : B × C => bc x.1 x.2) - shannonNats p - shannonNats pb
0 ≤ gap ∧
(gap = 0 ↔ ∀ a b c, p (a, (b, c)) = ab a b * bc b c / pb b) ∧
(gap = 0 ↔ ∀ a b c, Real.log (p (a, (b, c))) - Real.log (ab a b) =
Real.log (bc b c) - Real.log (pb b)) ∧
(gap = 0 ↔ ∀ a b c, p (a, (b, c)) / ab a b = bc b c / pb b) := by sorry
end Statements
end QAlgorithms.Papers.Independent.Intakethird100.P51
end
Read-back
What the Lean code literally says, in plain math · gpt-6.1-sol
For all nonempty finite types and every strictly positive real function on satisfying , define
and define and . The theorem asserts and separately asserts each of the following equivalences:
Strict positivity and nonempty factors ensure that all displayed marginal values and denominators are positive. Singleton factors are included, while distributions with any zero entry are excluded.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.