Zulip Chat Archive

Stream: Is there code for X?

Topic: Completeness of padics


Sebastien Gouezel (Mar 03 2022 at 08:46):

I can't find the instance that ℚ_[p] is a complete metric space -- there are many related things, but I can't find this precise one. Is it really missing?

Johan Commelin (Mar 03 2022 at 08:55):

It is defined as a completion, right? So that would be very surprising

Johan Commelin (Mar 03 2022 at 08:56):

Aah, we have

instance complete : cau_seq.is_complete ℚ_[p] norm :=

Patrick Massot (Mar 03 2022 at 08:56):

This is not what Sébastien is looking for

Patrick Massot (Mar 03 2022 at 08:57):

The issue is that this completion is defined by hand using Cauchy sequences of rationals, not through the general machinery of uniform spaces (or even metric spaces).

Patrick Massot (Mar 03 2022 at 08:59):

You need some glue like in docs#real.complete_space

Sebastien Gouezel (Mar 03 2022 at 09:00):

Hopefully there is the correspondance between the two notions somewhere in mathlib. I'm just surprised that the instance does not seem to be here.

Patrick Massot (Mar 03 2022 at 09:00):

Maybe it hasn't been written for p-adics

Johan Commelin (Mar 03 2022 at 09:00):

Yes, we clearly need to show that Qp\mathbb Q_p admits an "abstract completion package"

Patrick Massot (Mar 03 2022 at 09:01):

That instance for real makes me pessimistic that the p-adic version exists. Otherwise we would have a generalization covering both.

Patrick Massot (Mar 03 2022 at 09:02):

And as Johan wrote, you can also go through the route in topology.uniform_space.compare_real

Sebastien Gouezel (Mar 03 2022 at 09:03):

It's not that I'm interested in padics :-), but this would have been a nice example for my talk of today in Lorentz center. I'll pick another one, then.

Patrick Massot (Mar 03 2022 at 09:05):

When is that talk?

Patrick Massot (Mar 03 2022 at 09:06):

And I must admit I was curious to read how you realized that you need completeness of p-adics to prove a proper version of the change of variable formula.

Sebastien Gouezel (Mar 03 2022 at 09:06):

2:30
:-)

Patrick Massot (Mar 03 2022 at 09:07):

Without bors taking ages this would be fine.

Patrick Massot (Mar 03 2022 at 09:07):

I'll try something anyway, but I can't do it right now.

Sebastien Gouezel (Mar 03 2022 at 09:16):

I'll be in a particular branch anyway. And I really don't need this, it's just that I wanted to share my surprise it's not there.

Sebastien Gouezel (Mar 03 2022 at 09:18):

Patrick Massot said:

And I must admit I was curious to read how you realized that you need completeness of p-adics to prove a proper version of the change of variable formula.

The proper version of the change of variable formula is ready (https://github.com/leanprover-community/mathlib/blob/b472a7d1eb4134b907c913b67a889bcefc131da5/src/measure_theory/function/jacobian.lean#L1255), and does not use padics. Not clear how long it takes to get in mathlib, though, because #12220 is already hard to get in...

Patrick Massot (Mar 03 2022 at 09:34):

The issue is deeper than completion. Even the metric space structure is done in an ad-hoc way for reals and padics

Patrick Massot (Mar 03 2022 at 09:41):

And I need to go so I probably won't have time to fix this before your talk

Patrick Massot (Mar 03 2022 at 10:06):

I had a bit more time in the end so I gave up and duplicated the ad hoc code we have for real. See #12424

Patrick Massot (Mar 03 2022 at 10:07):

@Sebastien Gouezel

Patrick Massot (Mar 03 2022 at 11:26):

Bors failed with

 Error: /home/lean/actions-runner/_work/mathlib/mathlib/src/algebraic_topology/simplex_category.lean:1:0:
file 'category_theory/reflects_isomorphisms' not found in the search path

I claim this has nothing to do with my change...

Sebastien Gouezel (Mar 03 2022 at 21:17):

Next PR on the road to the change of variables formula is ready, in #12437. Unfortunately again a little bit longish, and mathematically a little bit exotic, unless you're into Polish spaces and tweaking topologies on a given type.


Last updated: Dec 20 2023 at 11:08 UTC