Zulip Chat Archive
Stream: Is there code for X?
Topic: Limits of c^(1/n) and (n+c)^(1/n)
Michael Stoll (Jun 09 2025 at 18:55):
I need the facts that (for ) and (for ) ,
but can't seem to find something along these lines in Mathlib:
@loogle Filter.Tendsto (fun _ : ℕ ↦ Real.rpow _ _) Filter.atTop _
loogle (Jun 09 2025 at 18:55):
:shrug: nothing found
Michael Stoll (Jun 09 2025 at 18:58):
OK; found docs#tendsto_rpow_div (which is for a real variable). I wonder why
@loogle Filter.Tendsto, Real.rpow
loogle (Jun 09 2025 at 18:58):
:shrug: nothing found
Michael Stoll (Jun 09 2025 at 18:58):
doesn't find anything...
Michael Stoll (Jun 09 2025 at 19:00):
docs#tendsto_rpow_div_mul_add should be usable for the second one.
Michael Stoll (Jun 09 2025 at 19:01):
@loogle Filter.Tendsto (fun x : ℝ ↦ ?c ^ (1/ x)) Filter.atTop
loogle (Jun 09 2025 at 19:01):
:search: tendsto_rpow_div
Michael Stoll (Jun 09 2025 at 19:01):
Is there no version with a constant ?c?
Michael Stoll (Jun 09 2025 at 19:03):
I guess it can be deduced via docs#Filter.Tendsto.rpow, but I would have expected this to be there.
Michael Stoll (Jun 09 2025 at 19:06):
Michael Stoll said:
I wonder why ... doesn't find anything...
I guess this is because it's syntactically HPow.hpow and not Real.rpow.
Loogling is an art :shrug:
Yakov Pechersky (Jun 09 2025 at 19:06):
There's also docs#tendsto_zpow_atTop_zero wrong variable
Jireh Loreaux (Jun 09 2025 at 19:11):
@loogle Filter.Tendsto, "rpow"
loogle (Jun 09 2025 at 19:11):
:search: tendsto_rpow_atTop, tendsto_exp_div_rpow_atTop, and 28 more
Jireh Loreaux (Jun 09 2025 at 19:12):
I couldn't find it in this list, so I doubt we have it.
Jireh Loreaux (Jun 09 2025 at 19:14):
But you should be able to prove it relatively easily from docs#Real.continuousAt_const_rpow
Yakov Pechersky (Jun 09 2025 at 19:20):
import Mathlib
open Filter Topology
lemma Filter.Tendsto.const_rpow_inv_atTop {c : ℝ} (hc0 : c ≠ 0) :
Tendsto (fun k : ℝ ↦ c ^ (k⁻¹)) atTop (𝓝 1) := by
simpa using (tendsto_const_nhds (x := c)).rpow tendsto_inv_atTop_zero (Or.inl hc0)
lemma Filter.Tendsto.const_npow_inv_atTop {c : ℝ} (hc0 : c ≠ 0) :
Tendsto (fun k : ℕ ↦ c ^ ((k : ℝ)⁻¹)) atTop (𝓝 1) :=
(const_rpow_inv_atTop hc0).comp tendsto_natCast_atTop_atTop
Michael Stoll (Jun 09 2025 at 19:21):
Here is my use case.
import Mathlib
open Filter Topology
example : Tendsto (fun n : ℕ ↦ (4 * ((n : ℝ) + 1)) ^ (1 / n : ℝ)) atTop (𝓝 1) := by
have hc : (fun N : ℕ ↦ (4 * ((N : ℝ) + 1)) ^ (1 / N : ℝ)) =
(fun x : ℝ ↦ x ^ (4 / (1 * x + -4))) ∘ fun N : ℕ ↦ 4 * ((N : ℝ) + 1) := by
ext1 N
rcases eq_or_ne N 0 with rfl | hN₀
· simp
simp only [Function.comp_apply]
congr 1
ring
rw [hc]
exact (tendsto_rpow_div_mul_add 4 1 (-4) zero_ne_one).comp <|
(tendsto_atTop_add_const_right atTop 1 tendsto_natCast_atTop_atTop).const_mul_atTop
zero_lt_four
Michael Stoll (Jun 09 2025 at 19:22):
Using docs#tendsto_rpow_div_mul_add is a bit more efficient here, maybe.
Yakov Pechersky (Jun 09 2025 at 19:23):
Yours is a bit harder than the initial question because you have to show that the root shrinks faster than the linear function grows.
Yakov Pechersky (Jun 09 2025 at 19:23):
Ah, that was the second question
Yakov Pechersky (Jun 09 2025 at 19:31):
example : Tendsto (fun n : ℕ ↦ (4 * ((n : ℝ) + 1)) ^ (1 / n : ℝ)) atTop (𝓝 1) := by
have := (tendsto_rpow_div_mul_add 1 4⁻¹ (-1) (by norm_num))
have hn : Tendsto (fun n : ℝ ↦ (4 * (n + 1))) atTop atTop := by
apply Tendsto.const_mul_atTop (by norm_num)
sorry -- don't remember lemma names
refine (this.comp (hn.comp tendsto_natCast_atTop_atTop)).congr ?_
intro
simp
Michael Stoll (Jun 09 2025 at 19:32):
This is the same proof, modulo permutation...
Yakov Pechersky (Jun 09 2025 at 19:32):
Yeah, just avoiding the explicit hc writing
Michael Stoll (Jun 09 2025 at 19:40):
import Mathlib
open Filter Topology
example : Tendsto (fun n : ℕ ↦ (4 * ((n : ℝ) + 1)) ^ (1 / n : ℝ)) atTop (𝓝 1) := by
have := tendsto_rpow_div_mul_add 1 4⁻¹ (-1) (by norm_num)
have hn : Tendsto (fun x : ℝ ↦ (4 * (x + 1))) atTop atTop :=
(tendsto_atTop_add_const_right atTop 1 tendsto_id).const_mul_atTop zero_lt_four
exact (this.comp (hn.comp tendsto_natCast_atTop_atTop)).congr fun N ↦ by simp
Yakov Pechersky (Jun 09 2025 at 19:45):
This is a lot like the "invisible mathematics" talk
Michael Stoll (Jun 09 2025 at 19:45):
I guessI should listen to it :smiley:
Last updated: Dec 20 2025 at 21:32 UTC