Zulip Chat Archive

Stream: Is there code for X?

Topic: Dirichlet domain


Alex Kontorovich (Aug 08 2023 at 15:12):

I'd like to prove the following. Given a metric space X with a discrete action by a group G, and a base point x : X, one can form the "Dirichlet polyhedron"
D := {y : α | ∀ g : G, dist x y < dist (g • x) y}. Theorem: D is a fundamental domain for the action of G. This needs a measure μ for which sets like {y : α | dist x y = dist (g • x) y} have measure zero (when g doesn't fix x). How do I make the MeasureSpace structure on X compatible with the topology generated by dist?

Anatole Dedecker (Aug 08 2023 at 15:15):

Compatible in what sense? docs#MeasureTheory.Measure.Regular ?

Kevin Buzzard (Aug 08 2023 at 15:22):

Is X locally isometric to R^n in your example Alex? I suspect it is. Does this answer the question Anatole, or is there more information needed?

Alex Kontorovich (Aug 08 2023 at 15:55):

Here's a mwe:

import Mathlib.MeasureTheory.Group.Action

example {X G : Type _} [MetricSpace X] [Group G] [MulAction G X] [MeasurableSpace X] (x : X) (g : G) : MeasurableSet {y : X | dist x y < dist (g  x) y} := sorry

What I'm worried about is declaring both MetricSpace X and MeasurableSpace X. The latter gives me some sigma-algebra, but I want it to be that generated by the topology induced from the metric space structure... (Does that make sense?...)

Alex Kontorovich (Aug 08 2023 at 15:56):

The opens should be generated from dist balls.

Anatole Dedecker (Aug 08 2023 at 15:59):

Ah right, you meant that the MeasurableSpace should be compatible with the topology. I thought you meant that the measure had to be compatible (because MeasureSpace contains a measure), and I wasn't sure what that would mean. Is docs#BorelSpace what you want?

Alex Kontorovich (Aug 08 2023 at 16:00):

Yes that's what I want, thanks! Except I think (?) I first need to generate the topology from the metric space?

Anatole Dedecker (Aug 08 2023 at 16:01):

No, any docs#MetricSpace comes with a topology (which is provably equal to the one you'd expect)

Alex Kontorovich (Aug 08 2023 at 16:02):

Here's a better mwe:

import Mathlib.MeasureTheory.Group.Action

example {X : Type _} [MetricSpace X] [MeasurableSpace X] [BorelSpace X] (x : X) (r : ) :
  MeasurableSet {y : X | dist x y < r} := sorry

Anatole Dedecker (Aug 08 2023 at 16:02):

That should be exactly docs#measurableSet_ball

Anatole Dedecker (Aug 08 2023 at 16:06):

Notice that if you only want the open sets to be measurable you don't need the full strength of docs#BorelSpace, docs#OpensMeasurableSpace is enough.

Alex Kontorovich (Aug 08 2023 at 16:23):

Ok thanks; now I need to know that a set of this kind is open. What kinds of techniques are available?

import Mathlib.MeasureTheory.Group.Action

example {X G : Type _} [MetricSpace X] [Group G] [MulAction G X] [MeasurableSpace X]
    [OpensMeasurableSpace X] (x : X) (g : G) :
    IsOpen {y | dist x y < dist (g  x) y} := by
  sorry

Anatole Dedecker (Aug 08 2023 at 16:24):

I would say docs#isOpen_lt together with docs#Continuous.dist should get you there?

Alex Kontorovich (Aug 08 2023 at 16:25):

Ah, perfect thanks! Just what I was looking for...

Michael Stoll (Aug 08 2023 at 17:19):

Just a remark on the mathematics...

Alex Kontorovich said:

D := {y : α | ∀ g : G, dist x y < dist (g • x) y}

This set is empty. I think you have to restrict to g such that g • x ≠ x (in particular, g ≠ 1).

Alex Kontorovich (Aug 08 2023 at 22:10):

Yes of course, thanks (I'm actually finding it easier to work with for a variety of reasons, including this one...)

Alex Kontorovich (Aug 08 2023 at 22:10):

Here's another question: do we have a notion of MetricPreserving (?) for a group action on a metric space, that is, that d(g • x, g • y)=d(x,y) for all g, x, y?

Alex Kontorovich (Aug 08 2023 at 22:14):

Namely:

class MetricPreserving (α G : Type _) [MetricSpace α] [SMul G α] :
    Prop where
  metric_preserving :
     x y : α,  g : G, dist (g  x) (g  y) = dist x y

doesn't seem to exist?

Anatole Dedecker (Aug 08 2023 at 22:14):

docs#IsometricSMul ?

Alex Kontorovich (Aug 08 2023 at 22:17):

Ah, that's the one. Thanks!

Alex Kontorovich (Aug 08 2023 at 22:18):

Is there a better way of searching for such things (than asking on here)?

Alex Kontorovich (Aug 08 2023 at 22:20):

Actually, why does the class require PseudoEMetricSpace? Couldn't it be stated in the greater generality?

Anatole Dedecker (Aug 08 2023 at 22:21):

Well to find the class in itself I don't think there is any tool (other than guessing the name or having encountered it already), in particular I'm pretty sure exact? can't help here. But you can also search for related lemmas (here docs#dist_smul would be one example) and see the typeclasses there.

Alex Kontorovich (Aug 08 2023 at 22:22):

I see. edist is extended (to possibly infinite values) dist, not some euclidean thing...

Anatole Dedecker (Aug 08 2023 at 22:23):

Yes, PseudoEMetricSpace is the most general of the metric space variants: both non-separated (Pseudo) and with possibly infinite (E for extended) distances

Alex Kontorovich (Aug 09 2023 at 15:49):

I now have an actual mathematical question, perhaps for @Yury G. Kudryashov, who wrote the FundamentalDomain file: I see why you bring a measure in, to be able to say things about ae-covers, pairwise ae-disjoint, etc. But could you not also do it purely topologically, as is done, say, in Misha Kapovich's response here: https://mathoverflow.net/questions/251627/proper-discontinuity-and-existence-of-a-fundamental-domain ? Replacing the ae-conditions could be (1) D is open, or perhaps as stated there, the interior of the closure of D is D itself, (2) the G-orbit of the closure(D) is all of X, and (3) g(D) is disjoint from D for g≠1. (And perhaps local finiteness.) Is there a good reason to bring a measure into it if one doesn't have to? Thanks!

Yury G. Kudryashov (Aug 09 2023 at 18:01):

I don't remember why I did it this way. Feel free to rewrite. Can you prove μ (frontier U) = 0 for an open set U? Or do you need extra assumptions like convexity?

Yury G. Kudryashov (Aug 09 2023 at 18:03):

As a backup plan, we can have two notions of a fundamental domain: topological and measure theoretic + theorem(s) like FundamentalDomain.AEFundamentalDomain.

Alex J. Best (Aug 09 2023 at 20:41):

At least some of the motivation for that definition came from the Minkowski convex body proof. If you can get a purely topological version that would be nice, but I think the definition as it is right now allows both open and closed fundamental domains which is handy. I guess this could be worked in to your definition, e.g. 3) could be g(D) \cap D \subseteq frontier(D) or something like that

Alex Kontorovich (Aug 09 2023 at 22:12):

Yury G. Kudryashov said:

I don't remember why I did it this way. Feel free to rewrite. Can you prove μ (frontier U) = 0 for an open set U? Or do you need extra assumptions like convexity?

Yes, this is exactly the point that I'd like to avoid (in constructing Dirichlet domains); I tried poking around to find conditions on X, μ that would naturally lead to this, and realized that maybe I shouldn't be talking about μ at all...?

Anatole Dedecker (Aug 09 2023 at 22:16):

It indeed seems like you want two different things, then main point being that you require true set-theoretic disjointness, not ae-disjointness

Alex Kontorovich (Aug 09 2023 at 22:19):

Indeed. I could keep trying with the existing definition, but then I'd need to know under what general conditions does something like μ (frontier U) = 0 hold?... (I'm pretty sure doing it purely topologically would allow more general settings...?)

Anatole Dedecker (Aug 09 2023 at 22:24):

I think both are definitely useful, because enforcing actual disjointness is also a very strong requirement that we don't want to make all the time. And I don't really see a good generalization here.

Anatole Dedecker (Aug 09 2023 at 22:28):

Well actually we could have a version where "disjoint" is taken modulo docs#EventuallyEq for some filter, and then specialize it to either \top or docs#MeasureTheory.Measure.ae but that doesn't unify the rest of the definition

Yury G. Kudryashov (Aug 10 2023 at 03:32):

Indeed, my goal was to accomodate for the Minkowskii theorem. BTW, I think that you don't need some of the constructions in the original mathlib 3 PR (didn't check - they may be gone) if you use docs#Convex.addHaar_frontier and/or docs#Convex.nullMeasurableSet


Last updated: Dec 20 2023 at 11:08 UTC