Theorem: Convex.second_derivative_within_at_symmetric
File: Mathlib/Analysis/Calculus/FDerivSymmetric.lean

tactic: rcases hne with ⟨y, hy⟩
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
hne : Set.Nonempty (interior s)
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w : E
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: obtain ⟨z, hz⟩ : ∃ z, z = ((1 : ℝ) / 4) • (y - x) := ⟨((1 : ℝ) / 4) • (y - x), rfl⟩
state_before: case intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: have A : ∀ m : E, Filter.Tendsto (fun t : ℝ => x + (4 : ℝ) • (z + t • m)) (𝓝 0) (𝓝 y) := by
  intro m
  have : x + (4 : ℝ) • (z + (0 : ℝ) • m) = y := by simp [hz]
  rw [← this]
  refine' tendsto_const_nhds.add <| tendsto_const_nhds.smul <| tendsto_const_nhds.add _
  exact continuousAt_id.smul continuousAt_const
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: have B : ∀ m : E, ∀ᶠ t in 𝓝[>] (0 : ℝ), x + (4 : ℝ) • (z + t • m) ∈ interior s := by
  intro m
  apply nhdsWithin_le_nhds
  apply A m
  rw [mem_interior_iff_mem_nhds] at hy
  exact interior_mem_nhds.2 hy
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: choose t ts tpos using fun m => ((B m).and self_mem_nhdsWithin).exists
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: have C : ∀ m : E, f'' m z = f'' z m := by
  intro m
  have : f'' (z + t m • m) (z + t 0 • (0 : E)) = f'' (z + t 0 • (0 : E)) (z + t m • m) :=
    s_conv.second_derivative_within_at_symmetric_of_mem_interior hf xs hx (ts 0) (ts m)
  simp only [ContinuousLinearMap.map_add, ContinuousLinearMap.map_smul, add_right_inj,
    ContinuousLinearMap.add_apply, Pi.smul_apply, ContinuousLinearMap.coe_smul', add_zero,
    ContinuousLinearMap.zero_apply, smul_zero, ContinuousLinearMap.map_zero] at this
  exact smul_right_injective F (tpos m).ne' this
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: have : f'' (z + t v • v) (z + t w • w) = f'' (z + t w • w) (z + t v • v) :=
  s_conv.second_derivative_within_at_symmetric_of_mem_interior hf xs hx (ts w) (ts v)
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
C : ∀ (m : E), ↑(↑f'' m) z = ↑(↑f'' z) m
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: simp only [ContinuousLinearMap.map_add, ContinuousLinearMap.map_smul, smul_add, smul_smul,
  ContinuousLinearMap.add_apply, Pi.smul_apply, ContinuousLinearMap.coe_smul', C] at this
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
C : ∀ (m : E), ↑(↑f'' m) z = ↑(↑f'' z) m
this : ↑(↑f'' (z + t v • v)) (z + t w • w) = ↑(↑f'' (z + t w • w)) (z + t v • v)
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: rw [add_assoc, add_assoc, add_right_inj, add_left_comm, add_right_inj, add_right_inj, mul_comm]
  at this
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
C : ∀ (m : E), ↑(↑f'' m) z = ↑(↑f'' z) m
this :
  ↑(↑f'' z) z + t v • ↑(↑f'' z) v + (t w • ↑(↑f'' z) w + (t w * t v) • ↑(↑f'' v) w) =
    ↑(↑f'' z) z + t w • ↑(↑f'' z) w + (t v • ↑(↑f'' z) v + (t v * t w) • ↑(↑f'' w) v)
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: apply smul_right_injective F _ this
state_before: case intro.intro
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
C : ∀ (m : E), ↑(↑f'' m) z = ↑(↑f'' z) m
this : (t v * t w) • ↑(↑f'' v) w = (t v * t w) • ↑(↑f'' w) v
⊢ ↑(↑f'' v) w = ↑(↑f'' w) v

tactic: simp [(tpos v).ne', (tpos w).ne']
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
C : ∀ (m : E), ↑(↑f'' m) z = ↑(↑f'' z) m
this : (t v * t w) • ↑(↑f'' v) w = (t v * t w) • ↑(↑f'' w) v
⊢ t v * t w ≠ 0

tactic: intro m
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
⊢ ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)

tactic: have : x + (4 : ℝ) • (z + (0 : ℝ) • m) = y := by simp [hz]
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
m : E
⊢ Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)

tactic: rw [← this]
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
m : E
this : x + 4 • (z + 0 • m) = y
⊢ Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)

tactic: refine' tendsto_const_nhds.add <| tendsto_const_nhds.smul <| tendsto_const_nhds.add _
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
m : E
this : x + 4 • (z + 0 • m) = y
⊢ Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 (x + 4 • (z + 0 • m)))

tactic: exact continuousAt_id.smul continuousAt_const
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
m : E
this : x + 4 • (z + 0 • m) = y
⊢ Filter.Tendsto (fun t => t • m) (𝓝 0) (𝓝 (0 • m))

tactic: simp [hz]
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
m : E
⊢ x + 4 • (z + 0 • m) = y

tactic: intro m
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
⊢ ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s

tactic: apply nhdsWithin_le_nhds
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
m : E
⊢ ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s

tactic: apply A m
state_before: case a
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
m : E
⊢ {x_1 | (fun t => x + 4 • (z + t • m) ∈ interior s) x_1} ∈ 𝓝 0

tactic: rw [mem_interior_iff_mem_nhds] at hy
state_before: case a.a
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
m : E
⊢ interior s ∈ 𝓝 y

tactic: exact interior_mem_nhds.2 hy
state_before: case a.a
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : s ∈ 𝓝 y
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
m : E
⊢ interior s ∈ 𝓝 y

tactic: intro m
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
⊢ ∀ (m : E), ↑(↑f'' m) z = ↑(↑f'' z) m

tactic: have : f'' (z + t m • m) (z + t 0 • (0 : E)) = f'' (z + t 0 • (0 : E)) (z + t m • m) :=
  s_conv.second_derivative_within_at_symmetric_of_mem_interior hf xs hx (ts 0) (ts m)
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
m : E
⊢ ↑(↑f'' m) z = ↑(↑f'' z) m

tactic: simp only [ContinuousLinearMap.map_add, ContinuousLinearMap.map_smul, add_right_inj,
  ContinuousLinearMap.add_apply, Pi.smul_apply, ContinuousLinearMap.coe_smul', add_zero,
  ContinuousLinearMap.zero_apply, smul_zero, ContinuousLinearMap.map_zero] at this
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
m : E
this : ↑(↑f'' (z + t m • m)) (z + t 0 • 0) = ↑(↑f'' (z + t 0 • 0)) (z + t m • m)
⊢ ↑(↑f'' m) z = ↑(↑f'' z) m

tactic: exact smul_right_injective F (tpos m).ne' this
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
s✝ : Set E
s_conv✝ : Convex ℝ s✝
f✝ : E → F
f'✝ : E → E →L[ℝ] F
f''✝ : E →L[ℝ] E →L[ℝ] F
hf✝ : ∀ (x : E), x ∈ interior s✝ → HasFDerivAt f✝ (f'✝ x) x
x✝ : E
xs✝ : x✝ ∈ s✝
hx✝ : HasFDerivWithinAt f'✝ f''✝ (interior s✝) x✝
s : Set E
s_conv : Convex ℝ s
f : E → F
f' : E → E →L[ℝ] F
f'' : E →L[ℝ] E →L[ℝ] F
hf : ∀ (x : E), x ∈ interior s → HasFDerivAt f (f' x) x
x : E
xs : x ∈ s
hx : HasFDerivWithinAt f' f'' (interior s) x
v w y : E
hy : y ∈ interior s
z : E
hz : z = (1 / 4) • (y - x)
A : ∀ (m : E), Filter.Tendsto (fun t => x + 4 • (z + t • m)) (𝓝 0) (𝓝 y)
B : ∀ (m : E), ∀ᶠ (t : ℝ) in 𝓝[Ioi 0] 0, x + 4 • (z + t • m) ∈ interior s
t : E → ℝ
ts : ∀ (m : E), x + 4 • (z + t m • m) ∈ interior s
tpos : ∀ (m : E), 0 < t m
m : E
this : t m • ↑(↑f'' m) z = t m • ↑(↑f'' z) m
⊢ ↑(↑f'' m) z = ↑(↑f'' z) m