Skip to content

Commit 5d8e57a

Browse files
committed
chore(Geometry/Euclidean/Angle/Sphere): address review
1 parent 0c44846 commit 5d8e57a

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

Mathlib/Geometry/Euclidean/Angle/Sphere.lean

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -227,21 +227,26 @@ theorem two_zsmul_oangle_center_add_two_zsmul_oangle_eq_pi {s : Sphere P} {p₁
227227
rw [← oangle_center_eq_two_zsmul_oangle hp₁ hp₂ hp₃ hp₂p₁ hp₂p₃,
228228
oangle_eq_pi_sub_two_zsmul_oangle_center_right hp₁ hp₃ hp₁p₃, add_sub_cancel]
229229

230+
/-- For a tangent line to a sphere, twice the oriented angle between the line and the radius at the
231+
tangent point equals `π`. -/
232+
theorem IsTangentAt.two_zsmul_oangle_eq_pi {s : Sphere P} {p q : P} {as : AffineSubspace ℝ P}
233+
(h : s.IsTangentAt p as) (hq : q ∈ as) (hqp : q ≠ p) (hcp : s.center ≠ p) :
234+
(2 : ℤ) • ∡ q p s.center = π := by
235+
rw [Real.Angle.two_zsmul_eq_pi_iff, ← Real.Angle.abs_toReal_eq_pi_div_two_iff,
236+
← angle_eq_abs_oangle_toReal hqp hcp]
237+
exact h.angle_eq_pi_div_two hq
238+
230239
/-- **Alternate segment theorem**: Oriented angle version of "the angle between a tangent and
231240
a chord equals the inscribed angle subtending that chord", for oriented angles mod π,
232241
represented here as equality of twice the angles. -/
233242
theorem two_zsmul_oangle_tangent_eq {s : Sphere P} {p₁ p₂ p₃ p₄ : P} (hp₁ : p₁ ∈ s) (hp₂ : p₂ ∈ s)
234243
(hp₃ : p₃ ∈ s) (htan : s.IsTangentAt p₁ line[ℝ, p₁, p₄]) (hp₄p₁ : p₄ ≠ p₁) (hp₃p₁ : p₃ ≠ p₁)
235244
(hp₃p₂ : p₃ ≠ p₂) (hp₂p₁ : p₂ ≠ p₁) :
236245
(2 : ℤ) • ∡ p₄ p₁ p₂ = (2 : ℤ) • ∡ p₁ p₃ p₂ := by
237-
have hcenter : s.center ≠ p₁ := by
238-
rintro rfl
239-
exact hp₃p₁ (dist_eq_zero.mp (by rw [mem_sphere.mp hp₃, ← mem_sphere.mp hp₁, dist_self]))
246+
have hcenter : s.center ≠ p₁ := (ne_center_of_mem_of_mem_of_ne hp₁ hp₃ hp₃p₁.symm).symm
240247
have htan_chord : (2 : ℤ) • ∡ p₄ p₁ p₂ = π + (2 : ℤ) • ∡ s.center p₁ p₂ := by
241-
have hright : (2 : ℤ) • ∡ p₄ p₁ s.center = π := by
242-
rw [Real.Angle.two_zsmul_eq_pi_iff, ← Real.Angle.abs_toReal_eq_pi_div_two_iff,
243-
← angle_eq_abs_oangle_toReal hp₄p₁ hcenter]
244-
exact htan.angle_eq_pi_div_two (right_mem_affineSpan_pair ℝ p₁ p₄)
248+
have hright : (2 : ℤ) • ∡ p₄ p₁ s.center = π :=
249+
htan.two_zsmul_oangle_eq_pi (right_mem_affineSpan_pair ℝ p₁ p₄) hp₄p₁ hcenter
245250
rw [← oangle_add hp₄p₁ hcenter hp₂p₁, smul_add, hright]
246251
have hinscribed : (2 : ℤ) • ∡ p₁ p₃ p₂ = π + (2 : ℤ) • ∡ s.center p₁ p₂ := by
247252
have h := two_zsmul_oangle_center_add_two_zsmul_oangle_eq_pi hp₁ hp₃ hp₂ hp₃p₁ hp₃p₂ hp₂p₁.symm

0 commit comments

Comments
 (0)