Zulip Chat Archive
Stream: mathlib4
Topic: Fields complete w.r.t. an absolute value
Michael Stoll (Jan 05 2025 at 19:10):
What is the idiomatic way to say that a Field
F
is complete with respect to a given v : AbsoluteValue F ℝ
?
Andrew Yang (Jan 05 2025 at 21:17):
Maybe CompleteSpace (WithAbs v)
?
Matt Diamond (Jan 06 2025 at 00:35):
I can't say if it's idiomatic, but building upon what Andrew said, docs#AbsoluteValue.Completion looks promising
Matt Diamond (Jan 06 2025 at 00:36):
Oh wait, never mind, you're talking about a field that's already complete.
Michael Stoll (Jan 06 2025 at 13:35):
Andrew Yang said:
Maybe
CompleteSpace (WithAbs v)
?
docs#WithAbs gives me the following poroblem:
import Mathlib.Analysis.Normed.Ring.WithAbs
variable {F : Type*} [Field F] (v w : AbsoluteValue F ℝ)
/- fun x => x : WithAbs v → WithAbs v -/
#check (fun x ↦ (x : WithAbs w) : WithAbs v → WithAbs w)
example : WithAbs v = WithAbs w := rfl
I.e., the implementation of docs#WithAbs as a type synonym seems to make it impossible to meaningfully talk about the normed field structures induced by two different absolute values on the same field. E.g., I would like to say that two absolute values induce the same topology; my attempt was IsHomeomorph (fun x ↦ x : WithAbs v → WithAbs w)
, but this runs into the problem above.
Should docs#WithAbs be refactored to bundle the absolute value instead? Or what would be the "correct" way of solving the problem within the existing framework?
Yaël Dillies (Jan 06 2025 at 13:36):
That's because you didn't use docs#WithAbs.equiv
Michael Stoll (Jan 06 2025 at 13:37):
Where should I use docs#WithAbs.equiv in the above?
Yaël Dillies (Jan 06 2025 at 13:37):
import Mathlib.Analysis.Normed.Ring.WithAbs
variable {F : Type*} [Field F] (v w : AbsoluteValue F ℝ)
#check ((WithAbs.equiv w).symm ∘ WithAbs.equiv v : WithAbs v → WithAbs w)
Michael Stoll (Jan 06 2025 at 13:39):
While we are at it: Is there a simple way to get DiscreteTopology Y
from DiscreteTopology X
and a homeomorphism X \to Y
?
Michael Stoll (Jan 06 2025 at 13:39):
@loogle DiscreteTopology, Homeomorph
loogle (Jan 06 2025 at 13:39):
:shrug: nothing found
Michael Stoll (Jan 06 2025 at 13:40):
@loogle DiscreteTopology, IsHomeomorph
loogle (Jan 06 2025 at 13:40):
:shrug: nothing found
Riccardo Brasca (Jan 06 2025 at 13:51):
We have DiscreteTopology.of_continuous_injective
Kevin Buzzard (Jan 06 2025 at 15:33):
Yes, this is the canonical trick: if you want to push something along a bijection, ask first whether it pushes along an injection or surjection.
Last updated: May 02 2025 at 03:31 UTC