Samplinglib
Lean gate not recorded for this source state main · 0e31a3cda412
production module

AutoSamplingTheory.TechnicalLemmas.Measure.CommonMassNormalizedProduct

1 named declarations scanned from AutoSamplingTheory/TechnicalLemmas/Measure/CommonMassNormalizedProduct.lean.

Imports
Imported by
Placeholder scan
0 declaration(s) flagged
Gate status
Partial

Declarations

theorem AutoSamplingTheory.TechnicalLemmas.Measure.CommonMassNormalizedProduct.commonMassProduct_toMeasure_eq_mass_smul_normalized_prod Partial Not mapped

- The equal-mass finite product is the common mass times the product of the normalized probability laws.

theorem commonMassProduct_toMeasure_eq_mass_smul_normalized_prod
    (mu : FiniteMeasure X) (nu : FiniteMeasure Y)
    (hmass : mu.mass = nu.mass) (hpos : 0 < mu.mass) :
    (commonMassProduct mu nu : Measure (X × Y)) =
      (mu.mass : ℝ≥0) •
        ((mu.normalize : Measure X).prod (nu.normalize : Measure Y)) := by
  have hmu :
      (mu : Measure X) =
        (mu.mass : ℝ≥0) • (mu.normalize : Measure X) := by
    have h := congrArg
      (fun eta : FiniteMeasure X => (eta : Measure X))
      mu.self_eq_mass_smul_normalize
    simpa using h
  have hnu :
      (nu : Measure Y) =
        (mu.mass : ℝ≥0) • (nu.normalize : Measure Y) := by
    have h := congrArg
      (fun eta : FiniteMeasure Y => (eta : Measure Y))
      nu.self_eq_mass_smul_normalize
    simpa [← hmass] using h
  change (mu.mass⁻¹ : ℝ≥0) • ((mu : Measure X).prod (nu : Measure Y)) = _
  rw [hmu, hnu, Measure.prod_smul_left, Measure.prod_smul_right]
  simp [ne_of_gt hpos, smul_smul, mul_assoc]

end

end CommonMassNormalizedProduct
end Measure
end TechnicalLemmas
end AutoSamplingTheory