@@ -15,6 +15,9 @@ open classical function lattice filter finset metric
15
15
16
16
variables {α : Type *} {β : Type *} {ι : Type *}
17
17
18
+ lemma tendsto_norm_at_top_at_top : tendsto (norm : ℝ → ℝ) at_top at_top :=
19
+ tendsto_abs_at_top_at_top
20
+
18
21
/-- If a function tends to infinity along a filter, then this function multiplied by a positive
19
22
constant (on the left) also tends to infinity. The archimedean assumption is convenient to get a
20
23
statement that works on `ℕ`, `ℤ` and `ℝ`, although not necessary (a version in ordered fields is
94
97
end
95
98
end
96
99
100
+ /-- The function `r ↦ r⁻¹` tends to `0` on the right as `r → +∞`. -/
101
+ lemma tendsto_inv_at_top_zero' [discrete_linear_ordered_field α] [topological_space α]
102
+ [orderable_topology α] : tendsto (λr:α, r⁻¹) at_top (nhds_within (0 : α) (set.Ioi 0 )) :=
103
+ begin
104
+ assume s hs,
105
+ rw mem_nhds_within_Ioi_iff_exists_Ioc_subset at hs,
106
+ rcases hs with ⟨C, C0, hC⟩,
107
+ change 0 < C at C0,
108
+ refine filter.mem_map.2 (mem_sets_of_superset (mem_at_top C⁻¹) (λ x hx, hC _)),
109
+ have : 0 < x, from lt_of_lt_of_le (inv_pos C0) hx,
110
+ exact ⟨inv_pos this , (inv_le C0 this ).1 hx⟩
111
+ end
112
+
113
+ lemma tendsto_inv_at_top_zero [discrete_linear_ordered_field α] [topological_space α]
114
+ [orderable_topology α] : tendsto (λr:α, r⁻¹) at_top (𝓝 0 ) :=
115
+ tendsto_le_right inf_le_left tendsto_inv_at_top_zero'
116
+
97
117
lemma summable_of_absolute_convergence_real {f : ℕ → ℝ} :
98
118
(∃r, tendsto (λn, (range n).sum (λi, abs (f i))) at_top (𝓝 r)) → summable f
99
119
| ⟨r, hr⟩ :=
@@ -110,25 +130,21 @@ lemma tendsto_pow_at_top_at_top_of_gt_1 {r : ℝ} (h : 1 < r) :
110
130
⟨n, λ m hnm, le_of_lt $
111
131
lt_of_lt_of_le hn (pow_le_pow (le_of_lt h) hnm)⟩
112
132
113
- lemma tendsto_inverse_at_top_nhds_0 : tendsto (λr:ℝ, r⁻¹) at_top (𝓝 0 ) :=
114
- tendsto_orderable_unbounded (no_top 0 ) (no_bot 0 ) $ assume l u hl hu,
115
- mem_at_top_sets.mpr ⟨u⁻¹ + 1 , assume b hb,
116
- have u⁻¹ < b, from lt_of_lt_of_le (lt_add_of_pos_right _ zero_lt_one) hb,
117
- ⟨lt_trans hl $ inv_pos $ lt_trans (inv_pos hu) this ,
118
- lt_of_one_div_lt_one_div hu $
119
- begin
120
- rw [inv_eq_one_div],
121
- simp [-one_div_eq_inv, div_div_eq_mul_div, div_one],
122
- simp [this ]
123
- end ⟩⟩
133
+ lemma lim_norm_zero' {𝕜 : Type *} [normed_group 𝕜] :
134
+ tendsto (norm : 𝕜 → ℝ) (nhds_within 0 {x | x ≠ 0 }) (nhds_within 0 (set.Ioi 0 )) :=
135
+ lim_norm_zero.inf $ tendsto_principal_principal.2 $ λ x hx, (norm_pos_iff _).2 hx
136
+
137
+ lemma normed_field.tendsto_norm_inverse_nhds_within_0_at_top {𝕜 : Type *} [normed_field 𝕜] :
138
+ tendsto (λ x:𝕜, ∥x⁻¹∥) (nhds_within 0 {x | x ≠ 0 }) at_top :=
139
+ (tendsto_inv_zero_at_top.comp lim_norm_zero').congr $ λ x, (normed_field.norm_inv x).symm
124
140
125
141
lemma tendsto_pow_at_top_nhds_0_of_lt_1 {r : ℝ} (h₁ : 0 ≤ r) (h₂ : r < 1 ) :
126
142
tendsto (λn:ℕ, r^n) at_top (𝓝 0 ) :=
127
143
by_cases
128
144
(assume : r = 0 , (tendsto_add_at_top_iff_nat 1 ).mp $ by simp [pow_succ, this , tendsto_const_nhds])
129
145
(assume : r ≠ 0 ,
130
146
have tendsto (λn, (r⁻¹ ^ n)⁻¹) at_top (𝓝 0 ),
131
- from tendsto .comp tendsto_inverse_at_top_nhds_0
147
+ from tendsto_inv_at_top_zero .comp
132
148
(tendsto_pow_at_top_at_top_of_gt_1 $ one_lt_inv (lt_of_le_of_ne h₁ this.symm) h₂),
133
149
tendsto.congr' (univ_mem_sets' $ by simp *) this )
134
150
@@ -162,7 +178,7 @@ tendsto_coe_nat_real_at_top_iff.1 $
162
178
by simpa using tendsto_pow_at_top_at_top_of_gt_1 hr
163
179
164
180
lemma tendsto_inverse_at_top_nhds_0_nat : tendsto (λ n : ℕ, (n : ℝ)⁻¹) at_top (𝓝 0 ) :=
165
- tendsto .comp tendsto_inverse_at_top_nhds_0 (tendsto_coe_nat_real_at_top_iff.2 tendsto_id)
181
+ tendsto_inv_at_top_zero .comp (tendsto_coe_nat_real_at_top_iff.2 tendsto_id)
166
182
167
183
lemma tendsto_const_div_at_top_nhds_0_nat (C : ℝ) : tendsto (λ n : ℕ, C / n) at_top (𝓝 0 ) :=
168
184
by simpa only [mul_zero] using tendsto_const_nhds.mul tendsto_inverse_at_top_nhds_0_nat
0 commit comments