Zulip Chat Archive
Stream: Is there code for X?
Topic: rpow log exp inequalities
Yaël Dillies (Jun 04 2021 at 13:10):
Is there anything like that somewhere?
import analysis.special_functions.exp_log
import analysis.special_functions.pow
lemma le_pow_of_log_le {a b c : ℝ} (ha : 0 < a) (hb : 0 < b) (hc : 0 < c)
(h : (real.log a)/(real.log b) ≤ c) :
a ≤ b^c := sorry
lemma le_exp_of_log_le {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (h : real.log a ≤ b) :
a ≤ real.exp b := sorry
I need le_pow_of_log_le
Eric Wieser (Jun 04 2021 at 13:14):
Does monotonicity of exp
get you the second one?
Eric Wieser (Jun 04 2021 at 13:17):
have := real.exp_monotone h
followed by rw real.exp_log ha at this
or something
Yaël Dillies (Jun 04 2021 at 13:19):
Yeah, I think that works. Do you think such lemmas are worth having?
Eric Wieser (Jun 04 2021 at 13:19):
Is the second one true as an iff
?
Kevin Buzzard (Jun 04 2021 at 13:27):
So they are a Galois connection I guess
Eric Wieser (Jun 04 2021 at 13:27):
Except conditional on a
being positive
Eric Wieser (Jun 04 2021 at 13:27):
I think this lemma is worth having:
lemma log_le_iff_le_exp {a b : ℝ} (ha : 0 < a) :
real.log a ≤ b ↔ a ≤ real.exp b :=
⟨λ h, real.exp_log ha ▸ real.exp_monotone h, λ h, real.exp_le_exp.mp $ (real.exp_log ha).symm ▸ h⟩
Kevin Buzzard (Jun 04 2021 at 13:27):
right, they're a galois connection between pos_real and real
Kevin Buzzard (Jun 04 2021 at 13:28):
In fact they're simply an order isomorphism between pos_real and real, this is what should be proved
Eric Wieser (Jun 04 2021 at 13:28):
I suspect we have that
Kevin Buzzard (Jun 04 2021 at 13:28):
well then this is a consequence
Eric Wieser (Jun 04 2021 at 13:28):
Eric Wieser (Jun 04 2021 at 13:29):
Yes, but it's a consequence that probably has awkard coe debris to clean up
Eric Wieser (Jun 04 2021 at 13:30):
Maybe there's still an easier proof using that lemma though
Yakov Pechersky (Jun 04 2021 at 13:30):
I mean, real.log is defined using the order iso
Eric Wieser (Jun 04 2021 at 13:38):
I think your first lemma is false?
Eric Wieser (Jun 04 2021 at 13:38):
lemma le_pow_of_log_le {a b c : ℝ} (ha : 0 < a) (hb : 0 < b) (hc : 0 < c)
(h : (real.log a)/(real.log b) ≤ c) :
a ≤ b^c := begin
rw [←real.log_le_log ha (real.rpow_pos_of_pos hb _), real.log_rpow hb,
mul_comm, ←mul_inv_le_iff _, ←div_eq_mul_inv],
exact h,
sorry, -- 0 < real.log b
end
Kevin Buzzard (Jun 04 2021 at 13:45):
If a=b=1/2 and c=2 then h is true and the conclusion isn't.
Eric Rodriguez (Jun 04 2021 at 13:56):
Eric Wieser said:
I tried using this a while back and it was hellish
Yaël Dillies (Jun 04 2021 at 14:12):
Ah yes, we need 1 < b to divide out the logs properly.
Last updated: Dec 20 2023 at 11:08 UTC