Skip to content

Commit 7e539a7

Browse files
committed
h2 done. 5 more to go!
1 parent 305c826 commit 7e539a7

File tree

3 files changed

+41
-28
lines changed

3 files changed

+41
-28
lines changed

PFR/BoundingMutual.lean

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,20 @@ $$ {\mathcal I} := \bbI[ \bigl(\sum_{i=1}^m X_{i,j}\bigr)_{j =1}^{m}
7272
lemma mutual_information_le {G Ωₒ : Type u} [MeasureableFinGroup G] [MeasureSpace Ωₒ]
7373
{p : multiRefPackage G Ωₒ} {Ω : Type u} [hΩ : MeasureSpace Ω] [IsProbabilityMeasure hΩ.volume]
7474
{X : ∀ i, Ω → G} (hX : ∀ i, Measurable (X i)) (h_indep : iIndepFun X)
75-
(h_min : multiTauMinimizes p (fun _ ↦ Ω) (fun _ ↦ hΩ) X) {Ω' : Type*} [hΩ': MeasureSpace Ω']
75+
(h_min : multiTauMinimizes p (fun _ ↦ Ω) (fun _ ↦ hΩ) X) {Ω' : Type u} [hΩ': MeasureSpace Ω']
7676
[IsProbabilityMeasure hΩ'.volume]
7777
{X' : Fin p.m × Fin p.m → Ω' → G} (hX' : ∀ i j, Measurable (X' (i, j)))
7878
(h_indep': iIndepFun X')
7979
(hperm : ∀ j, ∃ e : Fin p.m ≃ Fin p.m, IdentDistrib (fun ω ↦ (fun i ↦ X' (i, j) ω))
8080
(fun ω ↦ (fun i ↦ X (e i) ω))) :
8181
I[ fun ω ↦ ( fun j ↦ ∑ i, X' (i, j) ω) : fun ω ↦ ( fun i ↦ ∑ j, X' (i, j) ω) |
82-
fun ω ↦ ∑ i, ∑ j, X' (i, j) ω ] ≤ 2 * p.m * (2*p.m + 1) * p.η * D[ X; (fun _ ↦ hΩ)] := by
82+
fun ω ↦ ∑ i, ∑ j, X' (i, j) ω ] ≤ p.m * (4*p.m+1) * p.η * D[ X; (fun _ ↦ hΩ)] := by
8383
have hm := p.hm
8484
have hη := p.hη
8585
set I₀ := I[ fun ω ↦ ( fun j ↦ ∑ i, X' (i, j) ω) : fun ω ↦ ( fun i ↦ ∑ j, X' (i, j) ω) |
8686
fun ω ↦ ∑ i, ∑ j, X' (i, j) ω ]
8787
set k := D[X ; fun x ↦ hΩ]
88+
have hk: 0 ≤ k := multiDist_nonneg _ inferInstance _ (by fun_prop)
8889
set one : Fin p.m := ⟨ 1, by omega ⟩
8990
set last : Fin p.m := ⟨ p.m-1, by omega ⟩
9091
set column : Fin p.m → Fin p.m → Ω' → G := fun j i ω ↦ X' (i, j) ω
@@ -143,9 +144,24 @@ lemma mutual_information_le {G Ωₒ : Type u} [MeasureableFinGroup G] [MeasureS
143144
apply ProbabilityTheory.iIndepFun.precomp _ h_indep'
144145
intro ⟨ i, j ⟩ ⟨ i', j' ⟩ h; simpa using h
145146

147+
have hD (j: Fin p.m) : D[column j ; fun x ↦ hΩ'] = k := by
148+
obtain ⟨ e, he ⟩ := hperm j
149+
calc
150+
_ = D[fun i ω ↦ X (e i) ω; fun x ↦ hΩ] := by
151+
apply multiDist_copy _ _ _ _ _
152+
intro i; exact IdentDistrib.comp (u := fun x ↦ x i) he (by fun_prop)
153+
_ = _ := by
154+
convert multiDist_of_perm (fun _ ↦ hΩ) _ _ e <;> try infer_instance
155+
146156
have h2 {j : Fin p.m} (hj: j ∈ Finset.Iio last)
147-
: A j ≤ p.η * (k + ∑ i, d[ X' (i,j) # X' (i,j) | S i j ]) := by
148-
sorry
157+
: A j ≤ p.η * ∑ i, d[ X' (i,j) # X' (i,j) | S i j ] := by
158+
obtain ⟨ e, he ⟩ := hperm j
159+
simp only [A, hD]
160+
convert sub_condMultiDistance_le' p (fun _ ↦ Ω) (fun _ ↦ hΩ) inferInstance X hX h_min (fun _ ↦ Ω') (fun _ ↦ hΩ') inferInstance (fun i ↦ X' (i, j)) _ _ _ e using 3 with i _ <;> try infer_instance
161+
all_goals try fun_prop
162+
apply condRuzsaDist'_of_copy <;> try fun_prop
163+
. exact IdentDistrib.comp (u := fun x ↦ x i) he (by fun_prop)
164+
apply IdentDistrib.refl; fun_prop
149165

150166
have h3 : B ≤ p.η * ∑ i, d[ X' (i, last) # V i ] := by
151167
sorry
@@ -188,50 +204,47 @@ lemma mutual_information_le {G Ωₒ : Type u} [MeasureableFinGroup G] [MeasureS
188204
+ (H[V i] - H[X' (i, last)]) / 2 := by
189205
sorry
190206

191-
have h7 : I₀/p.η ≤ p.m * k + p.m * ∑ i, d[X i # X i] + ∑ i, H[V i] - ∑ i, H[X i] := by
207+
have h7 : I₀/p.η ≤ p.m * ∑ i, d[X i # X i] + ∑ i, H[V i] - ∑ i, H[X i] := by
192208
rw [div_le_iff₀' hη]
193209
apply h1.trans
194210
calc
195-
_ ≤ ∑ j ∈ .Iio last, (p.η * (k + ∑ i, d[ X' (i,j) # X' (i,j) | S i j ])) + p.η * ∑ i, d[ X' (i, last) # V i ] := by gcongr with j hj; exact h2 hj
196-
_ ≤ p.η * (↑↑last * k + ∑ i, (∑ j ∈ .Iio last, d[ X' (i,j) # X' (i,j) ] + (H[V i] - H[X' (i, last)]) / 2)) +
211+
_ ≤ ∑ j ∈ .Iio last, (p.η * (∑ i, d[ X' (i,j) # X' (i,j) | S i j ])) + p.η * ∑ i, d[ X' (i, last) # V i ] := by gcongr with j hj; exact h2 hj
212+
_ ≤ p.η * (∑ i, (∑ j ∈ .Iio last, d[ X' (i,j) # X' (i,j) ] + (H[V i] - H[X' (i, last)]) / 2)) +
197213
p.η * ∑ i, (d[ X' (i, last) # X' (i, last) ] + (H[V i] - H[X' (i, last)]) / 2) := by
198214
simp [←Finset.mul_sum, Finset.sum_add_distrib]; rw [Finset.sum_comm]; gcongr
199215
. rw [←Finset.sum_add_distrib]; apply Finset.sum_le_sum; intro i _; exact h5 i
200216
rw [←Finset.sum_add_distrib]; apply Finset.sum_le_sum; intro i _; exact h6 i
201-
_ = p.η * (↑↑last * k + ∑ i, (∑ j ∈ .Iio last, d[ X' (i,j) # X' (i,j) ] + d[ X' (i, last) # X' (i, last) ]) + ∑ i, H[V i] - ∑ i, H[X' (i, last)]) := by
217+
_ = p.η * (∑ i, (∑ j ∈ .Iio last, d[ X' (i,j) # X' (i,j) ] + d[ X' (i, last) # X' (i, last) ]) + ∑ i, H[V i] - ∑ i, H[X' (i, last)]) := by
202218
simp_rw [Finset.sum_add_distrib, ←Finset.sum_div, Finset.sum_sub_distrib]; ring
203-
_ = p.η * (↑↑last * k + ∑ j, (∑ i, d[ X' (i,j) # X' (i,j) ]) + ∑ i, H[V i] - ∑ i, H[X' (i, last)]) := by
219+
_ = p.η * (∑ j, (∑ i, d[ X' (i,j) # X' (i,j) ]) + ∑ i, H[V i] - ∑ i, H[X' (i, last)]) := by
204220
rw [Finset.sum_comm]
205221
rcongr i
206222
convert Finset.sum_erase_add _ _ _ using 3
207223
. ext ⟨ j, hj ⟩; simp [last]; omega
208224
. infer_instance
209225
simp
210-
_ = p.η * (↑↑last * k + (∑ j:Fin p.m, (∑ i, d[ X i # X i ])) + ∑ i, H[V i] - ∑ i, H[X i]) := by
226+
_ = p.η * ((∑ j:Fin p.m, (∑ i, d[ X i # X i ])) + ∑ i, H[V i] - ∑ i, H[X i]) := by
211227
congr 2
212228
. congr; ext j; obtain ⟨ e, he ⟩ := hperm j
213229
convert Equiv.sum_comp e _ with i _
214230
apply IdentDistrib.rdist_congr <;> exact IdentDistrib.comp (u := fun x ↦ x i) he (by fun_prop)
215231
obtain ⟨ e, he ⟩ := hperm last
216232
convert Equiv.sum_comp e _ with i _
217-
apply IdentDistrib.entropy_congr <;> exact IdentDistrib.comp (u := fun x ↦ x i) he (by fun_prop)
218-
_ ≤ _ := by
219-
simp [last]; gcongr
220-
. apply multiDist_nonneg _ inferInstance _ (by fun_prop)
221-
omega
233+
apply IdentDistrib.entropy_congr; exact IdentDistrib.comp (u := fun x ↦ x i) he (by fun_prop)
234+
_ ≤ _ := by simp
222235

223236
have h8 (i: Fin p.m) : H[V i] ≤ H[ ∑ j, X j] + ∑ j, d[X' (i,j) # X' (i,j)] := by
224237
sorry
225238

226239
have h9 : ∑ i, H[V i] - ∑ i, H[X i] ≤ p.m * ∑ i, d[X i # X i] + p.m * k := by
227240
sorry
228241

229-
have h10 : I₀/p.η ≤ 2 * p.m * ∑ i, d[X i # X i] + 2 * p.m * k := by linarith
242+
have h10 : I₀/p.η ≤ 2 * p.m * ∑ i, d[X i # X i] + p.m * k := by linarith
230243

231244
have h11 : ∑ i, d[X i # X i] ≤ 2 * p.m * k := by
232245
convert multidist_ruzsa_II hm _ _ _ hX _ <;> try infer_instance
233246

234247
calc
235-
_ ≤ p.η * (2 * p.m * ∑ i, d[X i # X i] + 2 * p.m * k) := by rwa [←div_le_iff₀' (by positivity)]
236-
_ ≤ p.η * (2 * p.m * (2 * p.m * k) + 2 * p.m * k) := by gcongr
248+
_ ≤ p.η * (2 * p.m * ∑ i, d[X i # X i] + p.m * k) := by rwa [←div_le_iff₀' (by positivity)]
249+
_ ≤ p.η * (2 * p.m * (2 * p.m * k) + p.m * k) := by gcongr
237250
_ = _ := by ring

PFR/TorsionEndgame.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ lemma indep_yj (j : Fin p.m) : iIndepFun (fun i ↦ Y (i, j)) := by
6060
include h_mes h_indep hident h_min in
6161
/-- We have `I[Z_1 : Z_2 | W], I[Z_2 : Z_3 | W], I[Z_1 : Z_3 | W] ≤ 4m^2 η k`.
6262
-/
63-
lemma mutual_information_le_t_12 : I[Z1 : Z2 | W] ≤ 2 * p.m * (2 * p.m + 1) * p.η * k := by
63+
lemma mutual_information_le_t_12 : I[Z1 : Z2 | W] ≤ p.m * (4*p.m+1) * p.η * k := by
6464
have hm := p.hm
6565
let zero : Fin p.m := ⟨ 0, by linarith [hm]⟩
6666
have hindep_j (j: Fin p.m) : iIndepFun (fun i ↦ Y (i, j)) := indep_yj h_mes h_indep j
@@ -89,7 +89,7 @@ lemma torsion_mul_eq {i j:ℤ} (x:G) (h: i ≡ j [ZMOD p.m]) : i • x = j • x
8989
simp [add_smul, mul_comm, mul_zsmul, p.htorsion]
9090

9191
include h_mes h_indep hident h_min in
92-
lemma mutual_information_le_t_23 : I[Z2 : Z3 | W] ≤ 2 * p.m * (2 * p.m + 1) * p.η * k := by
92+
lemma mutual_information_le_t_23 : I[Z2 : Z3 | W] ≤ p.m * (4*p.m+1) * p.η * k := by
9393
have hm := p.hm
9494
have _ : NeZero p.m := by rw [neZero_iff]; linarith
9595
let zero : Fin p.m := ⟨ 0, by linarith [hm]⟩
@@ -140,7 +140,7 @@ lemma mutual_information_le_t_23 : I[Z2 : Z3 | W] ≤ 2 * p.m * (2 * p.m + 1) *
140140
exact (hident (i-j) j).trans (hident (i-j) zero).symm
141141

142142
include h_mes h_indep hident h_min in
143-
lemma mutual_information_le_t_21 : I[Z1 : Z3 | W] ≤ 2 * p.m * (2 * p.m + 1) * p.η * k := by
143+
lemma mutual_information_le_t_21 : I[Z1 : Z3 | W] ≤ p.m * (4*p.m+1) * p.η * k := by
144144
have hm := p.hm
145145
have _ : NeZero p.m := by rw [neZero_iff]; linarith
146146
let zero : Fin p.m := ⟨ 0, by linarith [hm]⟩

blueprint/src/chapter/torsion.tex

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ \section{Bounding the mutual information}
491491
\]
492492
Then
493493
\begin{equation}\label{I-ineq}
494-
{\mathcal I} \leq 2 m(2m+1) \eta k.
494+
{\mathcal I} \leq m(4m+1) \eta k.
495495
\end{equation}
496496
\end{proposition}
497497

@@ -510,14 +510,14 @@ \section{Bounding the mutual information}
510510
B := D[ (X_{i,m})_{i=1}^m ] - D[ \bigl(\sum_{j=1}^m X_{i,j}\bigr)_{i=1}^m ].
511511
\]
512512
We first consider the $A_j$, for fixed $j \in \{1,\dots, m-1\}$.
513-
By \Cref{multidist-perm} and and our hypothesis on columns, we have
513+
By \Cref{multidist-perm} and our hypothesis on columns, we have
514514
\[
515515
D[ (X_{i, j})_{i = 1}^m ]= D[ (X_i)_{i=1}^m ] = k.
516516
\]
517-
Let $\sigma = \sigma_j \colon I \to I$ be a permutation such that $X_{i,j} = X_{\sigma(i)}$, and write $X'_i := X_{i,j}$ and $Y_i := X_{i,j} + \cdots + X_{i,m}$.
517+
Let $\sigma = \sigma_j \colon I \to I$ be a permutation such that $X_{i,j} \equiv X_{\sigma(i)}$, and write $X'_i := X_{i,j}$ and $Y_i := X_{i,j} + \cdots + X_{i,m}$.
518518
By \Cref{cond-multidist-lower-II}, we have
519519
\begin{align}
520-
A_j & \leq \eta (k+\sum_{i = 1}^{m} d[X_{i,j}; X_{i, j}|X_{i, j} + \cdots + X_{i,m}]).\label{54a}
520+
A_j & \leq \eta (\sum_{i = 1}^{m} d[X_{i,j}; X_{i, j}|X_{i, j} + \cdots + X_{i,m}]).\label{54a}
521521
\end{align}
522522
We similarly consider $B$. By \Cref{multidist-perm} applied to the $m$-th column,
523523
\[
@@ -554,7 +554,7 @@ \section{Bounding the mutual information}
554554
Combining~\eqref{441},~\eqref{54a} and~\eqref{55a} with~\eqref{eq:distbnd1} and~\eqref{eq:distbnd2} (the latter two summed over $i$), we get
555555
\begin{align}
556556
\nonumber
557-
\frac1{\eta} {\mathcal I} &\leq mk + \sum_{i,j=1}^m d[X_{i,j};X_{i,j}] + \sum_{i=1}^m (\bbH[V_i] - \bbH[X_{i,m}]) \\
557+
\frac1{\eta} {\mathcal I} &\leq \sum_{i,j=1}^m d[X_{i,j};X_{i,j}] + \sum_{i=1}^m (\bbH[V_i] - \bbH[X_{i,m}]) \\
558558
&= m \sum_{i=1}^m d[X_i; X_i] + \sum_{i=1}^m \bbH[V_i] - \sum_{i=1}^m \bbH[X_i].
559559
\label{eq:distbnd3}
560560
\end{align}
@@ -568,7 +568,7 @@ \section{Bounding the mutual information}
568568
\end{align*}
569569
where in the second step we used the permutation hypothesis. Combining this with~\eqref{eq:distbnd3} gives the
570570
$$
571-
{\mathcal I} \leq 2\eta m \biggl( \sum_{i=1}^m d[X_i;X_i] \biggr).$$
571+
{\mathcal I} \leq 2\eta m \biggl( \sum_{i=1}^m d[X_i;X_i] \biggr) + mk.$$
572572
The claim \eqref{I-ineq} is now immediate from \Cref{multidist-ruzsa-II}.
573573
\end{proof}
574574

@@ -614,7 +614,7 @@ \section{Endgame}
614614
\]
615615
where
616616
\begin{equation}\label{t-def}
617-
t := 2m(2m+1) \eta k.
617+
t := m(4m+1) \eta k.
618618
\end{equation}
619619
\end{proposition}
620620

0 commit comments

Comments
 (0)