Theorem: mem_tangentCone_of_openSegment_subset
File: Mathlib/Analysis/Calculus/TangentCone.lean

tactic: let c := fun n : ℕ => (2 : ℝ) ^ (n + 1)
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
⊢ y - x ∈ tangentConeAt ℝ s x

tactic: let d := fun n : ℕ => (c n)⁻¹ • (y - x)
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
⊢ y - x ∈ tangentConeAt ℝ s x

tactic: refine' ⟨c, d, Filter.univ_mem' fun n => h _, _, _⟩
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ y - x ∈ tangentConeAt ℝ s x

tactic: show x + d n ∈ openSegment ℝ x y
state_before: case refine'_1
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ x + d n ∈ openSegment ℝ x y

case refine'_2
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => ‖c n‖) atTop atTop

case refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => c n • d n) atTop (𝓝 (y - x))

tactic: show Filter.Tendsto (fun n : ℕ => ‖c n‖) Filter.atTop Filter.atTop
state_before: case refine'_2
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => ‖c n‖) atTop atTop

case refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => c n • d n) atTop (𝓝 (y - x))

tactic: show Filter.Tendsto (fun n : ℕ => c n • d n) Filter.atTop (𝓝 (y - x))
state_before: case refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => c n • d n) atTop (𝓝 (y - x))

tactic: rw [openSegment_eq_image]
state_before: case refine'_1
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ x + d n ∈ openSegment ℝ x y

tactic: refine' ⟨(c n)⁻¹, ⟨_, _⟩, _⟩
state_before: case refine'_1
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ x + d n ∈ (fun θ => (1 - θ) • x + θ • y) '' Ioo 0 1

tactic: rw [inv_pos]
state_before: case refine'_1.refine'_1
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 0 < (c n)⁻¹

tactic: apply pow_pos
state_before: case refine'_1.refine'_1
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 0 < c n

tactic: norm_num
state_before: case refine'_1.refine'_1.H
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 0 < 2

tactic: apply inv_lt_one
state_before: case refine'_1.refine'_2
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ (c n)⁻¹ < 1

tactic: apply one_lt_pow _ (Nat.succ_ne_zero _)
state_before: case refine'_1.refine'_2.ha
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 1 < c n

tactic: norm_num
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 1 < 2

tactic: simp only [sub_smul, smul_sub, one_smul]
state_before: case refine'_1.refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ (fun θ => (1 - θ) • x + θ • y) (c n)⁻¹ = x + d n

tactic: abel
state_before: case refine'_1.refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ x - (2 ^ (n + 1))⁻¹ • x + (2 ^ (n + 1))⁻¹ • y = x + ((2 ^ (n + 1))⁻¹ • y - (2 ^ (n + 1))⁻¹ • x)

tactic: have : (fun n : ℕ => ‖c n‖) = c := by
  ext n
  exact abs_of_nonneg (pow_nonneg (by norm_num) _)
state_before: case refine'_2
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => ‖c n‖) atTop atTop

tactic: rw [this]
state_before: case refine'_2
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
this : (fun n => ‖c n‖) = c
⊢ Tendsto (fun n => ‖c n‖) atTop atTop

tactic: exact (tendsto_pow_atTop_atTop_of_one_lt (by norm_num)).comp (tendsto_add_atTop_nat 1)
state_before: case refine'_2
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
this : (fun n => ‖c n‖) = c
⊢ Tendsto c atTop atTop

tactic: ext n
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ (fun n => ‖c n‖) = c

tactic: exact abs_of_nonneg (pow_nonneg (by norm_num) _)
state_before: case h
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ ‖c n‖ = c n

tactic: norm_num
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 0 ≤ 2

tactic: norm_num
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
this : (fun n => ‖c n‖) = c
⊢ 1 < 2

tactic: have : (fun n : ℕ => c n • d n) = fun _ => y - x := by
  ext n
  simp only [smul_smul]
  rw [mul_inv_cancel, one_smul]
  exact pow_ne_zero _ (by norm_num)
state_before: case refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ Tendsto (fun n => c n • d n) atTop (𝓝 (y - x))

tactic: rw [this]
state_before: case refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
this : (fun n => c n • d n) = fun x_1 => y - x
⊢ Tendsto (fun n => c n • d n) atTop (𝓝 (y - x))

tactic: apply tendsto_const_nhds
state_before: case refine'_3
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
this : (fun n => c n • d n) = fun x_1 => y - x
⊢ Tendsto (fun x_1 => y - x) atTop (𝓝 (y - x))

tactic: ext n
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
⊢ (fun n => c n • d n) = fun x_1 => y - x

tactic: simp only [smul_smul]
state_before: case h
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ c n • d n = y - x

tactic: rw [mul_inv_cancel, one_smul]
state_before: case h
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ (2 ^ (n + 1) * (2 ^ (n + 1))⁻¹) • (y - x) = y - x

tactic: exact pow_ne_zero _ (by norm_num)
state_before: case h
𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 2 ^ (n + 1) ≠ 0

tactic: norm_num
state_before: 𝕜 : Type ?u.89534
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type ?u.89540
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type ?u.89635
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
x✝ y✝ : E
s✝ t : Set E
s : Set G
x y : G
h : openSegment ℝ x y ⊆ s
c : ℕ → ℝ := fun n => 2 ^ (n + 1)
d : ℕ → G := fun n => (c n)⁻¹ • (y - x)
n : ℕ
⊢ 2 ≠ 0