Theorem: finiteDimensional_of_isCompact_closed_ball₀
File: Mathlib/Analysis/NormedSpace/FiniteDimension.lean

tactic: by_contra hfin
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
⊢ FiniteDimensional 𝕜 E

tactic: obtain ⟨R, f, Rgt, fle, lef⟩ :
  ∃ (R : ℝ)(f : ℕ → E), 1 < R ∧ (∀ n, ‖f n‖ ≤ R) ∧ ∀ m n, m ≠ n → 1 ≤ ‖f m - f n‖ :=
  exists_seq_norm_le_one_le_norm_sub hfin
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
⊢ False

tactic: have rRpos : 0 < r / R := div_pos rpos (zero_lt_one.trans Rgt)
state_before: case intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
⊢ False

tactic: obtain ⟨c, hc⟩ : ∃ c : 𝕜, 0 < ‖c‖ ∧ ‖c‖ < r / R := NormedField.exists_norm_lt _ rRpos
state_before: case intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
⊢ False

tactic: let g := fun n : ℕ => c • f n
state_before: case intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
⊢ False

tactic: have A : ∀ n, g n ∈ Metric.closedBall (0 : E) r := by
  intro n
  simp only [norm_smul, dist_zero_right, Metric.mem_closedBall]
  calc
    ‖c‖ * ‖f n‖ ≤ r / R * R := by gcongr; exact hc.2.le; apply fle
    _ = r := by field_simp [(zero_lt_one.trans Rgt).ne']
state_before: case intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
⊢ False

tactic: obtain ⟨x : E, _ : x ∈ Metric.closedBall (0 : E) r, φ : ℕ → ℕ, φmono : StrictMono φ,
  φlim : Tendsto (g ∘ φ) atTop (𝓝 x)⟩ := h.tendsto_subseq A
state_before: case intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
⊢ False

tactic: have B : CauchySeq (g ∘ φ) := φlim.cauchySeq
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
⊢ False

tactic: obtain ⟨N, hN⟩ : ∃ N : ℕ, ∀ n : ℕ, N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖ :=
  Metric.cauchySeq_iff'.1 B ‖c‖ hc.1
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
⊢ False

tactic: apply lt_irrefl ‖c‖
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ False

tactic: calc
  ‖c‖ ≤ dist (g (φ (N + 1))) (g (φ N)) := by
    conv_lhs => rw [← mul_one ‖c‖]
    simp only [dist_eq_norm, ← smul_sub, norm_smul]
    gcongr
    apply lef _ _ (ne_of_gt _)
    exact φmono (Nat.lt_succ_self N)
  _ < ‖c‖ := hN (N + 1) (Nat.le_succ N)
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ ‖c‖ < ‖c‖

tactic: intro n
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
⊢ ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r

tactic: simp only [norm_smul, dist_zero_right, Metric.mem_closedBall]
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ g n ∈ Metric.closedBall 0 r

tactic: calc
  ‖c‖ * ‖f n‖ ≤ r / R * R := by gcongr; exact hc.2.le; apply fle
  _ = r := by field_simp [(zero_lt_one.trans Rgt).ne']
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ ‖c‖ * ‖f n‖ ≤ r

tactic: gcongr
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ ‖c‖ * ‖f n‖ ≤ r / R * R

tactic: exact hc.2.le
state_before: case h₁
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ ‖c‖ ≤ r / R

case h₂
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ ‖f n‖ ≤ R

tactic: apply fle
state_before: case h₂
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ ‖f n‖ ≤ R

tactic: field_simp [(zero_lt_one.trans Rgt).ne']
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
n : ℕ
⊢ r / R * R = r

tactic: conv_lhs => rw [← mul_one ‖c‖]
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ ‖c‖ ≤ dist (g (φ (N + 1))) (g (φ N))

tactic: simp only [dist_eq_norm, ← smul_sub, norm_smul]
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ ‖c‖ * 1 ≤ dist (g (φ (N + 1))) (g (φ N))

tactic: gcongr
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ ‖c‖ * 1 ≤ ‖c‖ * ‖f (φ (N + 1)) - f (φ N)‖

tactic: apply lef _ _ (ne_of_gt _)
state_before: case h
𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ 1 ≤ ‖f (φ (N + 1)) - f (φ N)‖

tactic: exact φmono (Nat.lt_succ_self N)
state_before: 𝕜 : Type u
inst✝¹⁰ : NontriviallyNormedField 𝕜
E : Type v
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
F : Type w
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
F' : Type x
inst✝⁵ : AddCommGroup F'
inst✝⁴ : Module 𝕜 F'
inst✝³ : TopologicalSpace F'
inst✝² : TopologicalAddGroup F'
inst✝¹ : ContinuousSMul 𝕜 F'
inst✝ : CompleteSpace 𝕜
r : ℝ
rpos : 0 < r
h : IsCompact (Metric.closedBall 0 r)
hfin : ¬FiniteDimensional 𝕜 E
R : ℝ
f : ℕ → E
Rgt : 1 < R
fle : ∀ (n : ℕ), ‖f n‖ ≤ R
lef : ∀ (m n : ℕ), m ≠ n → 1 ≤ ‖f m - f n‖
rRpos : 0 < r / R
c : 𝕜
hc : 0 < ‖c‖ ∧ ‖c‖ < r / R
g : ℕ → E := fun n => c • f n
A : ∀ (n : ℕ), g n ∈ Metric.closedBall 0 r
x : E
left✝ : x ∈ Metric.closedBall 0 r
φ : ℕ → ℕ
φmono : StrictMono φ
φlim : Tendsto (g ∘ φ) atTop (𝓝 x)
B : CauchySeq (g ∘ φ)
N : ℕ
hN : ∀ (n : ℕ), N ≤ n → dist ((g ∘ φ) n) ((g ∘ φ) N) < ‖c‖
⊢ φ N < φ (N + 1)