Update holomorphic_primitive2.lean
This commit is contained in:
parent
ad5e7c69fd
commit
f0b84fcbff
|
@ -89,18 +89,45 @@ theorem primitive_fderivAtBasepointZero
|
||||||
rw [← intervalIntegral.integral_sub t₂ t₃]
|
rw [← intervalIntegral.integral_sub t₂ t₃]
|
||||||
rw [Filter.eventually_iff_exists_mem]
|
rw [Filter.eventually_iff_exists_mem]
|
||||||
|
|
||||||
let s := f⁻¹' Metric.ball (f 0) (c / (4 : ℝ))
|
obtain ⟨s, h₁s, h₂s⟩ : ∃ s ⊆ f⁻¹' Metric.ball (f 0) (c / (4 : ℝ)), IsOpen s ∧ 0 ∈ s := by
|
||||||
have h₁s : IsOpen s := IsOpen.preimage hf Metric.isOpen_ball
|
have B : Metric.ball (f 0) (c / 4) ∈ nhds (f 0) := by
|
||||||
have h₂s : 0 ∈ s := by
|
apply Metric.ball_mem_nhds (f 0)
|
||||||
apply Set.mem_preimage.mpr
|
linarith
|
||||||
apply Metric.mem_ball_self
|
exact eventually_nhds_iff.mp (continuousAt_def.1 hf (Metric.ball (f 0) (c / (4 : ℝ))) B)
|
||||||
linarith
|
|
||||||
|
|
||||||
obtain ⟨ε, h₁ε, h₂ε⟩ := Metric.isOpen_iff.1 h₁s 0 h₂s
|
obtain ⟨ε, h₁ε, h₂ε⟩ : ∃ ε > 0, (Metric.ball 0 ε) ×ℂ (Metric.ball 0 ε) ⊆ s := by
|
||||||
|
obtain ⟨ε', h₁ε', h₂ε'⟩ : ∃ ε' > 0, Metric.ball 0 ε' ⊆ s := by
|
||||||
|
apply Metric.mem_nhds_iff.mp
|
||||||
|
apply IsOpen.mem_nhds
|
||||||
|
exact h₂s.1
|
||||||
|
exact h₂s.2
|
||||||
|
use (2 : ℝ)⁻¹ * ε'
|
||||||
|
constructor
|
||||||
|
· simpa
|
||||||
|
· intro x hx
|
||||||
|
apply h₂ε'
|
||||||
|
simp
|
||||||
|
calc Complex.abs x
|
||||||
|
_ ≤ |x.re| + |x.im| := Complex.abs_le_abs_re_add_abs_im x
|
||||||
|
_ < (2 : ℝ)⁻¹ * ε' + |x.im| := by
|
||||||
|
apply (add_lt_add_iff_right |x.im|).mpr
|
||||||
|
have : x.re ∈ Metric.ball 0 (2⁻¹ * ε') := (Complex.mem_reProdIm.1 hx).1
|
||||||
|
simp at this
|
||||||
|
exact this
|
||||||
|
_ < (2 : ℝ)⁻¹ * ε' + (2 : ℝ)⁻¹ * ε' := by
|
||||||
|
apply (add_lt_add_iff_left ((2 : ℝ)⁻¹ * ε')).mpr
|
||||||
|
have : x.im ∈ Metric.ball 0 (2⁻¹ * ε') := (Complex.mem_reProdIm.1 hx).2
|
||||||
|
simp at this
|
||||||
|
exact this
|
||||||
|
_ = ε' := by
|
||||||
|
rw [← add_mul]
|
||||||
|
abel_nf
|
||||||
|
simp
|
||||||
|
|
||||||
have h₃ε : ∀ y ∈ Metric.ball 0 ε, ‖(f y) - (f 0)‖ < (c / (4 : ℝ)) := by
|
have h₃ε : ∀ y ∈ (Metric.ball 0 ε) ×ℂ (Metric.ball 0 ε), ‖(f y) - (f 0)‖ < (c / (4 : ℝ)) := by
|
||||||
intro y hy
|
intro y hy
|
||||||
apply mem_ball_iff_norm.mp (h₂ε hy)
|
apply mem_ball_iff_norm.mp
|
||||||
|
exact h₁s (h₂ε hy)
|
||||||
|
|
||||||
use Metric.ball 0 (ε / (4 : ℝ))
|
use Metric.ball 0 (ε / (4 : ℝ))
|
||||||
constructor
|
constructor
|
||||||
|
@ -148,12 +175,11 @@ theorem primitive_fderivAtBasepointZero
|
||||||
_ < ε / 4 := h₁y
|
_ < ε / 4 := h₁y
|
||||||
apply le_of_lt
|
apply le_of_lt
|
||||||
apply h₃ε { re := x, im := 0 }
|
apply h₃ε { re := x, im := 0 }
|
||||||
rw [mem_ball_iff_norm]
|
constructor
|
||||||
simp
|
· simp
|
||||||
have : { re := x, im := 0 } = (x : ℂ) := by rfl
|
linarith
|
||||||
rw [this]
|
· simp
|
||||||
rw [Complex.abs_ofReal]
|
exact h₁ε
|
||||||
linarith
|
|
||||||
|
|
||||||
have t₂ : ‖∫ (x : ℝ) in (0)..(y.im), f { re := y.re, im := x } - f 0‖ ≤ (c / (4 : ℝ)) * |y.im - 0| := by
|
have t₂ : ‖∫ (x : ℝ) in (0)..(y.im), f { re := y.re, im := x } - f 0‖ ≤ (c / (4 : ℝ)) * |y.im - 0| := by
|
||||||
apply intervalIntegral.norm_integral_le_of_norm_le_const
|
apply intervalIntegral.norm_integral_le_of_norm_le_const
|
||||||
|
@ -166,13 +192,11 @@ theorem primitive_fderivAtBasepointZero
|
||||||
|
|
||||||
apply le_of_lt
|
apply le_of_lt
|
||||||
apply h₃ε { re := y.re, im := x }
|
apply h₃ε { re := y.re, im := x }
|
||||||
simp
|
constructor
|
||||||
|
· simp
|
||||||
calc Complex.abs { re := y.re, im := x }
|
linarith
|
||||||
_ ≤ |y.re| + |x| := by
|
· simp
|
||||||
apply Complex.abs_le_abs_re_add_abs_im { re := y.re, im := x }
|
linarith
|
||||||
_ < ε := by
|
|
||||||
linarith
|
|
||||||
|
|
||||||
calc ‖(∫ (x : ℝ) in (0)..(y.re), f { re := x, im := 0 } - f 0) + Complex.I • ∫ (x : ℝ) in (0)..(y.im), f { re := y.re, im := x } - f 0‖
|
calc ‖(∫ (x : ℝ) in (0)..(y.re), f { re := x, im := 0 } - f 0) + Complex.I • ∫ (x : ℝ) in (0)..(y.im), f { re := y.re, im := x } - f 0‖
|
||||||
_ ≤ ‖(∫ (x : ℝ) in (0)..(y.re), f { re := x, im := 0 } - f 0)‖ + ‖Complex.I • ∫ (x : ℝ) in (0)..(y.im), f { re := y.re, im := x } - f 0‖ := by
|
_ ≤ ‖(∫ (x : ℝ) in (0)..(y.re), f { re := x, im := 0 } - f 0)‖ + ‖Complex.I • ∫ (x : ℝ) in (0)..(y.im), f { re := y.re, im := x } - f 0‖ := by
|
||||||
|
|
Loading…
Reference in New Issue