Theorem: FDerivMeasurableAux.mem_a_of_differentiable
File: Mathlib/Analysis/Calculus/FDerivMeasurable.lean

tactic: have := hx.hasFDerivAt
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
⊢ ∃ R, R > 0 ∧ ∀ (r : ℝ), r ∈ Ioo 0 R → x ∈ A f (fderiv 𝕜 f x) r ε

tactic: simp only [HasFDerivAt, HasFDerivAtFilter, isLittleO_iff] at this
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this : HasFDerivAt f (fderiv 𝕜 f x) x
⊢ ∃ R, R > 0 ∧ ∀ (r : ℝ), r ∈ Ioo 0 R → x ∈ A f (fderiv 𝕜 f x) r ε

tactic: rcases eventually_nhds_iff_ball.1 (this (half_pos hε)) with ⟨R, R_pos, hR⟩
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
⊢ ∃ R, R > 0 ∧ ∀ (r : ℝ), r ∈ Ioo 0 R → x ∈ A f (fderiv 𝕜 f x) r ε

tactic: refine' ⟨R, R_pos, fun r hr => _⟩
state_before: case intro.intro
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
⊢ ∃ R, R > 0 ∧ ∀ (r : ℝ), r ∈ Ioo 0 R → x ∈ A f (fderiv 𝕜 f x) r ε

tactic: have : r ∈ Ioc (r / 2) r := ⟨half_lt_self hr.1, le_rfl⟩
state_before: case intro.intro
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
⊢ x ∈ A f (fderiv 𝕜 f x) r ε

tactic: refine' ⟨r, this, fun y hy z hz => _⟩
state_before: case intro.intro
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
⊢ x ∈ A f (fderiv 𝕜 f x) r ε

tactic: calc
  ‖f z - f y - (fderiv 𝕜 f x) (z - y)‖ =
      ‖f z - f x - (fderiv 𝕜 f x) (z - x) - (f y - f x - (fderiv 𝕜 f x) (y - x))‖ :=
    by congr 1; simp only [ContinuousLinearMap.map_sub]; abel
  _ ≤ ‖f z - f x - (fderiv 𝕜 f x) (z - x)‖ + ‖f y - f x - (fderiv 𝕜 f x) (y - x)‖ :=
    (norm_sub_le _ _)
  _ ≤ ε / 2 * ‖z - x‖ + ε / 2 * ‖y - x‖ :=
    (add_le_add (hR _ (lt_trans (mem_ball.1 hz) hr.2)) (hR _ (lt_trans (mem_ball.1 hy) hr.2)))
  _ ≤ ε / 2 * r + ε / 2 * r := by rw [mem_ball_iff_norm] at hz hy; gcongr
  _ = ε * r := by ring
state_before: case intro.intro
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : y ∈ ball x r
z : E
hz : z ∈ ball x r
⊢ ‖f z - f y - ↑(fderiv 𝕜 f x) (z - y)‖ ≤ ε * r

tactic: congr 1
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : y ∈ ball x r
z : E
hz : z ∈ ball x r
⊢ ‖f z - f y - ↑(fderiv 𝕜 f x) (z - y)‖ = ‖f z - f x - ↑(fderiv 𝕜 f x) (z - x) - (f y - f x - ↑(fderiv 𝕜 f x) (y - x))‖

tactic: simp only [ContinuousLinearMap.map_sub]
state_before: case e_a
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : y ∈ ball x r
z : E
hz : z ∈ ball x r
⊢ f z - f y - ↑(fderiv 𝕜 f x) (z - y) = f z - f x - ↑(fderiv 𝕜 f x) (z - x) - (f y - f x - ↑(fderiv 𝕜 f x) (y - x))

tactic: abel
state_before: case e_a
𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : y ∈ ball x r
z : E
hz : z ∈ ball x r
⊢ f z - f y - (↑(fderiv 𝕜 f x) z - ↑(fderiv 𝕜 f x) y) =
    f z - f x - (↑(fderiv 𝕜 f x) z - ↑(fderiv 𝕜 f x) x) - (f y - f x - (↑(fderiv 𝕜 f x) y - ↑(fderiv 𝕜 f x) x))

tactic: rw [mem_ball_iff_norm] at hz hy
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : y ∈ ball x r
z : E
hz : z ∈ ball x r
⊢ ε / 2 * ‖z - x‖ + ε / 2 * ‖y - x‖ ≤ ε / 2 * r + ε / 2 * r

tactic: gcongr
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : ‖y - x‖ < r
z : E
hz : ‖z - x‖ < r
⊢ ε / 2 * ‖z - x‖ + ε / 2 * ‖y - x‖ ≤ ε / 2 * r + ε / 2 * r

tactic: ring
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : E → F
K : Set (E →L[𝕜] F)
ε : ℝ
hε : 0 < ε
x : E
hx : DifferentiableAt 𝕜 f x
this✝ : ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑(fderiv 𝕜 f x) (x_1 - x)‖ ≤ c * ‖x_1 - x‖
R : ℝ
R_pos : R > 0
hR : ∀ (y : E), y ∈ ball x R → ‖f y - f x - ↑(fderiv 𝕜 f x) (y - x)‖ ≤ ε / 2 * ‖y - x‖
r : ℝ
hr : r ∈ Ioo 0 R
this : r ∈ Ioc (r / 2) r
y : E
hy : y ∈ ball x r
z : E
hz : z ∈ ball x r
⊢ ε / 2 * r + ε / 2 * r = ε * r