File: Mathlib/Analysis/SpecificLimits/Basic.lean

full_name: tendsto_inverse_atTop_nhds_zero_nat
code: theorem tendsto_inverse_atTop_nhds_zero_nat : Tendsto (fun n : ℕ ↦ (n : ℝ)⁻¹) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => (↑n)⁻¹) Filter.atTop (𝓝 0)

full_name: tendsto_const_div_atTop_nhds_zero_nat
code: theorem tendsto_const_div_atTop_nhds_zero_nat (C : ℝ) :
    Tendsto (fun n : ℕ ↦ C / n) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => C / ↑n) Filter.atTop (𝓝 0)

full_name: tendsto_one_div_atTop_nhds_zero_nat
code: theorem tendsto_one_div_atTop_nhds_zero_nat : Tendsto (fun n : ℕ ↦ 1/(n : ℝ)) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => 1 / ↑n) Filter.atTop (𝓝 0)

full_name: NNReal.tendsto_inverse_atTop_nhds_zero_nat
code: theorem NNReal.tendsto_inverse_atTop_nhds_zero_nat :
    Tendsto (fun n : ℕ ↦ (n : ℝ≥0)⁻¹) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => (↑n)⁻¹) Filter.atTop (𝓝 0)

full_name: NNReal.tendsto_const_div_atTop_nhds_zero_nat
code: theorem NNReal.tendsto_const_div_atTop_nhds_zero_nat (C : ℝ≥0) :
    Tendsto (fun n : ℕ ↦ C / n) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => C / ↑n) Filter.atTop (𝓝 0)

full_name: EReal.tendsto_const_div_atTop_nhds_zero_nat
code: theorem EReal.tendsto_const_div_atTop_nhds_zero_nat {C : EReal} (h : C ≠ ⊥) (h' : C ≠ ⊤) :
    Tendsto (fun n : ℕ ↦ C / n) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => C / ↑n) Filter.atTop (𝓝 0)

full_name: tendsto_one_div_add_atTop_nhds_zero_nat
code: theorem tendsto_one_div_add_atTop_nhds_zero_nat :
    Tendsto (fun n : ℕ ↦ 1 / ((n : ℝ) + 1)) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => 1 / (↑n + 1)) Filter.atTop (𝓝 0)

full_name: NNReal.tendsto_algebraMap_inverse_atTop_nhds_zero_nat
code: theorem NNReal.tendsto_algebraMap_inverse_atTop_nhds_zero_nat (𝕜 : Type*) [Semiring 𝕜]
    [Algebra ℝ≥0 𝕜] [TopologicalSpace 𝕜] [ContinuousSMul ℝ≥0 𝕜] :
    Tendsto (algebraMap ℝ≥0 𝕜 ∘ fun n : ℕ ↦ (n : ℝ≥0)⁻¹) atTop (𝓝 0) 
goal: Filter.Tendsto (⇑(algebraMap ℝ≥0 𝕜) ∘ fun n => (↑n)⁻¹) Filter.atTop (𝓝 0)

full_name: tendsto_algebraMap_inverse_atTop_nhds_zero_nat
code: theorem tendsto_algebraMap_inverse_atTop_nhds_zero_nat (𝕜 : Type*) [Semiring 𝕜] [Algebra ℝ 𝕜]
    [TopologicalSpace 𝕜] [ContinuousSMul ℝ 𝕜] :
    Tendsto (algebraMap ℝ 𝕜 ∘ fun n : ℕ ↦ (n : ℝ)⁻¹) atTop (𝓝 0) 
goal: Filter.Tendsto (⇑(algebraMap ℝ 𝕜) ∘ fun n => (↑n)⁻¹) Filter.atTop (𝓝 0)

full_name: tendsto_natCast_div_add_atTop
code: /-- The limit of `n / (n + x)` is 1, for any constant `x` (valid in `ℝ` or any topological division
algebra over `ℝ`, e.g., `ℂ`).

TODO: introduce a typeclass saying that `1 / n` tends to 0 at top, making it possible to get this
statement simultaneously on `ℚ`, `ℝ` and `ℂ`. -/
theorem tendsto_natCast_div_add_atTop {𝕜 : Type*} [DivisionRing 𝕜] [TopologicalSpace 𝕜]
    [CharZero 𝕜] [Algebra ℝ 𝕜] [ContinuousSMul ℝ 𝕜] [TopologicalDivisionRing 𝕜] (x : 𝕜) :
    Tendsto (fun n : ℕ ↦ (n : 𝕜) / (n + x)) atTop (𝓝 1) 
goal: Filter.Tendsto (fun n => ↑n / (↑n + x)) Filter.atTop (𝓝 1)

full_name: tendsto_add_one_pow_atTop_atTop_of_pos
code: theorem tendsto_add_one_pow_atTop_atTop_of_pos [LinearOrderedSemiring α] [Archimedean α] {r : α}
    (h : 0 < r) : Tendsto (fun n : ℕ ↦ (r + 1) ^ n) atTop atTop 
goal: Filter.Tendsto (fun n => (r + 1) ^ n) Filter.atTop Filter.atTop

full_name: tendsto_pow_atTop_atTop_of_one_lt
code: theorem tendsto_pow_atTop_atTop_of_one_lt [LinearOrderedRing α] [Archimedean α] {r : α}
    (h : 1 < r) : Tendsto (fun n : ℕ ↦ r ^ n) atTop atTop 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop Filter.atTop

full_name: Nat.tendsto_pow_atTop_atTop_of_one_lt
code: theorem Nat.tendsto_pow_atTop_atTop_of_one_lt {m : ℕ} (h : 1 < m) :
    Tendsto (fun n : ℕ ↦ m ^ n) atTop atTop 
goal: Filter.Tendsto (fun n => m ^ n) Filter.atTop Filter.atTop

full_name: tendsto_pow_atTop_nhds_zero_of_lt_one
code: theorem tendsto_pow_atTop_nhds_zero_of_lt_one {𝕜 : Type*} [LinearOrderedField 𝕜] [Archimedean 𝕜]
    [TopologicalSpace 𝕜] [OrderTopology 𝕜] {r : 𝕜} (h₁ : 0 ≤ r) (h₂ : r < 1) :
    Tendsto (fun n : ℕ ↦ r ^ n) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝 0)

full_name: tendsto_pow_atTop_nhds_zero_iff
code: @[simp] theorem tendsto_pow_atTop_nhds_zero_iff {𝕜 : Type*} [LinearOrderedField 𝕜] [Archimedean 𝕜]
    [TopologicalSpace 𝕜] [OrderTopology 𝕜] {r : 𝕜} :
    Tendsto (fun n : ℕ ↦ r ^ n) atTop (𝓝 0) ↔ |r| < 1 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝 0) ↔ |r| < 1

full_name: tendsto_pow_atTop_nhdsWithin_zero_of_lt_one
code: theorem tendsto_pow_atTop_nhdsWithin_zero_of_lt_one {𝕜 : Type*} [LinearOrderedField 𝕜]
    [Archimedean 𝕜] [TopologicalSpace 𝕜] [OrderTopology 𝕜] {r : 𝕜} (h₁ : 0 < r) (h₂ : r < 1) :
    Tendsto (fun n : ℕ ↦ r ^ n) atTop (𝓝[>] 0) 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝[>] 0)

full_name: uniformity_basis_dist_pow_of_lt_one
code: theorem uniformity_basis_dist_pow_of_lt_one {α : Type*} [PseudoMetricSpace α] {r : ℝ} (h₀ : 0 < r)
    (h₁ : r < 1) :
    (uniformity α).HasBasis (fun _ : ℕ ↦ True) fun k ↦ { p : α × α | dist p.1 p.2 < r ^ k } 
goal: (uniformity α).HasBasis (fun x => True) fun k => {p | dist p.1 p.2 < r ^ k}

full_name: geom_lt
code: theorem geom_lt {u : ℕ → ℝ} {c : ℝ} (hc : 0 ≤ c) {n : ℕ} (hn : 0 < n)
    (h : ∀ k < n, c * u k < u (k + 1)) : c ^ n * u 0 < u n 
goal: c ^ n * u 0 < u n

full_name: geom_le
code: theorem geom_le {u : ℕ → ℝ} {c : ℝ} (hc : 0 ≤ c) (n : ℕ) (h : ∀ k < n, c * u k ≤ u (k + 1)) :
    c ^ n * u 0 ≤ u n 
goal: c ^ n * u 0 ≤ u n

full_name: lt_geom
code: theorem lt_geom {u : ℕ → ℝ} {c : ℝ} (hc : 0 ≤ c) {n : ℕ} (hn : 0 < n)
    (h : ∀ k < n, u (k + 1) < c * u k) : u n < c ^ n * u 0 
goal: u n < c ^ n * u 0

full_name: le_geom
code: theorem le_geom {u : ℕ → ℝ} {c : ℝ} (hc : 0 ≤ c) (n : ℕ) (h : ∀ k < n, u (k + 1) ≤ c * u k) :
    u n ≤ c ^ n * u 0 
goal: u n ≤ c ^ n * u 0

full_name: tendsto_atTop_of_geom_le
code: /-- If a sequence `v` of real numbers satisfies `k * v n ≤ v (n+1)` with `1 < k`,
then it goes to +∞. -/
theorem tendsto_atTop_of_geom_le {v : ℕ → ℝ} {c : ℝ} (h₀ : 0 < v 0) (hc : 1 < c)
    (hu : ∀ n, c * v n ≤ v (n + 1)) : Tendsto v atTop atTop 
goal: Filter.Tendsto v Filter.atTop Filter.atTop

full_name: NNReal.tendsto_pow_atTop_nhds_zero_of_lt_one
code: theorem NNReal.tendsto_pow_atTop_nhds_zero_of_lt_one {r : ℝ≥0} (hr : r < 1) :
    Tendsto (fun n : ℕ ↦ r ^ n) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝 0)

full_name: NNReal.tendsto_pow_atTop_nhds_zero_iff
code: @[simp]
protected theorem NNReal.tendsto_pow_atTop_nhds_zero_iff {r : ℝ≥0} :
    Tendsto (fun n : ℕ => r ^ n) atTop (𝓝 0) ↔ r < 1 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝 0) ↔ r < 1

full_name: ENNReal.tendsto_pow_atTop_nhds_zero_of_lt_one
code: theorem ENNReal.tendsto_pow_atTop_nhds_zero_of_lt_one {r : ℝ≥0∞} (hr : r < 1) :
    Tendsto (fun n : ℕ ↦ r ^ n) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝 0)

full_name: ENNReal.tendsto_pow_atTop_nhds_zero_iff
code: @[simp]
protected theorem ENNReal.tendsto_pow_atTop_nhds_zero_iff {r : ℝ≥0∞} :
    Tendsto (fun n : ℕ => r ^ n) atTop (𝓝 0) ↔ r < 1 
goal: Filter.Tendsto (fun n => r ^ n) Filter.atTop (𝓝 0) ↔ r < 1

full_name: hasSum_geometric_of_lt_one
code: theorem hasSum_geometric_of_lt_one {r : ℝ} (h₁ : 0 ≤ r) (h₂ : r < 1) :
    HasSum (fun n : ℕ ↦ r ^ n) (1 - r)⁻¹ 
goal: HasSum (fun n => r ^ n) (1 - r)⁻¹

full_name: summable_geometric_of_lt_one
code: theorem summable_geometric_of_lt_one {r : ℝ} (h₁ : 0 ≤ r) (h₂ : r < 1) :
    Summable fun n : ℕ ↦ r ^ n 
goal: Summable fun n => r ^ n

full_name: tsum_geometric_of_lt_one
code: theorem tsum_geometric_of_lt_one {r : ℝ} (h₁ : 0 ≤ r) (h₂ : r < 1) : ∑' n : ℕ, r ^ n = (1 - r)⁻¹ 
goal: ∑' (n : ℕ), r ^ n = (1 - r)⁻¹

full_name: hasSum_geometric_two
code: theorem hasSum_geometric_two : HasSum (fun n : ℕ ↦ ((1 : ℝ) / 2) ^ n) 2 
goal: HasSum (fun n => (1 / 2) ^ n) 2

full_name: summable_geometric_two
code: theorem summable_geometric_two : Summable fun n : ℕ ↦ ((1 : ℝ) / 2) ^ n 
goal: Summable fun n => (1 / 2) ^ n

full_name: summable_geometric_two_encode
code: theorem summable_geometric_two_encode {ι : Type*} [Encodable ι] :
    Summable fun i : ι ↦ (1 / 2 : ℝ) ^ Encodable.encode i 
goal: Summable fun i => (1 / 2) ^ Encodable.encode i

full_name: tsum_geometric_two
code: theorem tsum_geometric_two : (∑' n : ℕ, ((1 : ℝ) / 2) ^ n) = 2 
goal: ∑' (n : ℕ), (1 / 2) ^ n = 2

full_name: sum_geometric_two_le
code: theorem sum_geometric_two_le (n : ℕ) : (∑ i ∈ range n, (1 / (2 : ℝ)) ^ i) ≤ 2 
goal: ∑ i ∈ Finset.range n, (1 / 2) ^ i ≤ 2

full_name: tsum_geometric_inv_two
code: theorem tsum_geometric_inv_two : (∑' n : ℕ, (2 : ℝ)⁻¹ ^ n) = 2 
goal: ∑' (n : ℕ), 2⁻¹ ^ n = 2

full_name: tsum_geometric_inv_two_ge
code: /-- The sum of `2⁻¹ ^ i` for `n ≤ i` equals `2 * 2⁻¹ ^ n`. -/
theorem tsum_geometric_inv_two_ge (n : ℕ) :
    (∑' i, ite (n ≤ i) ((2 : ℝ)⁻¹ ^ i) 0) = 2 * 2⁻¹ ^ n 
goal: (∑' (i : ℕ), if n ≤ i then 2⁻¹ ^ i else 0) = 2 * 2⁻¹ ^ n

full_name: hasSum_geometric_two'
code: theorem hasSum_geometric_two' (a : ℝ) : HasSum (fun n : ℕ ↦ a / 2 / 2 ^ n) a 
goal: HasSum (fun n => a / 2 / 2 ^ n) a

full_name: summable_geometric_two'
code: theorem summable_geometric_two' (a : ℝ) : Summable fun n : ℕ ↦ a / 2 / 2 ^ n 
goal: Summable fun n => a / 2 / 2 ^ n

full_name: tsum_geometric_two'
code: theorem tsum_geometric_two' (a : ℝ) : ∑' n : ℕ, a / 2 / 2 ^ n = a 
goal: ∑' (n : ℕ), a / 2 / 2 ^ n = a

full_name: NNReal.hasSum_geometric
code: /-- **Sum of a Geometric Series** -/
theorem NNReal.hasSum_geometric {r : ℝ≥0} (hr : r < 1) : HasSum (fun n : ℕ ↦ r ^ n) (1 - r)⁻¹ 
goal: HasSum (fun n => r ^ n) (1 - r)⁻¹

full_name: NNReal.summable_geometric
code: theorem NNReal.summable_geometric {r : ℝ≥0} (hr : r < 1) : Summable fun n : ℕ ↦ r ^ n 
goal: Summable fun n => r ^ n

full_name: tsum_geometric_nnreal
code: theorem tsum_geometric_nnreal {r : ℝ≥0} (hr : r < 1) : ∑' n : ℕ, r ^ n = (1 - r)⁻¹ 
goal: ∑' (n : ℕ), r ^ n = (1 - r)⁻¹

full_name: ENNReal.tsum_geometric
code: /-- The series `pow r` converges to `(1-r)⁻¹`. For `r < 1` the RHS is a finite number,
and for `1 ≤ r` the RHS equals `∞`. -/
@[simp]
theorem ENNReal.tsum_geometric (r : ℝ≥0∞) : ∑' n : ℕ, r ^ n = (1 - r)⁻¹ 
goal: ∑' (n : ℕ), r ^ n = (1 - r)⁻¹

full_name: ENNReal.tsum_geometric_add_one
code: theorem ENNReal.tsum_geometric_add_one (r : ℝ≥0∞) : ∑' n : ℕ, r ^ (n + 1) = r * (1 - r)⁻¹ 
goal: ∑' (n : ℕ), r ^ (n + 1) = r * (1 - r)⁻¹

full_name: cauchySeq_of_edist_le_geometric
code: /-- If `edist (f n) (f (n+1))` is bounded by `C * r^n`, `C ≠ ∞`, `r < 1`,
then `f` is a Cauchy sequence. -/
theorem cauchySeq_of_edist_le_geometric : CauchySeq f 
goal: CauchySeq f

full_name: edist_le_of_edist_le_geometric_of_tendsto
code: /-- If `edist (f n) (f (n+1))` is bounded by `C * r^n`, then the distance from
`f n` to the limit of `f` is bounded above by `C * r^n / (1 - r)`. -/
theorem edist_le_of_edist_le_geometric_of_tendsto {a : α} (ha : Tendsto f atTop (𝓝 a)) (n : ℕ) :
    edist (f n) a ≤ C * r ^ n / (1 - r) 
goal: edist (f n) a ≤ C * r ^ n / (1 - r)

full_name: edist_le_of_edist_le_geometric_of_tendsto₀
code: /-- If `edist (f n) (f (n+1))` is bounded by `C * r^n`, then the distance from
`f 0` to the limit of `f` is bounded above by `C / (1 - r)`. -/
theorem edist_le_of_edist_le_geometric_of_tendsto₀ {a : α} (ha : Tendsto f atTop (𝓝 a)) :
    edist (f 0) a ≤ C / (1 - r) 
goal: edist (f 0) a ≤ C / (1 - r)

full_name: cauchySeq_of_edist_le_geometric_two
code: /-- If `edist (f n) (f (n+1))` is bounded by `C * 2^-n`, then `f` is a Cauchy sequence. -/
theorem cauchySeq_of_edist_le_geometric_two : CauchySeq f 
goal: CauchySeq f

full_name: edist_le_of_edist_le_geometric_two_of_tendsto
code: /-- If `edist (f n) (f (n+1))` is bounded by `C * 2^-n`, then the distance from
`f n` to the limit of `f` is bounded above by `2 * C * 2^-n`. -/
theorem edist_le_of_edist_le_geometric_two_of_tendsto (n : ℕ) : edist (f n) a ≤ 2 * C / 2 ^ n 
goal: edist (f n) a ≤ 2 * C / 2 ^ n

full_name: edist_le_of_edist_le_geometric_two_of_tendsto₀
code: /-- If `edist (f n) (f (n+1))` is bounded by `C * 2^-n`, then the distance from
`f 0` to the limit of `f` is bounded above by `2 * C`. -/
theorem edist_le_of_edist_le_geometric_two_of_tendsto₀ : edist (f 0) a ≤ 2 * C 
goal: edist (f 0) a ≤ 2 * C

full_name: aux_hasSum_of_le_geometric
code: theorem aux_hasSum_of_le_geometric : HasSum (fun n : ℕ ↦ C * r ^ n) (C / (1 - r)) 
goal: HasSum (fun n => C * r ^ n) (C / (1 - r))

full_name: cauchySeq_of_le_geometric
code: /-- If `dist (f n) (f (n+1))` is bounded by `C * r^n`, `r < 1`, then `f` is a Cauchy sequence.
Note that this lemma does not assume `0 ≤ C` or `0 ≤ r`. -/
theorem cauchySeq_of_le_geometric : CauchySeq f 
goal: CauchySeq f

full_name: dist_le_of_le_geometric_of_tendsto₀
code: /-- If `dist (f n) (f (n+1))` is bounded by `C * r^n`, `r < 1`, then the distance from
`f n` to the limit of `f` is bounded above by `C * r^n / (1 - r)`. -/
theorem dist_le_of_le_geometric_of_tendsto₀ {a : α} (ha : Tendsto f atTop (𝓝 a)) :
    dist (f 0) a ≤ C / (1 - r) 
goal: dist (f 0) a ≤ C / (1 - r)

full_name: dist_le_of_le_geometric_of_tendsto
code: /-- If `dist (f n) (f (n+1))` is bounded by `C * r^n`, `r < 1`, then the distance from
`f 0` to the limit of `f` is bounded above by `C / (1 - r)`. -/
theorem dist_le_of_le_geometric_of_tendsto {a : α} (ha : Tendsto f atTop (𝓝 a)) (n : ℕ) :
    dist (f n) a ≤ C * r ^ n / (1 - r) 
goal: dist (f n) a ≤ C * r ^ n / (1 - r)

full_name: cauchySeq_of_le_geometric_two
code: /-- If `dist (f n) (f (n+1))` is bounded by `(C / 2) / 2^n`, then `f` is a Cauchy sequence. -/
theorem cauchySeq_of_le_geometric_two : CauchySeq f 
goal: CauchySeq f

full_name: dist_le_of_le_geometric_two_of_tendsto₀
code: /-- If `dist (f n) (f (n+1))` is bounded by `(C / 2) / 2^n`, then the distance from
`f 0` to the limit of `f` is bounded above by `C`. -/
theorem dist_le_of_le_geometric_two_of_tendsto₀ {a : α} (ha : Tendsto f atTop (𝓝 a)) :
    dist (f 0) a ≤ C 
goal: dist (f 0) a ≤ C

full_name: dist_le_of_le_geometric_two_of_tendsto
code: /-- If `dist (f n) (f (n+1))` is bounded by `(C / 2) / 2^n`, then the distance from
`f n` to the limit of `f` is bounded above by `C / 2^n`. -/
theorem dist_le_of_le_geometric_two_of_tendsto {a : α} (ha : Tendsto f atTop (𝓝 a)) (n : ℕ) :
    dist (f n) a ≤ C / 2 ^ n 
goal: dist (f n) a ≤ C / 2 ^ n

full_name: summable_one_div_pow_of_le
code: /-- A series whose terms are bounded by the terms of a converging geometric series converges. -/
theorem summable_one_div_pow_of_le {m : ℝ} {f : ℕ → ℕ} (hm : 1 < m) (fi : ∀ i, i ≤ f i) :
    Summable fun i ↦ 1 / m ^ f i 
goal: Summable fun i => 1 / m ^ f i

full_name: posSumOfEncodable
code: /-- For any positive `ε`, define on an encodable type a positive sequence with sum less than `ε` -/
def posSumOfEncodable {ε : ℝ} (hε : 0 < ε) (ι) [Encodable ι] :
    { ε' : ι → ℝ // (∀ i, 0 < ε' i) ∧ ∃ c, HasSum ε' c ∧ c ≤ ε } 
goal: { ε' // (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum ε' c ∧ c ≤ ε }

full_name: Set.Countable.exists_pos_hasSum_le
code: theorem Set.Countable.exists_pos_hasSum_le {ι : Type*} {s : Set ι} (hs : s.Countable) {ε : ℝ}
    (hε : 0 < ε) : ∃ ε' : ι → ℝ, (∀ i, 0 < ε' i) ∧ ∃ c, HasSum (fun i : s ↦ ε' i) c ∧ c ≤ ε 
goal: ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum (fun i => ε' ↑i) c ∧ c ≤ ε

full_name: Set.Countable.exists_pos_forall_sum_le
code: theorem Set.Countable.exists_pos_forall_sum_le {ι : Type*} {s : Set ι} (hs : s.Countable) {ε : ℝ}
    (hε : 0 < ε) : ∃ ε' : ι → ℝ,
    (∀ i, 0 < ε' i) ∧ ∀ t : Finset ι, ↑t ⊆ s → ∑ i ∈ t, ε' i ≤ ε 
goal: ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∀ (t : Finset ι), ↑t ⊆ s → ∑ i ∈ t, ε' i ≤ ε

full_name: NNReal.exists_pos_sum_of_countable
code: theorem exists_pos_sum_of_countable {ε : ℝ≥0} (hε : ε ≠ 0) (ι) [Countable ι] :
    ∃ ε' : ι → ℝ≥0, (∀ i, 0 < ε' i) ∧ ∃ c, HasSum ε' c ∧ c < ε 
goal: ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∃ c, HasSum ε' c ∧ c < ε

full_name: ENNReal.exists_pos_sum_of_countable
code: theorem exists_pos_sum_of_countable {ε : ℝ≥0∞} (hε : ε ≠ 0) (ι) [Countable ι] :
    ∃ ε' : ι → ℝ≥0, (∀ i, 0 < ε' i) ∧ (∑' i, (ε' i : ℝ≥0∞)) < ε 
goal: ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∑' (i : ι), ↑(ε' i) < ε

full_name: ENNReal.exists_pos_sum_of_countable'
code: theorem exists_pos_sum_of_countable' {ε : ℝ≥0∞} (hε : ε ≠ 0) (ι) [Countable ι] :
    ∃ ε' : ι → ℝ≥0∞, (∀ i, 0 < ε' i) ∧ ∑' i, ε' i < ε 
goal: ∃ ε', (∀ (i : ι), 0 < ε' i) ∧ ∑' (i : ι), ε' i < ε

full_name: ENNReal.exists_pos_tsum_mul_lt_of_countable
code: theorem exists_pos_tsum_mul_lt_of_countable {ε : ℝ≥0∞} (hε : ε ≠ 0) {ι} [Countable ι] (w : ι → ℝ≥0∞)
    (hw : ∀ i, w i ≠ ∞) : ∃ δ : ι → ℝ≥0, (∀ i, 0 < δ i) ∧ (∑' i, (w i * δ i : ℝ≥0∞)) < ε 
goal: ∃ δ, (∀ (i : ι), 0 < δ i) ∧ ∑' (i : ι), w i * ↑(δ i) < ε

full_name: factorial_tendsto_atTop
code: theorem factorial_tendsto_atTop : Tendsto Nat.factorial atTop atTop 
goal: Filter.Tendsto Nat.factorial Filter.atTop Filter.atTop

full_name: tendsto_factorial_div_pow_self_atTop
code: theorem tendsto_factorial_div_pow_self_atTop :
    Tendsto (fun n ↦ n ! / (n : ℝ) ^ n : ℕ → ℝ) atTop (𝓝 0) 
goal: Filter.Tendsto (fun n => ↑n ! / ↑n ^ n) Filter.atTop (𝓝 0)

full_name: tendsto_nat_floor_atTop
code: theorem tendsto_nat_floor_atTop {α : Type*} [LinearOrderedSemiring α] [FloorSemiring α] :
    Tendsto (fun x : α ↦ ⌊x⌋₊) atTop atTop 
goal: Filter.Tendsto (fun x => ⌊x⌋₊) Filter.atTop Filter.atTop

full_name: tendsto_nat_ceil_atTop
code: lemma tendsto_nat_ceil_atTop {α : Type*} [LinearOrderedSemiring α] [FloorSemiring α] :
    Tendsto (fun x : α ↦ ⌈x⌉₊) atTop atTop 
goal: Filter.Tendsto (fun x => ⌈x⌉₊) Filter.atTop Filter.atTop

full_name: tendsto_nat_floor_mul_atTop
code: lemma tendsto_nat_floor_mul_atTop {α : Type _} [LinearOrderedSemifield α] [FloorSemiring α]
    [Archimedean α] (a : α) (ha : 0 < a) : Tendsto (fun (x : ℕ) => ⌊a * x⌋₊) atTop atTop 
goal: Filter.Tendsto (fun x => ⌊a * ↑x⌋₊) Filter.atTop Filter.atTop

full_name: tendsto_nat_floor_mul_div_atTop
code: theorem tendsto_nat_floor_mul_div_atTop {a : R} (ha : 0 ≤ a) :
    Tendsto (fun x ↦ (⌊a * x⌋₊ : R) / x) atTop (𝓝 a) 
goal: Filter.Tendsto (fun x => ↑⌊a * x⌋₊ / x) Filter.atTop (𝓝 a)

full_name: tendsto_nat_floor_div_atTop
code: theorem tendsto_nat_floor_div_atTop : Tendsto (fun x ↦ (⌊x⌋₊ : R) / x) atTop (𝓝 1) 
goal: Filter.Tendsto (fun x => ↑⌊x⌋₊ / x) Filter.atTop (𝓝 1)

full_name: tendsto_nat_ceil_mul_div_atTop
code: theorem tendsto_nat_ceil_mul_div_atTop {a : R} (ha : 0 ≤ a) :
    Tendsto (fun x ↦ (⌈a * x⌉₊ : R) / x) atTop (𝓝 a) 
goal: Filter.Tendsto (fun x => ↑⌈a * x⌉₊ / x) Filter.atTop (𝓝 a)

full_name: tendsto_nat_ceil_div_atTop
code: theorem tendsto_nat_ceil_div_atTop : Tendsto (fun x ↦ (⌈x⌉₊ : R) / x) atTop (𝓝 1) 
goal: Filter.Tendsto (fun x => ↑⌈x⌉₊ / x) Filter.atTop (𝓝 1)

full_name: Nat.tendsto_div_const_atTop
code: lemma Nat.tendsto_div_const_atTop {n : ℕ} (hn : n ≠ 0) : Tendsto (· / n) atTop atTop 
goal: Filter.Tendsto (fun x => x / n) Filter.atTop Filter.atTop