Skip to content
Closed
Changes from all commits
Commits
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
25 changes: 25 additions & 0 deletions Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,31 @@ theorem angle_eq_zero_iff_eq_and_ne_or_sbtw {p₁ p₂ p₃ : P} :
by_cases hp₃p₂ : p₃ = p₂; · simp [hp₃p₂]
simp [hp₁p₂, hp₁p₃, Ne.symm hp₁p₃, Sbtw, hp₃p₂]

/-- An Unoriented angle is unchanged by replacing the third point by one strictly further away on
the same ray. -/
theorem _root_.Sbtw.angle_eq_right {p₂ p₃ p : P} (p₁ : P) (h : Sbtw ℝ p₂ p₃ p) :
∠ p₁ p₂ p₃ = ∠ p₁ p₂ p :=
angle_eq_angle_of_angle_eq_pi _ h.angle₁₂₃_eq_pi

/-- An Unoriented angle is unchanged by replacing the first point by one strictly further away on
the same ray. -/
theorem _root_.Sbtw.angle_eq_left {p₁ p p₂ : P} (p₃ : P) (h : Sbtw ℝ p₂ p₁ p) :
∠ p₁ p₂ p₃ = ∠ p p₂ p₃ := by
simpa only [angle_comm] using h.angle_eq_right p₃

/-- An Unoriented angle is unchanged by replacing the third point by one weakly further away on the
same ray. -/
theorem _root_.Wbtw.angle_eq_right {p₂ p₃ p : P} (p₁ : P) (h : Wbtw ℝ p₂ p₃ p) (hp₃p₂ : p₃ ≠ p₂) :
∠ p₁ p₂ p₃ = ∠ p₁ p₂ p := by
by_cases hp₃p : p₃ = p; · simp [hp₃p]
exact Sbtw.angle_eq_right _ ⟨h, hp₃p₂, hp₃p⟩

/-- An Unoriented angle is unchanged by replacing the first point by one weakly further away on the
same ray. -/
theorem _root_.Wbtw.angle_eq_left {p₁ p p₂ : P} (p₃ : P) (h : Wbtw ℝ p₂ p₁ p) (hp₁p₂ : p₁ ≠ p₂) :
∠ p₁ p₂ p₃ = ∠ p p₂ p₃ := by
simpa only [angle_comm] using h.angle_eq_right p₃ hp₁p₂

/-- Three points are collinear if and only if the first or third point equals the second or the
angle between them is 0 or π. -/
theorem collinear_iff_eq_or_eq_or_angle_eq_zero_or_angle_eq_pi {p₁ p₂ p₃ : P} :
Expand Down