feat(Data/ENNReal, Probability/Independence): division decomposition and self-independence#35705
feat(Data/ENNReal, Probability/Independence): division decomposition and self-independence#35705jdhart81 wants to merge 8 commits intoleanprover-community:masterfrom
Conversation
Add `ENNReal.div_eq_div_mul_div`: division decomposition `a / c = a / b * (b / c)` when `b` is finite and nonzero. Extracted from formal verification of "The Intelligence Bound" (Hart 2025).
Add `IndepFun.of_self`: if Y is independent of itself under a probability measure, then X and Y are independent. Self-independence implies Y is a.e. constant. Extracted from formal verification of "The Intelligence Bound" (Hart 2025).Added theorem for independence of random variables when one is self-independent.
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary b73ba7707aImport changes for modified filesNo significant changes to the import graph Import changes for all files
Declarations diff
You can run this locally as follows## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>
## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>The doc-module for Increase in tech debt: (relative, absolute) = (1.00, 0.01)
Current commit 0dcaf7fd5b You can run this locally as
|
…ove trailing artifacts
…n.of_self Fix CI build error: measure_congr is a term-mode function, not rewritable. Also remove unused simp arguments (Set.inter_comm, measure_inter_add_diff).
…cated toReal_eq_toReal Address CI linter failures: - set_option linter.flexible false for IndepFun.of_self proof - Replace deprecated ENNReal.toReal_eq_toReal with toReal_eq_toReal_iff'
Two general-purpose lemmas extracted from a formal verification of "The Intelligence Bound" (Hart 2025).
New lemmas
ENNReal.div_eq_div_mul_div: Division decompositiona / c = a / b * (b / c)whenb ≠ 0andb ≠ ⊤. Added toMathlib.Data.ENNReal.Inv.IndepFun.of_self: IfYis independent of itself under a probability measure, thenXandYare independent. Self-independence impliesYis a.e. constant. Added toMathlib.Probability.Independence.Basic.Context
These lemmas arose in formalizing information-theoretic results where:
References