The isosceles triangle theorem (pons asinorum)
ProvedFamousTheorems.isosceles_triangleThe isosceles triangle theorem, Euclid's pons asinorum.
If then the two base angles are equal:
Equal sides subtend equal angles. It is Euclid I.5, the first proposition of the Elements that requires any real argument, and the point at which readers traditionally gave up — hence "the bridge of asses". Euclid's proof extends the equal sides and compares two overlapping triangles; Pappus gave the slicker argument of matching the triangle with its own mirror image, which is the proof that generalizes to the abstract setting here.
Together with its converse (equal angles force equal sides) it is what makes "isosceles" a meaningful notion at all, and it is the first step in almost every classical construction — bisecting an angle, erecting a perpendicular, inscribing a regular polygon.
Formalization note. ∠ p₁ p₂ p₃ is the unoriented angle at the vertex , so the two angles
compared are those at the base vertices and . The result is Mathlib's
EuclideanGeometry.angle_eq_angle_of_dist_eq.
import Mathlib
namespace FamousTheorems
open scoped EuclideanGeometry Real
theorem isosceles_triangle
{V : Type*} {P : Type*} [NormedAddCommGroup V] [InnerProductSpace ℝ V]
[MetricSpace P] [NormedAddTorsor V P]
{p₁ p₂ p₃ : P} (h : dist p₁ p₂ = dist p₁ p₃) : ∠ p₁ p₂ p₃ = ∠ p₁ p₃ p₂ := by sorry
end FamousTheorems