File tree Expand file tree Collapse file tree 3 files changed +39
-0
lines changed Expand file tree Collapse file tree 3 files changed +39
-0
lines changed Original file line number Diff line number Diff line change @@ -627,6 +627,18 @@ lemma ball_one_subset_slitPlane : Metric.ball 1 1 ⊆ slitPlane := fun z hz ↦
627627lemma mem_slitPlane_of_norm_lt_one {z : ℂ} (hz : ‖z‖ < 1 ) : 1 + z ∈ slitPlane :=
628628 ball_one_subset_slitPlane <| by simpa
629629
630+ open Metric in
631+ /-- A subset of the circle centered at the origin in `ℂ` of radius `r` is a subset of
632+ the `slitPlane` if it does not contain `-r`. -/
633+ lemma subset_slitPlane_iff_of_subset_sphere {r : ℝ} {s : Set ℂ} (hs : s ⊆ sphere 0 r) :
634+ s ⊆ slitPlane ↔ (-r : ℂ) ∉ s := by
635+ simp_rw +singlePass [← not_iff_not, Set.subset_def, mem_slitPlane_iff_not_le_zero]
636+ push ¬ _
637+ refine ⟨?_, fun hr ↦ ⟨_, hr, by simpa using hs hr⟩⟩
638+ rintro ⟨z, hzs, hz⟩
639+ have : ‖z‖ = r := by simpa using hs hzs
640+ simpa [← this, ← norm_neg z ▸ eq_coe_norm_of_nonneg (neg_nonneg.mpr hz)]
641+
630642end slitPlane
631643
632644lemma _root_.IsCompact.reProdIm {s t : Set ℝ} (hs : IsCompact s) (ht : IsCompact t) :
Original file line number Diff line number Diff line change @@ -354,4 +354,27 @@ lemma re_neg_ne_zero_of_re_pos {s : ℂ} (hs : 0 < s.re) : (-s).re ≠ 0 :=
354354lemma re_neg_ne_zero_of_one_lt_re {s : ℂ} (hs : 1 < s.re) : (-s).re ≠ 0 :=
355355 re_neg_ne_zero_of_re_pos <| zero_lt_one.trans hs
356356
357+ lemma norm_sub_one_sq_eq_of_norm_one {z : ℂ} (hz : ‖z‖ = 1 ) :
358+ ‖z - 1 ‖ ^ 2 = 2 * (1 - z.re) := by
359+ have : z.im * z.im = 1 - z.re * z.re := by
360+ replace hz := sq_eq_one_iff.mpr (.inl hz)
361+ rw [Complex.sq_norm, normSq_apply] at hz
362+ linarith
363+ simp [Complex.sq_norm, normSq_apply, this]
364+ ring
365+
366+ lemma norm_sub_one_sq_eqOn_sphere :
367+ (Metric.sphere (0 : ℂ) 1 ).EqOn (‖· - 1 ‖ ^ 2 ) (fun z ↦ 2 * (1 - z.re)) :=
368+ fun z hz ↦ norm_sub_one_sq_eq_of_norm_one (by simpa using hz)
369+
370+ lemma normSq_ofReal_add_I_mul_sqrt_one_sub {x : ℝ} (hx : ‖x‖ ≤ 1 ) :
371+ normSq (x + I * √(1 - x ^ 2 )) = 1 := by
372+ simp [mul_comm I, normSq_add_mul_I,
373+ Real.sq_sqrt (x := 1 - x ^ 2 ) (by nlinarith [abs_le.mp hx])]
374+
375+ lemma normSq_ofReal_sub_I_mul_sqrt_one_sub {x : ℝ} (hx : ‖x‖ ≤ 1 ) :
376+ normSq (x - I * √(1 - x ^ 2 )) = 1 := by
377+ rw [← normSq_neg, neg_sub', sub_neg_eq_add]
378+ simpa using normSq_ofReal_add_I_mul_sqrt_one_sub (x := -x) (by simpa)
379+
357380end Complex
Original file line number Diff line number Diff line change @@ -574,6 +574,10 @@ theorem continuousAt_arg (h : x ∈ slitPlane) : ContinuousAt arg x := by
574574 (continuous_re.continuousAt.div continuous_norm.continuousAt h₀)).congr
575575 (arg_eq_nhds_of_im_pos hx_im).symm]
576576
577+ @[fun_prop]
578+ theorem continuousOn_arg : ContinuousOn arg slitPlane :=
579+ fun _ h ↦ continuousAt_arg h |>.continuousWithinAt
580+
577581theorem tendsto_arg_nhdsWithin_im_neg_of_re_neg_of_im_zero {z : ℂ} (hre : z.re < 0 )
578582 (him : z.im = 0 ) : Tendsto arg (𝓝[{ z : ℂ | z.im < 0 }] z) (𝓝 (-π)) := by
579583 suffices H : Tendsto (fun x : ℂ => Real.arcsin ((-x).im / ‖x‖) - π)
You can’t perform that action at this time.
0 commit comments