Tracker for declarations kept under Graphon/ForMathlib/: statements that are signature-free, depend only on Mathlib, and are plausible upstream contributions. Nothing here is being upstreamed yet. This issue records candidacy and the promotion bar; the actual PR to Mathlib is a separate decision, taken per declaration and not before the bar below is met.
Promotion bar
A candidate is marked Hardened only once it has been consumed independently by at least two real call sites — for the current batch, I(1) and a later rank transition. Two independent consumers are what distinguish a tested orientation of the API from a speculative one; a single consumer tells us only that the statement was convenient for the theorem it was extracted from. Until then a candidate stays Provisional and its signature may change freely.
Current candidates
From #159 (Graphon/ForMathlib/RelativeFactorCoupling.lean):
Not candidates
Recorded to keep the boundary explicit — these either have one consumer or already compose cleanly from Mathlib primitives, and abstracting them now would cost more than it saves:
Related: #107, #140, #159.
Tracker for declarations kept under
Graphon/ForMathlib/: statements that are signature-free, depend only on Mathlib, and are plausible upstream contributions. Nothing here is being upstreamed yet. This issue records candidacy and the promotion bar; the actual PR to Mathlib is a separate decision, taken per declaration and not before the bar below is met.Promotion bar
A candidate is marked Hardened only once it has been consumed independently by at least two real call sites — for the current batch, I(1) and a later rank transition. Two independent consumers are what distinguish a tested orientation of the API from a speculative one; a single consumer tells us only that the statement was convenient for the theorem it was extracted from. Until then a candidate stays Provisional and its signature may change freely.
Current candidates
From #159 (
Graphon/ForMathlib/RelativeFactorCoupling.lean):ProbabilityTheory.map_condDistrib_id— Provisional. Fibre concentration:(condDistrib id q μ).map q =ᵐ[μ.map q] Kernel.id. Belongs besidecondDistrib_compandcondDistrib_selfinMathlib/Probability/Kernel/CondDistrib.lean; it is the missing "conditioning onqpins downq" statement, and both supporting lemmas (condDistrib_id_apply_fibre,ae_ae_eq_condDistrib_id) are immediate from it.ProbabilityTheory.relativeFactorCouplingand its API — Provisional. The relatively independent joining over a common factor, with both marginals, the common-factor identity, andcondIndepFun_fst_snd_relativeFactorCoupling. Mathlib has the disintegration and conditional-independence machinery but not this canonical joining.exists_relativeFactorCoupling_uniform01(feat: relatively independent joinings over a common factor (#107) #159), which is a specialization rather than an independent use.Not candidates
Recorded to keep the boundary explicit — these either have one consumer or already compose cleanly from Mathlib primitives, and abstracting them now would cost more than it saves:
iCondIndepFun_exactMap_singleton);Kernel.fst_prod/Kernel.snd_prod;Related: #107, #140, #159.