Zulip Chat Archive

Stream: Is there code for X?

Topic: generic great circle on the sphere misses any finite set


Alex Kontorovich (May 15 2024 at 15:47):

Do we have something like the following already? I want to know that given any finite set of points on the sphere, there is a great circle that misses all of them... Thanks!

Ruben Van de Velde (May 15 2024 at 16:31):

That sounds like something that might not even be obvious to state. Unless it exists in sphere eversion?

Adam Topaz (May 15 2024 at 16:36):

I assume the sphere is centered in Euclidean space? In that case it could be stated in terms of the intersection of the sphere with some generic hyperplane.

Richard Copley (May 15 2024 at 17:15):

(Does our EuclideanSpace have a center?)

Easy to prove on paper: let S2S^2 be the unit sphere center the origin in the real inner-product space R3\mathbb{R}^3. Let ss be a finite set of points of S2S^2.

Choose an antipodal pair pp, p-p of points of S2S^2 [edit: disjoint from ss] and choose an orthogonal basis E\mathscr{E} such that p=(0,0,1)Ep = (0, 0, 1)_{\mathscr{E}}.

Let t={θ(x):xs}t = \{\theta(x) : x \in s\}, a finite set, where θ(x)\theta(x) is the azimuth of x=(cosθsinϕ,sinθsinϕ,cosϕ)Ex = (\cos\theta\sin\phi, \sin\theta\sin\phi, \cos\phi)_{\mathscr{E}} for all xS2{p,p}x \in S^2 \setminus \{p, -p\}.

Choose an angle θt\theta \notin t. Then the great circle is (cosθsinϕ,sinθsinϕ,cosϕ)E(\cos\theta\sin\phi, \sin\theta\sin\phi, \cos\phi)_{\mathscr{E}} has the desired property.

Adam Topaz (May 15 2024 at 17:16):

Oh, I was thinking that one should prove the more general fact that given a finite set of nonzero points in Rn\mathbb{R}^n (n > 1) you can find some hyperplane which misses them all.

Richard Copley (May 15 2024 at 17:19):

Hmm, ok. Choose an origin [edit: outside the finite set], then do the above (the distance of each of the points considered from the origin is irrelevant).

Scott Carnahan (May 15 2024 at 17:24):

Alternatively, there is a linear functional that doesn't vanish at any of the finitely many points.

Adam Topaz (May 15 2024 at 17:25):

That sounds like something we may actually have...

Richard Copley (May 15 2024 at 17:38):

This is too easy if we're allowed to use any plane (or equivalently, if we desire a subspace but we are allowed to choose the origin): use the plane x=Xx=X where X>xiX > x_i for all (xi,yi,zi)s(x_i, y_i, z_i)\in s.

Richard Copley (May 15 2024 at 17:41):

@Adam Topaz yep, nonzero points, and a linear subspace, not just a hyperplane

Adam Topaz (May 15 2024 at 17:42):

Yeah of course

Scott Carnahan (May 15 2024 at 18:38):

Another alternative: Finitely many nonzero points describe a finite union of hyperplanes in the dual space, and this is not the whole dual space.

Adam Topaz (May 15 2024 at 19:25):

I think that's probably the best approach for mathlib: prove that over an infinite field a vector space cannot be the union of finitely many proper subspaces (or better, provide a bound on the cardinality of the field given the fact that a vector space is the union of finitely many subspaces). Then use Scott's argument in the dual space, etc.

Jireh Loreaux (May 15 2024 at 23:22):

This works for countably many points too, right?

Antoine Chambert-Loir (May 15 2024 at 23:45):

And if you're willing to be teasing, it even works for <20<2^{\aleph_0} points.

Richard Copley (May 16 2024 at 01:06):

There's a nice proof here

Richard Copley (May 16 2024 at 03:05):

And there's a not-nice formalization of (the inside bit of) it below. I only did the < ℵ₀ case.

Vincent Beffara (May 16 2024 at 09:13):

Another option, fix the big circle but move the points using a uniformly chosen element of SO3, by a union bound you just have to show that one point is moved a.s. to the complement of the circle, which in turn is the statement that the circle has measure 0. (Which also works for countably many points.)

Antoine Chambert-Loir (May 16 2024 at 09:47):

Yet another option: prove that a union of nontrivial polynomial hypersurfaces misses one point. (Works over any infinite field, with strictly less hypersurfaces than the cardinality of the field.)

Richard Copley (May 16 2024 at 10:09):

One can (and should) replace [RCLike 𝕜] with [Field 𝕜] [Infinite 𝕜] in my proof but, as written, it does rely on n : ℕ.

Richard Copley (May 16 2024 at 11:42):

Neither more nor less generally:

import Mathlib.MeasureTheory.Measure.Lebesgue.EqHaar

open MeasureTheory

variable (E : Type*)
  [NormedAddCommGroup E] [NormedSpace  E] [MeasurableSpace E]
  [BorelSpace E] [FiniteDimensional  E] (μ : Measure E)
  [μ.IsAddHaarMeasure] in
theorem Submodule.biUnion_countable_ne_top
    (s : Set (Submodule  E)) (hs : s.Countable) (h :  x  s, x < ) :
       x  s, x  (Set.univ : Set E) := by
  intro huniv
  apply IsOpen.measure_ne_zero μ isOpen_univ Set.univ_nonempty
  rw [ huniv, measure_biUnion_null_iff hs]
  exact fun x hx => Measure.addHaar_submodule μ x (h x hx).ne

example (n : ) (s : Set (Submodule  (Fin n  )))
    (hs : s.Countable) (h :  x  s, x < ) :
       x  s, x  (Set.univ : Set (Fin n  )) :=
  Submodule.biUnion_countable_ne_top (Fin n  ) volume s hs h

Junyan Xu (May 18 2024 at 15:00):

The result is also needed to show an algebraic extension of fields is determined by the set of all minimal polynomials. You might try to formalize this more general result if you feel like doing it.

Richard Copley (May 19 2024 at 19:14):

Thanks for the suggestion. There is a WIP PR #13040. The first sub-lemma is proved.

Antoine Chambert-Loir (May 20 2024 at 02:35):

Funnily I had proved the end of the paper. #13047
It seems that if we merge our two PR, only the middle part has to be proved (that the cosets of subgroups of finite index still cover the group).

Richard Copley (May 21 2024 at 19:47):

I have added a commit with the middle part,

/-- Let the group `G` be the union of finitely many left cosets `g i • H i`.
Then the cosets of subgroups of infinite index may be omitted from the covering. -/
theorem Fintype.covers_finiteIndex_of_covers {G ι : Type*} [Group G] [Fintype ι]
    [DecidablePred fun (H : Subgroup G) => H.FiniteIndex]
    (g : ι  G) (H : ι  Subgroup G) (hcovers :  k, g k  (H k : Set G) = Set.univ) :
     k  Finset.univ.filter (fun i => (H i).FiniteIndex), g k  (H k : Set G) = Set.univ := by
  sorry

There is a lot of scope for simplification and golfing, and I wasn't working with your PR in mind, @Antoine Chambert-Loir, so I expect changes will be needed to make the two compatible.

Antoine Chambert-Loir (May 22 2024 at 01:26):

Great! I borrowed your code, added your name to my branch and made the necessary modifications to conclude AFAP.

theorem BHNeumann :
    (1 : )  s.sum (fun i  (1 : ) / (H i).index) := sorry

#print axioms BHNeumann
'BHNeumann' depends on axioms: [propext, Quot.sound, Classical.choice]

It remains to deduce the conclusion about the number of cosets (it is immediate).

Richard Copley (May 22 2024 at 12:23):

(deleted)

Richard Copley (May 22 2024 at 12:28):

False alarm. I mixed up my s (the set of subgroups) with your s (the index set for the family of cosets).

Antoine Chambert-Loir (May 22 2024 at 12:50):

No worry.

Richard Copley (May 22 2024 at 13:39):

Antoine Chambert-Loir said:

It remains to deduce the conclusion about the number of cosets (it is immediate).

Done. (Easy, but can you make it look easy?)

Antoine Chambert-Loir (May 22 2024 at 14:08):

(I'll try, but this pigeonhole stuff is never so easy fo formalize, and one needs to cast back from Rat…)


Last updated: May 02 2025 at 03:31 UTC