Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - Eisenstein series uniform convergence #10377

Closed
wants to merge 143 commits into from
Closed
Show file tree
Hide file tree
Changes from 91 commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
1114eea
wip save
CBirkbeck Feb 6, 2024
e9440a2
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/Finset_Deco…
CBirkbeck Feb 6, 2024
e229b84
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/Finset_Deco…
CBirkbeck Feb 6, 2024
3a0fc10
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
b74fe5c
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
bcf756c
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
b241e15
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
a456d5b
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
eed710a
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
6b00e1f
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
0655fb3
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
b2a5942
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck Feb 6, 2024
80e3230
some linting
CBirkbeck Feb 6, 2024
0b42af4
missed one
CBirkbeck Feb 6, 2024
8b3ca2e
missed one
CBirkbeck Feb 6, 2024
3b6159b
more lint
CBirkbeck Feb 6, 2024
0fc98a5
more lint
CBirkbeck Feb 6, 2024
79fe9ac
save
CBirkbeck Feb 9, 2024
a68247d
add file names
CBirkbeck Feb 9, 2024
99469cb
shake fix
CBirkbeck Feb 9, 2024
89c9ee8
save
CBirkbeck Feb 9, 2024
8e0f4a8
sections
CBirkbeck Feb 9, 2024
3e94fcb
simplifications, but golfing still needed
CBirkbeck Feb 10, 2024
6012f67
save
CBirkbeck Feb 10, 2024
d63d918
save2
CBirkbeck Feb 10, 2024
bc282a0
lint fix
CBirkbeck Feb 10, 2024
49d5d22
golf
CBirkbeck Feb 10, 2024
edf1752
save
CBirkbeck Feb 10, 2024
38ca47f
more golf
CBirkbeck Feb 12, 2024
b402c36
build fix
CBirkbeck Feb 12, 2024
a3c4d21
fix imports
CBirkbeck Feb 12, 2024
90b37fe
more cleanup
CBirkbeck Feb 12, 2024
83ee7dc
rename file
YaelDillies Feb 13, 2024
9ba96ec
rev fixes wip
CBirkbeck Feb 13, 2024
01f2d44
Merge branch 'eisensteinSeries_Uniform_convergence' of https://github…
CBirkbeck Feb 13, 2024
c4bfb5b
Box theory
YaelDillies Feb 13, 2024
224f82e
feat: Boxes in locally finite ordered rings
YaelDillies Feb 13, 2024
1c0a1e8
moved some lemmas around, while waiting for boxes to be PRd
CBirkbeck Feb 13, 2024
e534563
Merge branch 'eisensteinSeries_Uniform_convergence' of https://github…
CBirkbeck Feb 13, 2024
de4faf1
fix updates
CBirkbeck Feb 13, 2024
0788f1b
fix simp
CBirkbeck Feb 13, 2024
5d9708c
fix simp nf
YaelDillies Feb 13, 2024
cc886d8
fix doc string
CBirkbeck Feb 13, 2024
57154ca
save before trying to generalise the bound
CBirkbeck Feb 13, 2024
627b254
fix
CBirkbeck Feb 13, 2024
f6d0b12
fix
CBirkbeck Feb 13, 2024
682f525
remove junk lemma
CBirkbeck Feb 13, 2024
d2182d3
fix merge issue
CBirkbeck Feb 13, 2024
e653c32
fix merge issue
CBirkbeck Feb 13, 2024
f82014d
shake fix?
CBirkbeck Feb 14, 2024
034f09d
fix import
CBirkbeck Feb 14, 2024
c638374
shake ignore?
CBirkbeck Feb 14, 2024
12d7fdf
save
CBirkbeck Feb 14, 2024
a4ca86a
Merge remote-tracking branch 'origin/master' into finset_box
YaelDillies Feb 16, 2024
bbb7c23
Merge remote-tracking branch 'origin/finset_box' into eisensteinSerie…
CBirkbeck Feb 16, 2024
c99c5a9
fix merge update
CBirkbeck Feb 16, 2024
4b566d2
remove junk lemma
CBirkbeck Feb 16, 2024
23246b3
golf
CBirkbeck Feb 16, 2024
c4bf406
update bound to real powers
CBirkbeck Feb 16, 2024
27421d7
style fix
CBirkbeck Feb 16, 2024
22374fc
remove unused lemma
CBirkbeck Feb 16, 2024
08452b5
Merge remote-tracking branch 'origin/master' into eisensteinSeries_Un…
YaelDillies Feb 20, 2024
ebcf5be
cleanup
YaelDillies Feb 20, 2024
80fce6b
Merge remote-tracking branch 'origin/master' into eisensteinSeries_Un…
CBirkbeck Feb 23, 2024
4c85191
small golf
CBirkbeck Feb 23, 2024
b8ccdad
lint fix and re-squeeze some simps
CBirkbeck Feb 23, 2024
87297e8
2
CBirkbeck Feb 23, 2024
2ed727d
fix last thm
CBirkbeck Feb 23, 2024
9e4428b
fix last thm name
CBirkbeck Feb 23, 2024
33f9ee3
lint fix
CBirkbeck Feb 23, 2024
b887845
generalise fun_ne_zero_cases
CBirkbeck Feb 23, 2024
42b6b8a
add a complex version of main thm
CBirkbeck Feb 27, 2024
96e63cc
fix name
CBirkbeck Feb 27, 2024
dcd880a
rev updates
CBirkbeck Mar 1, 2024
3a09ccc
make arg implicit
CBirkbeck Mar 1, 2024
623b79f
lint fix
CBirkbeck Mar 1, 2024
1ad2e31
some golf
CBirkbeck Mar 6, 2024
8f1d15e
more golf
CBirkbeck Mar 6, 2024
bc25990
more cleanup
CBirkbeck Mar 6, 2024
b5b30b6
move files around
CBirkbeck Mar 6, 2024
eaa2ca5
fix
CBirkbeck Mar 6, 2024
15a5ff6
rev fixes wip
CBirkbeck Mar 8, 2024
9a7b913
this can probs be golfed more, but I'm stoopid
CBirkbeck Mar 8, 2024
3600a74
composing non_zero function with inj fun is non_zero
CBirkbeck Mar 8, 2024
07ec99b
use inj func pr
CBirkbeck Mar 8, 2024
2b6b90d
clean a bit
CBirkbeck Mar 8, 2024
c36b011
merge
CBirkbeck Mar 8, 2024
b4cd118
merge fix
CBirkbeck Mar 18, 2024
4e2ac14
fix
CBirkbeck Mar 25, 2024
db21b89
merge fix
CBirkbeck Apr 15, 2024
083ea46
Merge branch 'eisensteinSeries_Uniform_convergence' of https://github…
CBirkbeck Apr 15, 2024
a0e1e79
Update Mathlib.lean
CBirkbeck Apr 15, 2024
77bafcb
fix
CBirkbeck Apr 15, 2024
e981f3d
rev fixes
CBirkbeck Apr 15, 2024
ab3cec4
Merge branch 'eisensteinSeries_Uniform_convergence' of https://github…
CBirkbeck Apr 15, 2024
f6f8b08
missed one
CBirkbeck Apr 15, 2024
123dd62
merge fix/update
CBirkbeck Apr 26, 2024
405b34d
Merge remote-tracking branch 'origin/master' into eisensteinSeries_Un…
CBirkbeck Apr 26, 2024
dc0a5b1
fix
CBirkbeck Apr 26, 2024
fdeeff6
feat(Complex/UpperHalfPlane): add vertical strips needed for mod form…
CBirkbeck Apr 26, 2024
a243ce6
doc string
CBirkbeck Apr 26, 2024
f18cfea
move strips into topology
CBirkbeck Apr 26, 2024
61b0056
summable lems move test
CBirkbeck Apr 26, 2024
e5e78c0
test2
CBirkbeck Apr 26, 2024
a8380ae
do todo from port
CBirkbeck Apr 26, 2024
95f199f
build fix
CBirkbeck Apr 26, 2024
0472942
fix
CBirkbeck Apr 26, 2024
a5f0f87
Merge branch 'CB_summable_partion_lemmas' of https://github.com/leanp…
CBirkbeck Apr 26, 2024
b8b7b44
merge fix
CBirkbeck Apr 26, 2024
8fbe573
Merge remote-tracking branch 'origin/upper_half_plane_stip_lemmas' in…
CBirkbeck Apr 26, 2024
ac145a1
merge fix
CBirkbeck Apr 26, 2024
01a9357
more fixes
CBirkbeck Apr 26, 2024
3a77b2f
fix docstring
CBirkbeck Apr 26, 2024
10365c4
build fixes
CBirkbeck Apr 26, 2024
105e5d5
fix import
CBirkbeck Apr 26, 2024
8891f5a
remove junk complex.abs
CBirkbeck Apr 30, 2024
9c1c1d2
fix
CBirkbeck Apr 30, 2024
e6b0cdf
updates
CBirkbeck May 1, 2024
9bdf78f
Merge remote-tracking branch 'origin/master' into eisensteinSeries_Un…
CBirkbeck May 1, 2024
1e48883
fix2
CBirkbeck May 1, 2024
aeb0b43
fix lintr
CBirkbeck May 2, 2024
1c05238
updates
CBirkbeck May 2, 2024
8f0e3bc
Merge remote-tracking branch 'origin/master' into eisensteinSeries_Un…
CBirkbeck May 2, 2024
1325630
fix merge
CBirkbeck May 7, 2024
7606655
lintr fix
CBirkbeck May 7, 2024
5852fe8
space
CBirkbeck May 10, 2024
7fb014d
rev changes wip
CBirkbeck May 10, 2024
6823211
small golf
CBirkbeck May 12, 2024
26d9524
more speedups
CBirkbeck May 13, 2024
5b3cfb8
more speedups 2
CBirkbeck May 13, 2024
6c6ddf3
lintr fix
CBirkbeck May 13, 2024
5201ffb
replace rpow_bound
CBirkbeck May 14, 2024
fec3908
some style fixes, wip
CBirkbeck May 14, 2024
bbab1d5
more golf
CBirkbeck May 14, 2024
036b016
Merge branch 'eisensteinSeries_Uniform_convergence' of github.com:lea…
loefflerd May 14, 2024
f748460
refactor using norm, etc
loefflerd May 14, 2024
2bb8c9b
fix truncated docstring
loefflerd May 14, 2024
2cc8984
move lemma
loefflerd May 14, 2024
81c1c0c
prune `open` statements
loefflerd May 14, 2024
80b223b
rename norm_def to norm_eq_max_natAbs
CBirkbeck May 15, 2024
346bbd0
rename norm_def to norm_eq_max_natAbs
CBirkbeck May 15, 2024
1bb0494
Update Mathlib/NumberTheory/ModularForms/EisensteinSeries/UniformConv…
CBirkbeck May 15, 2024
911192d
add David as Author
CBirkbeck May 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Mathlib.lean
Original file line number Diff line number Diff line change
Expand Up @@ -3014,7 +3014,7 @@ import Mathlib.NumberTheory.Modular
import Mathlib.NumberTheory.ModularForms.Basic
import Mathlib.NumberTheory.ModularForms.CongruenceSubgroups
import Mathlib.NumberTheory.ModularForms.EisensteinSeries.Basic
import Mathlib.NumberTheory.ModularForms.JacobiTheta.Bounds
import Mathlib.NumberTheory.ModularForms.EisensteinSeries.UniformConvergence
import Mathlib.NumberTheory.ModularForms.JacobiTheta.Manifold
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
import Mathlib.NumberTheory.ModularForms.JacobiTheta.OneVariable
import Mathlib.NumberTheory.ModularForms.JacobiTheta.TwoVariable
Expand Down
12 changes: 12 additions & 0 deletions Mathlib/Analysis/Complex/UpperHalfPlane/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,18 @@ theorem ne_zero (z : ℍ) : (z : ℂ) ≠ 0 :=
mt (congr_arg Complex.im) z.im_ne_zero
#align upper_half_plane.ne_zero UpperHalfPlane.ne_zero

/-- Define √-1 as an element on the upper half plane.-/
def I : ℍ := ⟨Complex.I, by simp⟩
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved

@[simp]
lemma I_im : I.im = 1 := rfl

@[simp]
lemma I_re : I.re = 0 := rfl

@[simp, norm_cast]
lemma coe_I : I = Complex.I := rfl

end UpperHalfPlane

namespace Mathlib.Meta.Positivity
Expand Down
39 changes: 39 additions & 0 deletions Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean
Original file line number Diff line number Diff line change
Expand Up @@ -385,4 +385,43 @@ instance : IsometricSMul SL(2, ℝ) ℍ :=
exact
(isometry_real_vadd w).comp (h₀.comp <| (isometry_real_vadd v).comp <| isometry_pos_mul u)⟩

section slices

/--The vertical strip of width A and height B-/
def upperHalfPlaneSlice (A B : ℝ) :=
{z : ℍ | Complex.abs z.1.1 ≤ A ∧ B ≤ Complex.abs z.1.2}

theorem slice_mem_iff (A B : ℝ) (z : ℍ) :
z ∈ upperHalfPlaneSlice A B ↔ Complex.abs z.1.1 ≤ A ∧ B ≤ Complex.abs z.1.2 := Iff.rfl

lemma subset_slice_of_isCompact {K : Set ℍ} (hK : IsCompact K) : ∃ A B : ℝ, 0 < B ∧
K ⊆ upperHalfPlaneSlice A B := by
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
obtain rfl | hne := K.eq_empty_or_nonempty
exact ⟨1, 1, Real.zero_lt_one, by simp⟩
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
have hcts : ContinuousOn (fun t => t.im) K := by
apply Continuous.continuousOn UpperHalfPlane.continuous_im
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
obtain ⟨b, _, HB⟩ := IsCompact.exists_isMinOn hK hne hcts
obtain ⟨r, _, hr2⟩ := Bornology.IsBounded.subset_closedBall_lt hK.isBounded 0 UpperHalfPlane.I
refine' ⟨Real.sinh r + Complex.abs ((UpperHalfPlane.center UpperHalfPlane.I r)), b.im, b.2, _⟩
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
intro z hz
simp only [I_im, slice_mem_iff, abs_ofReal, ge_iff_le] at *
constructor
· have hr3 := hr2 hz
simp only [Metric.mem_closedBall] at hr3
apply le_trans (abs_re_le_abs z)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this be more readable with calc?

have := Complex.abs.sub_le (z : ℂ) (UpperHalfPlane.center UpperHalfPlane.I r) 0
simp only [sub_zero, ge_iff_le] at this
rw [dist_le_iff_dist_coe_center_le] at hr3
apply le_trans this
simp only [I_im, one_mul, add_le_add_iff_right] at *
exact hr3
· have hbz := HB hz
simp only [mem_setOf_eq, ge_iff_le] at *
convert hbz
rw [UpperHalfPlane.im]
apply abs_eq_self.mpr z.2.le


end slices

end UpperHalfPlane
10 changes: 10 additions & 0 deletions Mathlib/Data/Finset/LocallyFinite/Box.lean
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,16 @@ lemma box_succ_disjUnion (n : ℕ) :

@[simp] lemma zero_mem_box : (0 : α) ∈ box n ↔ n = 0 := by cases n <;> simp [box_succ_eq_sdiff]

lemma mem_box_eq_zero_iff_eq_zero (x : α) (hx : x ∈ box n) : x = 0 ↔ n = 0 := by
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
rw [← zero_mem_box (α := α)]
constructor
· intro h
rw [h] at hx
exact hx
· intro h
simp only [(zero_mem_box (α := α) (n := n)).mp h, box_zero, mem_singleton] at hx
CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
exact hx

end Finset

open Finset
Expand Down
8 changes: 8 additions & 0 deletions Mathlib/Logic/Equiv/Set.lean
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,14 @@ def setProdEquivSigma {α β : Type*} (s : Set (α × β)) :
right_inv := fun ⟨x, y, h⟩ => rfl
#align equiv.set_prod_equiv_sigma Equiv.setProdEquivSigma

/-- Equivalence between the sigma of a family of finsets of `β` and `β`. -/
noncomputable def sigmaEquiv {ι κ : Type*} (s : κ → Set ι) (hs : ∀ i, ∃! j, i ∈ s j) :
(Σ j, s j) ≃ ι where
toFun x := x.2
invFun x := ⟨(hs x).choose, x, (hs x).choose_spec.1⟩
left_inv x := by ext; exacts [((hs x.2).choose_spec.2 x.1 x.2.2).symm, rfl]
right_inv x := by rfl

CBirkbeck marked this conversation as resolved.
Show resolved Hide resolved
/-- The subtypes corresponding to equal sets are equivalent. -/
@[simps! apply]
def setCongr {α : Type*} {s t : Set α} (h : s = t) : s ≃ t :=
Expand Down
Loading
Loading