mathlib documentation

geometry.euclidean.sphere

Spheres #

This file proves basic geometrical results about distances and angles in spheres in real inner product spaces and Euclidean affine spaces.

Main theorems #

TODO: The current statement of Ptolemy’s theorem works around the lack of a "cyclic polygon" concept in mathlib, which is what the theorem statement would naturally use (or two such concepts, since both a strict version, where all vertices must be distinct, and a weak version, where consecutive vertices may be equal, would be useful; Ptolemy's theorem should then use the weak one).

An API needs to be built around that concept, which would include:

Geometrical results on spheres in real inner product spaces #

This section develops some results on spheres in real inner product spaces, which are used to deduce corresponding results for Euclidean affine spaces.

theorem inner_product_geometry.mul_norm_eq_abs_sub_sq_norm {V : Type u_1} [inner_product_space V] {x y z : V} (h₁ : ∃ (k : ), k 1 x + y = k (x - y)) (h₂ : z - y = z + y) :
x - y * x + y = |z + y ^ 2 - z - x ^ 2|

Geometrical results on spheres in Euclidean affine spaces #

This section develops some results on spheres in Euclidean affine spaces.

theorem euclidean_geometry.mul_dist_eq_abs_sub_sq_dist {V : Type u_1} [inner_product_space V] {P : Type u_2} [metric_space P] [normed_add_torsor V P] {a b p q : P} (hp : ∃ (k : ), k 1 b -ᵥ p = k (a -ᵥ p)) (hq : has_dist.dist a q = has_dist.dist b q) :

If P is a point on the line AB and Q is equidistant from A and B, then AP * BP = abs (BQ ^ 2 - PQ ^ 2).

theorem euclidean_geometry.mul_dist_eq_mul_dist_of_cospherical {V : Type u_1} [inner_product_space V] {P : Type u_2} [metric_space P] [normed_add_torsor V P] {a b c d p : P} (h : euclidean_geometry.cospherical {a, b, c, d}) (hapb : ∃ (k₁ : ), k₁ 1 b -ᵥ p = k₁ (a -ᵥ p)) (hcpd : ∃ (k₂ : ), k₂ 1 d -ᵥ p = k₂ (c -ᵥ p)) :

If A, B, C, D are cospherical and P is on both lines AB and CD, then AP * BP = CP * DP.

Intersecting Chords Theorem.

theorem euclidean_geometry.mul_dist_eq_mul_dist_of_cospherical_of_angle_eq_zero {V : Type u_1} [inner_product_space V] {P : Type u_2} [metric_space P] [normed_add_torsor V P] {a b c d p : P} (h : euclidean_geometry.cospherical {a, b, c, d}) (hab : a b) (hcd : c d) (hapb : euclidean_geometry.angle a p b = 0) (hcpd : euclidean_geometry.angle c p d = 0) :

Intersecting Secants Theorem.