Existing in Mathlib · Geometry
Law of Sines
Mark the angles at p₂ and p₁ in a triangle. The sine at p₂ multiplied by the side p₂—p₃ equals the sine at p₁ multiplied by the side p₃—p₁. Mathlib keeps this as a division-free product identity, so the declaration also covers degenerate triples where a ratio form would need nonzero-side hypotheses.
- law of sines
- Euclidean affine geometry
- angle
- distance
- division-free identity
Exact theorem
Exact Mathlib statement
theorem EuclideanGeometry.sin_angle_mul_dist_eq_sin_angle_mul_dist {V : Type*} {P : Type*} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MetricSpace P] [NormedAddTorsor V P] (p₁ p₂ p₃ : P) : Real.sin (∠ p₁ p₂ p₃) * dist p₂ p₃ = Real.sin (∠ p₃ p₁ p₂) * dist p₃ p₁The theorem at a glance
Law of Sines at a glance
A visual guide to the theorem's hypotheses, structure, and conclusion; the exact statement gives the formal detail.
Law of Sines at a glance

Detailed visual description
The poster marks the angles at p₂ and p₁ and their opposite sides, prints the exact two-term sine-distance equality, and follows the checked source from affine angles and distances through vector norms and the vector sine identity to the supplementary-angle sine step. Its exact-scope footer excludes any automatic ratio or nondegeneracy claim.
Statement structure
From hypotheses to conclusion
This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.
Two angle markings, two opposite sides

Detailed visual description
Exactly three labeled point markers form an oblique scalene triangle with no right angle. Exactly two double-stroked angle markings appear. The gold marking at p₁ is paired by color and double line with its opposite side p₂—p₃, and the cobalt marking at p₂ is paired by color and dashed line with its opposite side p₃—p₁. Each marking has two nested curved strokes; there is no angle marking at p₃ and no third side pairing. Below, the gold double line and cobalt dashed line cross at one neutral open ring, evoking the cross-multiplied product relation without printing a ratio, equality sign, distance, or sine formula.
Why it matters
A mathematical landmark
The law of sines is a fundamental bridge between angles and side lengths. Mathlib's selected declaration records its robust cross-multiplied form in any real inner-product affine space, and its proof connects the affine triangle to a vector sine-norm identity without adding planar or nondegeneracy assumptions.
ProofAtlas record
What has been checked
Mathlib is the source of the theorem; the local Lean replay and page review are separate.
Claim boundary
No new theorem is claimed
This page indexes Mathlib's division-free angle-at-point law of sines for arbitrary points p₁, p₂, and p₃ in an affine metric space modeled on a real inner-product space. The selected endpoint is exactly Real.sin (∠ p₁ p₂ p₃) * dist p₂ p₃ = Real.sin (∠ p₃ p₁ p₂) * dist p₃ p₁. It assumes neither distinctness nor non-collinearity and is not limited to the Euclidean plane. It does not itself state a quotient identity, justify division by either distance, or present all three cyclic ratios in one declaration.
- ProofAtlas did not originate the law of sines or Mathlib's declaration.
- The selected declaration does not assume that the three points are distinct or non-collinear.
- The selected declaration is not limited to a two-dimensional Euclidean plane.
- It does not itself state the nearby ratio form or authorize cancelling a possibly zero distance.
- It directly records one two-term product equality rather than a three-way chain of ratios.
- The generated explanation and visuals are not proof evidence.
Source and local evidence
Where the theorem comes from
- Existing declaration
EuclideanGeometry.sin_angle_mul_dist_eq_sin_angle_mul_distin mathlib- Relationship
- The checked artifact is the upstream declaration itself
- Local Lean evidence
artifact.library.mathlib.law-of-sines.v001