1.1. 1. The setup on a connected support
Setup, connected support. Given a law
pwhose supportSis connected (as a bipartite row-column graph),
there is an attained latent
LwithM+B=\tau(p), priors\pi_i>0, distinct components (duplicates merged),
each a contact of one common feasible kernel
w>0onSand positive onS, and posterior rows positive on
S.
The proof is a supporting-plane argument and a normalization argument, with the support made explicit. Attainment and the affine minorant hold for every finite law; connectedness is needed only to make all contacts positive.
Units and conventions are those of section 0 of the contact page: entropies, mutual informations and
relative entropies are in nats, conditional sums range over positive-probability conditioning events, and
0\ln0=0. The entropy H(q) and the relative entropy D(a\Vert b), for probability laws a,b with
\mathrm{supp}\,a\subseteq\mathrm{supp}\,b, are as in (D2). All alphabets are finite and nonempty; X,Y denote
both the coordinates and their alphabets, and Z=(X,Y). For a probability law p on X\times Y and any
probability law q on X\times Y, with marginals q_X,q_Y, set
\phi(q)=2H(q_X)+2H(q_Y)-3H(q),\qquad
c(p)=2H(p)-H(p_X)-H(p_Y).
\qquad \text{(S1.A)}
A finite latent L of p, its budgets M_L=I(X;Y\mid L) and B_L=I(L;X\mid Y)+I(L;Y\mid X), and the
stochastic optimum \tau(p)=\inf_L(M_L+B_L) are as in (D3); concretely, a finite latent is a finite nonempty label set I, probability weights
(\pi_i)_{i\in I} and probability laws (q_i)_{i\in I} on X\times Y with p=\sum_i\pi_iq_i and
\mathbb P(L=i,Z=z)=\pi_iq_i(z). Zero priors are allowed here; their component laws may be chosen arbitrarily.
Lean: a finite latent is stoch_to_det.Latent (NaturalLatents/Upstream/Functionals.lean); mediation,
redundancy, negPhiNat and psiNat are in NaturalLatents/General/Definitions.lean. negPhiNat q is
-(nats (stoch_to_det.Phi q)) and psiNat p is nats (stoch_to_det.Psi p), with nats the multiplication by
Real.log 2 of NaturalLatents/General/Nats.lean, where the bit-valued
stoch_to_det.Phi =3H(q)-2H(q_X)-2H(q_Y) and stoch_to_det.Psi are in NaturalLatents/Upstream/Entropy.lean;
the page's \phi is therefore minus upstream's Phi, converted to nats.
Some letters on this page are local: a,b in D(a\Vert b) and (S1.P) are probability laws, not the race exponent
a or the quadratic b of (A2.1); u,v are probability laws on X and Y, not the price bound u;
c(p) is the constant term of (S1.A), not the constant of the theorem; R(p) is the value (S1.H), not a contact;
the d of Carathéodory's theorem is a dimension, not the mismatch; E is the set (S1.K) and \lambda a
coefficient in (S1.L); and \Phi, \Psi in the Lean notes are upstream's bit-valued Phi and Psi, not the
separation price \Psi of (A2.1).
Write S=\{z:p(z)>0\}. This set is nonempty. Its active row and column alphabets are
X_S=\{x:\exists y,(x,y)\in S\} and Y_S=\{y:\exists x,(x,y)\in S\}. Connectedness means that the bipartite graph
with vertices X_S\sqcup Y_S and edges S is connected; equivalently, the cells of S are connected by
shared-row and shared-column steps. Unused rows and columns do not create vertices in this graph. We keep the original
alphabets in the formulas, so all laws on an active alphabet are extended by zero on unused coordinates.
Lean: the support is stoch_to_det.support, and stoch_to_det.IsConnected
(NaturalLatents/Upstream/Functionals.lean) asks that any two cells of S be joined by a chain of cells of S,
each sharing a row or a column with the next (stoch_to_det.Adj); this is the cell form of the definition above.
For a kernel w that is positive on S and zero outside S, and for probability laws u on X and v
on Y, write
\Lambda(w;u,v):=\sum_{(x,y)\in S}w(x,y)u(x)^{2/3}v(y)^{2/3}.
\qquad \text{(S1.B)}
Feasibility and contact are defined in (C1.1) and (C1.2) on the
contact page: w is feasible when \Lambda(w;u,v)\le1
for every such u,v, and a contact of w is a probability law supported on S that satisfies the contact
equation (C1.2) on S. The contact equation then also holds off S, where both sides vanish. On this page both are
read on the original alphabets: feasibility for all u,v on X and Y implies the required feasibility on the
active alphabets, and allowing unused coordinates in u,v does not impose any positivity requirement on them. Unlike
the positive contacts of the contact page, defined after unused rows and columns are removed, a contact here keeps the
original alphabets and is not assumed positive on S; Lemma S1.4 proves that positivity.
Lean: \Lambda is stoch_to_det.Lambda, feasibility is stoch_to_det.Feasible, which also records w>0 on
S, and the contact property is stoch_to_det.IsContact (a probability law, zero off S, satisfying the contact
equation on S), all in NaturalLatents/Upstream/Duality.lean. Neither constrains w outside S.
-
NaturalLatents.General.score_nats[complete] -
NaturalLatents.General.mediation_add_redundancy_eq_score[complete] -
stoch_to_det.Latent.score_eq[complete]
Lemma S1.1 (universal finite entropy cost identity). For every finite nonempty X,Y, every probability law p
on X\times Y, and every finite latent L of p, including zero priors,
M_L+B_L=c(p)+\sum_{i\in I}\pi_i\phi(q_i).
\qquad \text{(S1.C)}
Lean code for Theorem1.1.1●3 theorems
Associated Lean declarations
-
NaturalLatents.General.score_nats[complete]
-
NaturalLatents.General.mediation_add_redundancy_eq_score[complete]
-
stoch_to_det.Latent.score_eq[complete]
-
NaturalLatents.General.score_nats[complete] -
NaturalLatents.General.mediation_add_redundancy_eq_score[complete] -
stoch_to_det.Latent.score_eq[complete]
-
theoremdefined in NaturalLatents/General/Definitions.leancomplete
theorem NaturalLatents.General.score_nats {X Y : Type} [Fintype X] [Fintype Y] [DecidableEq X] [DecidableEq Y] (p : NaturalLatents.General.Law X Y) (hp : stoch_to_det.IsPMF p) (L : stoch_to_det.Latent p) : NaturalLatents.General.mediation L + NaturalLatents.General.redundancy L = NaturalLatents.General.psiNat p + ∑ i, L.prior i * NaturalLatents.General.negPhiNat (L.comp i)
theorem NaturalLatents.General.score_nats {X Y : Type} [Fintype X] [Fintype Y] [DecidableEq X] [DecidableEq Y] (p : NaturalLatents.General.Law X Y) (hp : stoch_to_det.IsPMF p) (L : stoch_to_det.Latent p) : NaturalLatents.General.mediation L + NaturalLatents.General.redundancy L = NaturalLatents.General.psiNat p + ∑ i, L.prior i * NaturalLatents.General.negPhiNat (L.comp i)
The score identity in nats: `mediation L + redundancy L = psiNat p + ∑ i, prior i * negPhiNat (comp i)` for every latent `L` of a probability law `p`; this is the corresponding bit-valued identity converted by `nats`.
-
theoremdefined in NaturalLatents/General/Definitions.leancomplete
theorem NaturalLatents.General.mediation_add_redundancy_eq_score {X Y : Type} [Fintype X] [Fintype Y] [DecidableEq X] [DecidableEq Y] {p : NaturalLatents.General.Law X Y} (L : stoch_to_det.Latent p) : NaturalLatents.General.mediation L + NaturalLatents.General.redundancy L = NaturalLatents.General.nats L.score
theorem NaturalLatents.General.mediation_add_redundancy_eq_score {X Y : Type} [Fintype X] [Fintype Y] [DecidableEq X] [DecidableEq Y] {p : NaturalLatents.General.Law X Y} (L : stoch_to_det.Latent p) : NaturalLatents.General.mediation L + NaturalLatents.General.redundancy L = NaturalLatents.General.nats L.score
-
theoremdefined in NaturalLatents/Upstream/Envelope.leancomplete
theorem stoch_to_det.Latent.score_eq.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) (V : stoch_to_det.Latent p) : V.score = stoch_to_det.Psi p - ∑ v, V.prior v * stoch_to_det.Phi (V.comp v)
theorem stoch_to_det.Latent.score_eq.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) (V : stoch_to_det.Latent p) : V.score = stoch_to_det.Psi p - ∑ v, V.prior v * stoch_to_det.Phi (V.comp v)
Decomposition identity. `S_p(V) = Ψ(p) − ∑ᵥ λᵥ Φ(qᵥ)`.
Expand the finite conditional entropies and collect the three mutual information terms. See the page section.
Lean: score_nats (NaturalLatents/General/Definitions.lean), with mediation_add_redundancy_eq_score identifying
mediation L + redundancy L with nats L.score; it converts the bit-valued identity stoch_to_det.Latent.score_eq
(NaturalLatents/Upstream/Envelope.lean), score =\Psi(p)-\sum_i\pi_i\Phi(q_i), by nats, rather than expanding
the entropies as above.
-
stoch_to_det.exists_tau_optimal_latent[complete] -
stoch_to_det.tau_eq_Psi_sub_envelope[complete] -
stoch_to_det.exists_common_contact_pair[complete]
Lemma S1.2 (attainment and a finite affine minorant). For every finite nonempty X,Y and every probability law
p on X\times Y, there are a finite latent decomposition of p, positive priors \pi_i, pairwise distinct
component laws q_i supported on S=\mathrm{supp}\,p, and a real vector \ell on the whole rectangle, such
that M_L+B_L=\tau(p), \ell=0 off S, and
\phi(q)\ge\ell\cdot q\quad(q\in\Delta_S),\qquad
\ell\cdot p=R(p),\qquad
\phi(q_i)=\ell\cdot q_i\quad(i\in I).
\qquad \text{(S1.F)}
Here \Delta_S denotes the probability simplex on S, embedded by zero extension,
\ell\cdot q=\sum_{z\in S}\ell_zq(z) on that simplex, and R(p) is the infimum (S1.H) of the average of \phi
over finite mixtures in \Delta_S with barycenter p, attained in the proof below. The minorant in (S1.F) is asserted only on \Delta_S. No connectedness is assumed.
Lean code for Theorem1.1.2●3 theorems
Associated Lean declarations
-
stoch_to_det.exists_tau_optimal_latent[complete]
-
stoch_to_det.tau_eq_Psi_sub_envelope[complete]
-
stoch_to_det.exists_common_contact_pair[complete]
-
stoch_to_det.exists_tau_optimal_latent[complete] -
stoch_to_det.tau_eq_Psi_sub_envelope[complete] -
stoch_to_det.exists_common_contact_pair[complete]
-
theoremdefined in NaturalLatents/Upstream/Envelope.leancomplete
theorem stoch_to_det.exists_tau_optimal_latent.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : ∃ V, V.score = stoch_to_det.tau p
theorem stoch_to_det.exists_tau_optimal_latent.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : ∃ V, V.score = stoch_to_det.tau p
Attainment: the infimum defining `τ` is attained by a finite latent. Only finiteness of the attaining latent is used downstream; a sharper `|𝒮| + 1` cardinality bound is not needed.
-
theoremdefined in NaturalLatents/Upstream/Envelope.leancomplete
theorem stoch_to_det.tau_eq_Psi_sub_envelope.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : stoch_to_det.tau p = stoch_to_det.Psi p - stoch_to_det.concaveEnvelopePhi p
theorem stoch_to_det.tau_eq_Psi_sub_envelope.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : stoch_to_det.tau p = stoch_to_det.Psi p - stoch_to_det.concaveEnvelopePhi p
Envelope identity: `τ(p) = Ψ(p) − Φ̂(p)`.
-
theoremdefined in NaturalLatents/Upstream/Duality.leancomplete
theorem stoch_to_det.exists_common_contact_pair.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : ∃ L w, stoch_to_det.Feasible (stoch_to_det.support p) w ∧ L.score = stoch_to_det.tau p ∧ ∀ (v : L.ι), L.prior v ≠ 0 → stoch_to_det.IsContact (stoch_to_det.support p) w (L.comp v)
theorem stoch_to_det.exists_common_contact_pair.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : ∃ L w, stoch_to_det.Feasible (stoch_to_det.support p) w ∧ L.score = stoch_to_det.tau p ∧ ∀ (v : L.ι), L.prior v ≠ 0 → stoch_to_det.IsContact (stoch_to_det.support p) w (L.comp v)
Contact optimality. The existence of an **attained τ(p)-optimal common-contact pair** `(L, w)`: a latent achieving `τ` all of whose components are contacts of one feasible kernel. `SeedSetup` packages these data for the race construction.
Lean proves: every finite law has an attaining latent and \tau=\Psi-\mathrm{concaveEnvelopePhi} in bits, and an attaining latent with a common feasible kernel whose positive-prior components are contacts.
Use compactness and Carathéodory for attainment, merge equal components, and obtain the minorant by a supporting hyperplane on the support face. See the page section.
Lean: attainment is stoch_to_det.exists_tau_optimal_latent and (S1.I) is stoch_to_det.tau_eq_Psi_sub_envelope, with
R(p) equal to -\ln2 times stoch_to_det.concaveEnvelopePhi (all in NaturalLatents/Upstream/Envelope.lean);
the minorant is built inside stoch_to_det.exists_common_contact_pair (NaturalLatents/Upstream/Duality.lean),
through the private exists_tau_optimal_kernel. There it is a bit-valued certificate \kappa=-\ell/\ln2
(the variable c in Duality.lean), and the minorant property is the private predicate Valid:
\Phi(q)\le\sum_{z\in S}\kappa_zq(z), with \Phi upstream's bit-valued Phi, for every probability law q supported on S. An exact certificate is
obtained by the private exists_approx_valid_certificate and exists_optimal_valid_certificate. The Lean differs
from the page in five ways:
-
Attainment.
exists_tau_optimal_latentmaximizes\sum_i\pi_i\Phi(q_i)over the compact slice atpof the convex hull of the graph ofPhiover all laws onX\times Y, and reads a latent off the maximizer; it records no bound on the number of labels. -
Minorant. Instead of a supporting hyperplane at the boundary point, the Lean strictly separates the point
\varepsilonbeyond the optimal value overpfrom the compact convex hull of the graph ofPhiover the laws supported onS(Mathlib'sgeometric_hahn_banach_closed_point), which makes the vertical coefficient positive without the perturbationp\pm\varepsilon v, and then takes an exact certificate as a minimizer of the value atpover the compact set of valid certificates that vanish offS, are nonnegative onS(since\phi(\delta_z)=0for the point mass\delta_z) and have value atpat most the optimum plus one. -
Positive priors. Zero-prior labels are pruned by
stoch_to_det.exists_seedSetup(NaturalLatents/Upstream/Seed.lean), after the contact step. In Lean the pruning, and the merging below, are done only for connected support (exists_seedSetuptakes the connectedness hypothesis, andexists_clusteringtakes astoch_to_det.SeedSetup); the unconditional Lean statement isexists_common_contact_pair, whose zero-prior components may be arbitrary. -
Distinct components. Duplicates are merged only at the end, by
stoch_to_det.exists_clustering(NaturalLatents/Upstream/Quotient.lean) insideexists_setup_of_connected(NaturalLatents/General/Setup.lean), and not before the minorant as in (S1.J). -
The equality case. The zero gaps (S1.N) are proved for an arbitrary optimal latent given by
exists_tau_optimal_latent, not for the latent built in the proof.
-
stoch_to_det.exists_common_contact_pair[complete] -
stoch_to_det.exists_seedSetup[complete] -
stoch_to_det.Gdef_nonneg[complete]
Lemma S1.3 (normalization gives one feasible kernel and its contacts). For every finite nonempty X,Y, every
probability law p on X\times Y, and every vector \ell and optimal latent furnished by Lemma S1.2, the masked
kernel, defined by the two cases on and off the support,
w_z=
\begin{cases}
\exp(\ell_z/3),&z\in S,\\
0,&z\notin S
\end{cases}
\qquad \text{(S1.O)}
is feasible in the sense of (C1.1), and each q_i is a contact of this same kernel. More generally, for every
q\in\Delta_S, equality \phi(q)=\ell\cdot q holds if and only if q is a contact of w.
Lean code for Theorem1.1.3●3 theorems
Associated Lean declarations
-
stoch_to_det.exists_common_contact_pair[complete]
-
stoch_to_det.exists_seedSetup[complete]
-
stoch_to_det.Gdef_nonneg[complete]
-
stoch_to_det.exists_common_contact_pair[complete] -
stoch_to_det.exists_seedSetup[complete] -
stoch_to_det.Gdef_nonneg[complete]
-
theoremdefined in NaturalLatents/Upstream/Duality.leancomplete
theorem stoch_to_det.exists_common_contact_pair.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : ∃ L w, stoch_to_det.Feasible (stoch_to_det.support p) w ∧ L.score = stoch_to_det.tau p ∧ ∀ (v : L.ι), L.prior v ≠ 0 → stoch_to_det.IsContact (stoch_to_det.support p) w (L.comp v)
theorem stoch_to_det.exists_common_contact_pair.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) : ∃ L w, stoch_to_det.Feasible (stoch_to_det.support p) w ∧ L.score = stoch_to_det.tau p ∧ ∀ (v : L.ι), L.prior v ≠ 0 → stoch_to_det.IsContact (stoch_to_det.support p) w (L.comp v)
Contact optimality. The existence of an **attained τ(p)-optimal common-contact pair** `(L, w)`: a latent achieving `τ` all of whose components are contacts of one feasible kernel. `SeedSetup` packages these data for the race construction.
-
theoremdefined in NaturalLatents/Upstream/Seed.leancomplete
theorem stoch_to_det.exists_seedSetup.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) (hconn : stoch_to_det.IsConnected (stoch_to_det.support p)) : Nonempty (stoch_to_det.SeedSetup p)
theorem stoch_to_det.exists_seedSetup.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {p : α × β → ℝ} (hp : stoch_to_det.IsPMF p) (hconn : stoch_to_det.IsConnected (stoch_to_det.support p)) : Nonempty (stoch_to_det.SeedSetup p)
Construction of a `SeedSetup`: prune the zero-prior labels of `exists_common_contact_pair`'s latent (pruning to the subtype `{v // L.prior v ≠ 0}` preserves the score and the mixture). -
theoremdefined in NaturalLatents/Upstream/Duality.leancomplete
theorem stoch_to_det.Gdef_nonneg.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {S : Finset (α × β)} {w : α × β → ℝ} (hw : stoch_to_det.Feasible S w) {q : α × β → ℝ} (hq : stoch_to_det.IsPMF q) (hqS : stoch_to_det.Supported S q) : 0 ≤ stoch_to_det.Gdef✝ S w q
theorem stoch_to_det.Gdef_nonneg.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {S : Finset (α × β)} {w : α × β → ℝ} (hw : stoch_to_det.Feasible S w) {q : α × β → ℝ} (hq : stoch_to_det.IsPMF q) (hqS : stoch_to_det.Supported S q) : 0 ≤ stoch_to_det.Gdef✝ S w q
Lean proves: there is an attaining latent with a common feasible kernel with contacts at positive-prior labels, connected support admits a positive-prior SeedSetup, and Gdef\ge0 for every supported probability law under the feasible-kernel hypothesis Feasible S w.
Normalize the exponential kernel and use Gibbs inequality to prove feasibility and identify the zero-gap contacts. See the page section.
Lean: stoch_to_det.exists_common_contact_pair (NaturalLatents/Upstream/Duality.lean), which returns an attaining
latent, a feasible kernel, and the contact property of every component of positive prior; stoch_to_det.exists_seedSetup
(NaturalLatents/Upstream/Seed.lean) packages them, with zero priors pruned, as stoch_to_det.SeedSetup. The kernel is
2^{-\kappa/3} for the bit-valued certificate \kappa of Lemma S1.2, which equals \exp(\ell_z/3) on S. The
Lean differs from the page in three ways:
-
Feasibility. Instead of normalizing at an arbitrary pair
u,vas in (S1.Q)–(S1.S), the privatevalid_iff_feasiblemaximizes\Lambda(w;u,v)over pairs of probability vectors and applies validity at the normalized maximizer, whose marginals are the maximizing pair by the equality case of Young's inequality (the privatemaximizer_rpow_two_thirds). -
The equality case. The private
Gdef_eq_zero_iffsays that the defect3\sum_{z:q(z)>0}q(z)\ln\bigl(q(z)/m_q(z)\bigr)/\ln2(in bits), taken against the unnormalizedm_q, vanishes exactly at contacts, and the privateGdef_eq_certificate_gapidentifies the defect with the certificate gap, as in (S1.U); its nonnegativity isstoch_to_det.Gdef_nonneg. -
Masking. The upstream kernel is not masked: it equals one off
S, which neitherFeasiblenorIsContactreads.exists_setup_of_connected(NaturalLatents/General/Setup.lean) replaces it by the masked kernel (S1.O) and checks that\Lambdais unchanged.CommonSetupdoes not record thatwvanishes offS.
-
stoch_to_det.contact_support_eq[complete] -
NaturalLatents.General.exists_setup_of_connected[complete]
Lemma S1.4 (positivity propagation and the setup on a connected support). For every finite nonempty X,Y, every
law p with connected support S, every feasible kernel w positive on S and zero off S, and every
contact probability law q on S, one has q(z)>0 for every z\in S. In particular, there are a latent attaining \tau(p)
and a feasible kernel on S such that the latent has positive priors, distinct components, each a contact of the
kernel positive on S, and positive posterior rows throughout S.
Lean code for Theorem1.1.4●2 theorems
Associated Lean declarations
-
stoch_to_det.contact_support_eq[complete]
-
NaturalLatents.General.exists_setup_of_connected[complete]
-
stoch_to_det.contact_support_eq[complete] -
NaturalLatents.General.exists_setup_of_connected[complete]
-
theoremdefined in NaturalLatents/Upstream/Duality.leancomplete
theorem stoch_to_det.contact_support_eq.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {S : Finset (α × β)} {w : α × β → ℝ} (hw : stoch_to_det.Feasible S w) (hS : stoch_to_det.IsConnected S) {q : α × β → ℝ} (hq : stoch_to_det.IsContact S w q) : stoch_to_det.support q = S
theorem stoch_to_det.contact_support_eq.{u_1, u_2} {α : Type u_1} {β : Type u_2} [Fintype α] [Fintype β] [DecidableEq α] [DecidableEq β] {S : Finset (α × β)} {w : α × β → ℝ} (hw : stoch_to_det.Feasible S w) (hS : stoch_to_det.IsConnected S) {q : α × β → ℝ} (hq : stoch_to_det.IsContact S w q) : stoch_to_det.support q = S
Full support of contacts: on a connected support every contact has full support. It ensures that the later near/far contact dichotomy covers every cell.
-
theoremdefined in NaturalLatents/General/Setup.leancomplete
theorem NaturalLatents.General.exists_setup_of_connected {X Y : Type} [Fintype X] [Fintype Y] [DecidableEq X] [DecidableEq Y] {p : NaturalLatents.General.Law X Y} (hp : stoch_to_det.IsPMF p) (hconn : stoch_to_det.IsConnected (stoch_to_det.support p)) : Nonempty (NaturalLatents.General.CommonSetup p)
theorem NaturalLatents.General.exists_setup_of_connected {X Y : Type} [Fintype X] [Fintype Y] [DecidableEq X] [DecidableEq Y] {p : NaturalLatents.General.Law X Y} (hp : stoch_to_det.IsPMF p) (hconn : stoch_to_det.IsConnected (stoch_to_det.support p)) : Nonempty (NaturalLatents.General.CommonSetup p)
A law with connected support has an attaining latent with a feasible kernel whose components are distinct positive contacts (`CommonSetup`).
Perturb a missing marginal toward a point mass and propagate positivity along the connected support; then divide the positive joint masses by the source mass. See the page section.
Lean: the positivity claim is stoch_to_det.contact_support_eq (NaturalLatents/Upstream/Duality.lean), stating
support q = S for a contact q of a feasible kernel on a connected S, and the setup is
exists_setup_of_connected (NaturalLatents/General/Setup.lean), which proves Nonempty (CommonSetup p) for every
probability law p with connected support:
theorem exists_setup_of_connected {p : Law X Y} (hp : stoch_to_det.IsPMF p)
(hconn : stoch_to_det.IsConnected (stoch_to_det.support p)) : Nonempty (CommonSetup p)
The structure CommonSetup (NaturalLatents/General/Definitions.lean) has the fields L (the latent), w (the
kernel), feasible, attained (M+B=\tau(p)), prior_pos, distinct, contact, positive and rows_pos; the
last seven are the properties in the box above. The Lean differs from the page in four ways:
-
Positivity.
stoch_to_det.contact_support_eqdoes not assumew=0offS, and replaces the perturbations (S1.X) and (S1.Y) by the equality case of Young's inequality (the privatemaximizer_rpow_two_thirds) at(q_X,q_Y), which maximizes\Lambdain each argument because\Lambda(w;q_X,q_Y)=1, so thatR_0=0exactly whenq_X(x_0)=0, and likewise for columns. -
Propagation. Positivity is propagated along chains of cells sharing a row or a column (
stoch_to_det.Adj), starting from one positive cell, rather than along the edges of the bipartite graph. -
Assembly.
exists_setup_of_connectedtakes astoch_to_det.SeedSetupfromstoch_to_det.exists_seedSetupand astoch_to_det.Clusteringfromstoch_to_det.exists_clustering, whose cluster laws are distinct contacts (stoch_to_det.Clustering.Q_isContact,stoch_to_det.Clustering.Q_injective). It then usessetupConn_prior_pos(cluster masses are positive) andsetupConn_sum_weighted(cluster sums equal label sums, proved fromsetupConn_comp_eq_Q, which identifies each label's law with its cluster's), andscore_natswithmediation_add_redundancy_eq_scoreto transferM+B=\tau(p)from the seed latent to the merged one. -
Posterior rows.
rows_posis proved by dividing\pi_iq_i(z)>0byp(z)>0; the row sum in (S1.Z) is not stated.