Theorem: Convex.norm_image_sub_le_of_norm_hasFDerivWithin_le'
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: let g y := f y - φ y
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
⊢ ‖f y - f x - ↑φ (y - x)‖ ≤ C * ‖y - x‖

tactic: have hg : ∀ x ∈ s, HasFDerivWithinAt g (f' x - φ) s x := fun x xs =>
  (hf x xs).sub φ.hasFDerivWithinAt
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g✝ : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
g : E → G := fun y => f y - ↑φ y
⊢ ‖f y - f x - ↑φ (y - x)‖ ≤ C * ‖y - x‖

tactic: calc
  ‖f y - f x - φ (y - x)‖ = ‖f y - f x - (φ y - φ x)‖ := by simp
  _ = ‖f y - φ y - (f x - φ x)‖ := by congr 1; abel
  _ = ‖g y - g x‖ := by simp
  _ ≤ C * ‖y - x‖ := Convex.norm_image_sub_le_of_norm_hasFDerivWithin_le hg bound hs xs ys
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g✝ : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
g : E → G := fun y => f y - ↑φ y
hg : ∀ (x : E), x ∈ s → HasFDerivWithinAt g (f' x - φ) s x
⊢ ‖f y - f x - ↑φ (y - x)‖ ≤ C * ‖y - x‖

tactic: simp
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g✝ : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
g : E → G := fun y => f y - ↑φ y
hg : ∀ (x : E), x ∈ s → HasFDerivWithinAt g (f' x - φ) s x
⊢ ‖f y - f x - ↑φ (y - x)‖ = ‖f y - f x - (↑φ y - ↑φ x)‖

tactic: congr 1
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g✝ : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
g : E → G := fun y => f y - ↑φ y
hg : ∀ (x : E), x ∈ s → HasFDerivWithinAt g (f' x - φ) s x
⊢ ‖f y - f x - (↑φ y - ↑φ x)‖ = ‖f y - ↑φ y - (f x - ↑φ x)‖

tactic: abel
state_before: case e_a
E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g✝ : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
g : E → G := fun y => f y - ↑φ y
hg : ∀ (x : E), x ∈ s → HasFDerivWithinAt g (f' x - φ) s x
⊢ f y - f x - (↑φ y - ↑φ x) = f y - ↑φ y - (f x - ↑φ x)

tactic: simp
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type ?u.207397
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_2
G : Type u_3
inst✝³ : IsROrC 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g✝ : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hf : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
bound : ∀ (x : E), x ∈ s → ‖f' x - φ‖ ≤ C
hs : Convex ℝ s
xs : x ∈ s
ys : y ∈ s
g : E → G := fun y => f y - ↑φ y
hg : ∀ (x : E), x ∈ s → HasFDerivWithinAt g (f' x - φ) s x
⊢ ‖f y - ↑φ y - (f x - ↑φ x)‖ = ‖g y - g x‖