Skip to content

Commit 4dd2337

Browse files
committed
Tweaks
1 parent 5932101 commit 4dd2337

File tree

2 files changed

+15
-38
lines changed

2 files changed

+15
-38
lines changed

RMT4.lean

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ def 𝓜 (U : Set ℂ) := {f ∈ 𝓗 U | MapsTo f U (closedBall (0 : ℂ) 1)}
4545

4646
example : 𝓜 U = 𝓑 U (fun _ => closedBall 0 1) := 𝓑_const.symm
4747

48+
lemma isCompact_𝓜 (hU : IsOpen U) : IsCompact (𝓜 U) := by
49+
simpa only [𝓑_const] using isCompact_𝓑 hU (fun _ _ => isCompact_closedBall 0 1)
50+
4851
lemma IsClosed_𝓜 (hU : IsOpen U) : IsClosed (𝓜 U) := by
49-
suffices : IsClosed {f : ℂ →ᵤ[compacts U] ℂ | MapsTo f U (closedBall 0 1)}
50-
· exact (isClosed_𝓗 hU).inter this
52+
suffices h : IsClosed {f : ℂ →ᵤ[compacts U] ℂ | MapsTo f U (closedBall 0 1)}
53+
· exact (isClosed_𝓗 hU).inter h
5154
simp_rw [MapsTo, setOf_forall]
5255
refine isClosed_biInter (λ z hz => isClosed_ball.preimage ?_)
5356
exact ((UniformOnFun.uniformContinuous_eval_of_mem ℂ (compacts U)
5457
(mem_singleton z) ⟨singleton_subset_iff.2 hz, isCompact_singleton⟩).continuous)
5558

56-
lemma IsCompact_𝓜 (hU : IsOpen U) : IsCompact (𝓜 U) := by
57-
simpa only [𝓑_const] using isCompact_𝓑 hU (fun _ _ => isCompact_closedBall 0 1)
58-
5959
-- `𝓘 U` : holomorphic injections into the unit ball
6060

6161
def 𝓘 (U : Set ℂ) := {f ∈ 𝓜 U | InjOn f U}
@@ -108,7 +108,7 @@ lemma 𝓘_subset_𝓙 : 𝓘 U ⊆ 𝓙 U := λ _ hf => ⟨hf.1, Or.inl hf.2⟩
108108

109109
lemma IsCompact_𝓙 [good_domain U] : IsCompact (𝓙 U) := by
110110
have hU : IsOpen U := good_domain.is_open
111-
refine (IsCompact_𝓜 hU).of_isClosed_subset ?_ (λ _ hf => hf.1)
111+
refine (isCompact_𝓜 hU).of_isClosed_subset ?_ (λ _ hf => hf.1)
112112
refine isClosed_iff_clusterPt.2 (λ f hf => ?_)
113113
set l := 𝓝 f ⊓ 𝓟 (𝓙 U)
114114
haveI : l.NeBot := hf

RMT4/montel.lean

Lines changed: 9 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,26 +15,8 @@ variable {ι : Type*} {U K : Set ℂ} {z : ℂ} {F : ι → ℂ →ᵤ[compacts
1515
def UniformlyBoundedOn (F : ι → ℂ → ℂ) (U : Set ℂ) : Prop :=
1616
∀ K ∈ compacts U, ∃ Q, IsCompact Q ∧ ∀ i, MapsTo (F i) K Q
1717

18-
@[deprecated] def UniformlyBoundedOn'' (F : ι → ℂ → ℂ) (U : Set ℂ) : Prop :=
19-
∀ K ∈ compacts U, ∃ M > 0, ∀ z ∈ K, range (eval z ∘ F) ⊆ closedBall 0 M
20-
21-
lemma uniformlyBoundedOn''_iff_uniformlyBoundedOn (F : ι → ℂ → ℂ) (U : Set ℂ) :
22-
UniformlyBoundedOn'' F U ↔ UniformlyBoundedOn F U := by
23-
constructor <;> intro h K hK
24-
· obtain ⟨M, -, hM2⟩ := h K hK
25-
refine ⟨closedBall 0 M, isCompact_closedBall _ _, fun i z hz => ?_⟩
26-
exact hM2 z hz <| mem_range.mpr ⟨i, rfl⟩
27-
· obtain ⟨Q, hQ1, hQ2⟩ := h K hK
28-
obtain ⟨M, hM⟩ := hQ1.isBounded.subset_closedBall 0
29-
refine ⟨M ⊔ 1, by simp, fun z hz y => ?_⟩
30-
rintro ⟨i, rfl⟩
31-
have := hM (hQ2 i hz)
32-
simp at this
33-
simp [this]
34-
3518
lemma UniformlyBoundedOn.deriv (h1 : UniformlyBoundedOn F U) (hU : IsOpen U)
36-
(h2 : ∀ i, DifferentiableOn ℂ (F i) U) :
37-
UniformlyBoundedOn (deriv ∘ F) U := by
19+
(h2 : ∀ i, DifferentiableOn ℂ (F i) U) : UniformlyBoundedOn (deriv ∘ F) U := by
3820
rintro K ⟨hK1, hK2⟩
3921
obtain ⟨δ, hδ, h⟩ := hK2.exists_cthickening_subset_open hU hK1
4022
have e1 : cthickening δ K ∈ compacts U :=
@@ -51,29 +33,24 @@ lemma UniformlyBoundedOn.deriv (h1 : UniformlyBoundedOn F U) (hU : IsOpen U)
5133
sphere_subset_closedBall.trans (closedBall_subset_cthickening hx δ) hz
5234
simpa using hM (hQ2 i this)
5335

54-
lemma UniformlyBoundedOn.equicontinuousOn
55-
(h1 : UniformlyBoundedOn F U)
56-
(hU : IsOpen U)
57-
(h2 : ∀ (i : ι), DifferentiableOn ℂ (F i) U)
58-
(hK : K ∈ compacts U) :
59-
EquicontinuousOn F K := by
36+
lemma UniformlyBoundedOn.equicontinuousOn (h1 : UniformlyBoundedOn F U) (hU : IsOpen U)
37+
(h2 : ∀ i, DifferentiableOn ℂ (F i) U) (hK : K ∈ compacts U) : EquicontinuousOn F K := by
6038
apply (equicontinuous_restrict_iff _).mp
61-
have key := h1.deriv hU h2
6239
rintro ⟨z, hz⟩
6340
obtain ⟨δ, hδ, h⟩ := nhds_basis_closedBall.mem_iff.1 (hU.mem_nhds (hK.1 hz))
64-
have : ∃ M > 0, ∀ x ∈ closedBall z δ, ∀ i, _root_.deriv (F i) x ∈ closedBall 0 M := by
65-
rw [← uniformlyBoundedOn''_iff_uniformlyBoundedOn] at key
66-
obtain ⟨m, hm, h⟩ := key (closedBall z δ) ⟨h, isCompact_closedBall _ _⟩
67-
exact ⟨m, hm, fun x hx i => h x hx ⟨i, rfl⟩⟩
41+
have : ∃ M > 0, ∀ i, MapsTo (_root_.deriv (F i)) (closedBall z δ) (closedBall 0 M) := by
42+
obtain ⟨Q, hQ1, hQ2⟩ := h1.deriv hU h2 (closedBall z δ) ⟨h, isCompact_closedBall _ _⟩
43+
obtain ⟨M, hM⟩ := hQ1.isBounded.subset_closedBall 0
44+
refine ⟨M ⊔ 1, by simp, fun i => ?_⟩
45+
exact ((hQ2 i).mono_right hM).mono_right <| closedBall_subset_closedBall le_sup_left
6846
obtain ⟨M, hMp, hM⟩ := this
6947
rw [equicontinuousAt_iff]
7048
rintro ε hε
7149
refine ⟨δ ⊓ ε / M, gt_iff_lt.2 (lt_inf_iff.2 ⟨hδ, div_pos hε hMp⟩), λ w hw i => ?_⟩
7250
simp
7351
have e1 : ∀ x ∈ closedBall z δ, DifferentiableAt ℂ (F i) x :=
7452
λ x hx => (h2 i).differentiableAt (hU.mem_nhds (h hx))
75-
have e2 : ∀ x ∈ closedBall z δ, ‖_root_.deriv (F i) x‖ ≤ M :=
76-
λ x hx => by simpa using hM x hx i
53+
have e2 : ∀ x ∈ closedBall z δ, ‖_root_.deriv (F i) x‖ ≤ M := by simpa [MapsTo] using hM i
7754
have e3 : z ∈ closedBall z δ := mem_closedBall_self hδ.le
7855
have e4 : w.1 ∈ closedBall z δ := by simpa using (lt_inf_iff.1 hw).1.le
7956
rw [dist_eq_norm]

0 commit comments

Comments
 (0)