Theorem: HasLineDerivAt.congr_of_eventuallyEq
File: Mathlib/Analysis/Calculus/LineDeriv/Basic.lean

tactic: apply HasDerivAt.congr_of_eventuallyEq h
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F
f' : F
s t : Set E
x v : E
L : E →L[𝕜] F
h : HasLineDerivAt 𝕜 f f' x v
h₁ : f₁ =ᶠ[𝓝 x] f
⊢ HasLineDerivAt 𝕜 f₁ f' x v
state_after: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F
f' : F
s t : Set E
x v : E
L : E →L[𝕜] F
h : HasLineDerivAt 𝕜 f f' x v
h₁ : f₁ =ᶠ[𝓝 x] f
⊢ (fun t => f₁ (x + t • v)) =ᶠ[𝓝 0] fun t => f (x + t • v)

tactic: let F := fun (t : 𝕜) ↦ x + t • v
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F
f' : F
s t : Set E
x v : E
L : E →L[𝕜] F
h : HasLineDerivAt 𝕜 f f' x v
h₁ : f₁ =ᶠ[𝓝 x] f
⊢ (fun t => f₁ (x + t • v)) =ᶠ[𝓝 0] fun t => f (x + t • v)
state_after: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F✝ : Type u_2
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace 𝕜 F✝
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F✝
f' : F✝
s t : Set E
x v : E
L : E →L[𝕜] F✝
h : HasLineDerivAt 𝕜 f f' x v
h₁ : f₁ =ᶠ[𝓝 x] f
F : 𝕜 → E := fun t => x + t • v
⊢ (fun t => f₁ (x + t • v)) =ᶠ[𝓝 0] fun t => f (x + t • v)

tactic: rw [show x = F 0 by simp [F]] at h₁
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F✝ : Type u_2
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace 𝕜 F✝
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F✝
f' : F✝
s t : Set E
x v : E
L : E →L[𝕜] F✝
h : HasLineDerivAt 𝕜 f f' x v
h₁ : f₁ =ᶠ[𝓝 x] f
F : 𝕜 → E := fun t => x + t • v
⊢ (fun t => f₁ (x + t • v)) =ᶠ[𝓝 0] fun t => f (x + t • v)
state_after: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F✝ : Type u_2
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace 𝕜 F✝
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F✝
f' : F✝
s t : Set E
x v : E
L : E →L[𝕜] F✝
h : HasLineDerivAt 𝕜 f f' x v
F : 𝕜 → E := fun t => x + t • v
h₁ : f₁ =ᶠ[𝓝 (F 0)] f
⊢ (fun t => f₁ (x + t • v)) =ᶠ[𝓝 0] fun t => f (x + t • v)

tactic: exact (Continuous.continuousAt (by fun_prop)).preimage_mem_nhds h₁
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F✝ : Type u_2
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace 𝕜 F✝
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F✝
f' : F✝
s t : Set E
x v : E
L : E →L[𝕜] F✝
h : HasLineDerivAt 𝕜 f f' x v
F : 𝕜 → E := fun t => x + t • v
h₁ : f₁ =ᶠ[𝓝 (F 0)] f
⊢ (fun t => f₁ (x + t • v)) =ᶠ[𝓝 0] fun t => f (x + t • v)
state_after: no goals

tactic: simp [F]
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F✝ : Type u_2
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace 𝕜 F✝
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F✝
f' : F✝
s t : Set E
x v : E
L : E →L[𝕜] F✝
h : HasLineDerivAt 𝕜 f f' x v
h₁ : f₁ =ᶠ[𝓝 x] f
F : 𝕜 → E := fun t => x + t • v
⊢ x = F 0
state_after: no goals

tactic: fun_prop
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
F✝ : Type u_2
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace 𝕜 F✝
E : Type u_3
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ : E → F✝
f' : F✝
s t : Set E
x v : E
L : E →L[𝕜] F✝
h : HasLineDerivAt 𝕜 f f' x v
F : 𝕜 → E := fun t => x + t • v
h₁ : f₁ =ᶠ[𝓝 (F 0)] f
⊢ Continuous F
state_after: no goals