Zulip Chat Archive
Stream: new members
Topic: monotone inverse le
Iocta (Apr 09 2025 at 20:36):
Is there something like (h : monotone g) (h' : g(x) <= y) : x <= (inverse g) y
?
Iocta (Apr 09 2025 at 20:42):
And maybe the antitone version too?
Ruben Van de Velde (Apr 09 2025 at 21:12):
Try writing a #mwe first
Aaron Liu (Apr 09 2025 at 22:05):
docs#GaloisConnection seems similar
Kevin Buzzard (Apr 09 2025 at 22:35):
Yeah but it's impossible to say anything coherent because we don't know the types of anything or any of the assumptions until we have a #mwe
Iocta (Apr 10 2025 at 00:02):
import Mathlib
example (g : ℝ → ℝ) (h : Monotone g) (x y : ℝ) : g x ≤ y ↔ x ≤ g⁻¹ y := sorry
example (g : ℝ → ℝ) (h : Antitone g) (x y : ℝ) : g x ≤ y ↔ x ≥ g⁻¹ y := sorry
Eric Wieser (Apr 10 2025 at 00:06):
g⁻¹
is the function fun x => (g x)⁻¹
; is that what you intended?
Iocta (Apr 10 2025 at 00:06):
No
Iocta (Apr 10 2025 at 00:07):
I mean the function inverse
Aaron Liu (Apr 10 2025 at 00:07):
What if the inverse doesn't exist?
Iocta (Apr 10 2025 at 00:07):
Well it needs to exist
Aaron Liu (Apr 10 2025 at 00:08):
Sometimes it doesn't exist. How do you prevent someone from applying this theorem to a function that doesn't have an inverse?
Eric Wieser (Apr 10 2025 at 00:10):
What's the inverse of g = (fun x => 3)
?
Iocta (Apr 10 2025 at 00:12):
I imagine there's an "inverse function" concept somewhere in mathlib, and it has the necessary hypotheses?
Iocta (Apr 10 2025 at 00:21):
Or not?
Matt Diamond (Apr 10 2025 at 00:35):
Matt Diamond (Apr 10 2025 at 00:38):
it only requires that the domain is nonempty, so you should be fine with ℝ → ℝ
Matt Diamond (Apr 10 2025 at 00:49):
is g
Surjective?
Iocta (Apr 10 2025 at 00:50):
Let's say yes for now
Matt Diamond (Apr 10 2025 at 00:50):
if it is, there's also docs#Function.surjInv
Iocta (Apr 10 2025 at 00:51):
https://leanprover-community.github.io/mathlib4_docs/Mathlib/Order/Filter/Pointwise.html#Filter.inv_le_inv_iff seems closeish to the statement I wanted
Aaron Liu (Apr 10 2025 at 01:06):
Those f
and g
in docs#Filter.inv_le_inv_iff are pointwise inverse on the filters, so not what you want.
Matt Diamond (Apr 10 2025 at 01:10):
@Iocta if you had an OrderIso
you could just use docs#OrderIso.le_symm_apply
Yaël Dillies (Apr 10 2025 at 06:51):
If you don't have an OrderIso
, then the concept of "inverse" is very nicely captured by docs#GaloisConnection
Last updated: May 02 2025 at 03:31 UTC