Spherical sets project to minimal-energy general-position images
ProvedNearEnemy.nearEnemy_sphereSlice_exists_bisectorEnergy_minimal_image_generalPosition_distanceTransportLet be a finite set in EuclideanSpace ℝ ι contained in a metric sphere of center and radius (hypothesis hG: every lies in Metric.sphere center R). Then there exists a real-linear map to the plane delivering the same full bundle as in the no-three-collinear case: injectivity on , with minimality among equal-cardinality planar sets, general position of the image (no three collinear, no four cospherical), , exact distance transport, and the distance-class counting identity:
This is the spherical-source counterpart of the main bundle. Sphere membership is the only hypothesis: no general-position assumption is imposed on , because a line meets a sphere in at most two points, so a set on a sphere is automatically no-three-collinear. Every four points of are of course cospherical; it is the planar image that is shown free of cospherical quadruples. The corollary therefore extends the Near Enemy conclusion to spherical configurations at no extra cost in hypotheses.
import Mathlib
import Definitions.Def_NearEnemyDefs
universe u_1
open scoped RealInnerProductSpace
open scoped Classical
open MvPolynomial
variable {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℝ V]
variable {ι : Type*} [Fintype ι]
open NearEnemy
theorem NearEnemy.nearEnemy_sphereSlice_exists_bisectorEnergy_minimal_image_generalPosition_distanceTransport {center : EuclideanSpace ℝ ι} {R : ℝ} {G : Finset (EuclideanSpace ℝ ι)}
(hG : ∀ x ∈ G, x ∈ Metric.sphere center R) :
∃ T : EuclideanSpace ℝ ι →ₗ[ℝ] EuclideanSpace ℝ (Fin 2),
Set.InjOn (fun x ↦ T x) ↑G ∧
bisectorEnergy (G.image fun x ↦ T x) = 2 * G.card * (G.card - 1) ∧
(∀ P' : Finset (EuclideanSpace ℝ (Fin 2)), P'.card = G.card →
bisectorEnergy (G.image fun x ↦ T x) ≤ bisectorEnergy P') ∧
(∀ q₁ ∈ G.image (fun x ↦ T x), ∀ q₂ ∈ G.image (fun x ↦ T x),
∀ q₃ ∈ G.image (fun x ↦ T x), q₁ ≠ q₂ → q₁ ≠ q₃ → q₂ ≠ q₃ →
¬ Collinear ℝ ({q₁, q₂, q₃} : Set (EuclideanSpace ℝ (Fin 2)))) ∧
(∀ q₁ ∈ G.image (fun x ↦ T x), ∀ q₂ ∈ G.image (fun x ↦ T x),
∀ q₃ ∈ G.image (fun x ↦ T x), ∀ q₄ ∈ G.image (fun x ↦ T x),
q₁ ≠ q₂ → q₁ ≠ q₃ → q₁ ≠ q₄ → q₂ ≠ q₃ → q₂ ≠ q₄ → q₃ ≠ q₄ →
¬ EuclideanGeometry.Cospherical
({q₁, q₂, q₃, q₄} : Set (EuclideanSpace ℝ (Fin 2)))) ∧
rotationEnergy (G.image fun x ↦ T x) = 0 ∧
(∀ a ∈ G, ∀ b ∈ G, ∀ c ∈ G, ∀ e ∈ G,
(dist (T a) (T b) = dist (T c) (T e) ↔
(a - b = c - e ∨ a - b = -(c - e)))) ∧
(((G.image fun x ↦ T x).offDiag).image fun q ↦ dist q.1 q.2).card =
((G.offDiag).image fun p ↦
({p.1 - p.2, p.2 - p.1} : Finset (EuclideanSpace ℝ ι))).card := by sorry
Confirmed by the mission captain (proposal self-audit).