Theorem: ContinuousMultilinearMap.continuous_compContinuousLinearMapL_fin
Proof state before:
case h
𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
G : Type u_4
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
n : ℕ
E : Fin (Nat.succ n) → Type u_2
inst✝³ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E i)
inst✝² : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E i)
E₁ : Fin (Nat.succ n) → Type u_3
inst✝¹ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E₁ i)
inst✝ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E₁ i)
f : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
ε : ℝ
hε_pos : ε > 0
ε₁ : ℝ
hε₁_def : ε / 2 / (2 + ‖f 0‖) = ε₁
hε₁_pos : 0 < ε₁
δ₁ : ℝ
hδ₁_pos : δ₁ > 0
IH :
  ∀ (a : (i : Fin n) → E (Fin.succ i) →L[𝕜] E₁ (Fin.succ i)),
    ‖a - fun i => f (Fin.succ i)‖ < δ₁ →
      ‖compContinuousLinearMapL a - compContinuousLinearMapL fun i => f (Fin.succ i)‖ < ε₁
δ : ℝ
hδ_def : 1 ⊓ δ₁ ⊓ ε / 2 / (1 + ∏ i : Fin n, ‖f (Fin.succ i)‖) = δ
hδ : δ ≤ δ₁
hδ_pos : 0 < δ
C₁ : ℝ
hC₁_def : ε₁ * (δ + ‖f 0‖) = C₁
C₂ : ℝ
hC₂_def : δ * ∏ i : Fin n, ‖f (Fin.succ i)‖ = C₂
hC₁ : C₁ < ε / 2
hC₂ : C₂ < ε / 2
hC : C₁ + C₂ < ε
hC₁_nonneg : 0 ≤ C₁
hC₂_nonneg : 0 ≤ C₂
g : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
hgf : ‖(g - f) 0‖ < δ ∧ ‖Fin.tail (g - f)‖ < δ
q : ContinuousMultilinearMap 𝕜 E₁ G
x : (i : Fin (Nat.succ n)) → E i
⊢ ‖(q fun i => (g i) (x i)) - q (Fin.cons ((g 0) (x 0)) fun i => (f (Fin.succ i)) (x (Fin.succ i)))‖ +
      ‖q (Fin.cons ((g 0) (x 0)) fun i => (f (Fin.succ i)) (x (Fin.succ i))) - q fun i => (f i) (x i)‖ ≤
    C₁ * ‖q‖ * ∏ i : Fin (Nat.succ n), ‖x i‖ + C₂ * ‖q‖ * ∏ i : Fin (Nat.succ n), ‖x i‖
Tactic:
refine add_le_add ?_ ?_
Proof state after:
case h.refine_1
𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
G : Type u_4
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
n : ℕ
E : Fin (Nat.succ n) → Type u_2
inst✝³ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E i)
inst✝² : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E i)
E₁ : Fin (Nat.succ n) → Type u_3
inst✝¹ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E₁ i)
inst✝ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E₁ i)
f : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
ε : ℝ
hε_pos : ε > 0
ε₁ : ℝ
hε₁_def : ε / 2 / (2 + ‖f 0‖) = ε₁
hε₁_pos : 0 < ε₁
δ₁ : ℝ
hδ₁_pos : δ₁ > 0
IH :
  ∀ (a : (i : Fin n) → E (Fin.succ i) →L[𝕜] E₁ (Fin.succ i)),
    ‖a - fun i => f (Fin.succ i)‖ < δ₁ →
      ‖compContinuousLinearMapL a - compContinuousLinearMapL fun i => f (Fin.succ i)‖ < ε₁
δ : ℝ
hδ_def : 1 ⊓ δ₁ ⊓ ε / 2 / (1 + ∏ i : Fin n, ‖f (Fin.succ i)‖) = δ
hδ : δ ≤ δ₁
hδ_pos : 0 < δ
C₁ : ℝ
hC₁_def : ε₁ * (δ + ‖f 0‖) = C₁
C₂ : ℝ
hC₂_def : δ * ∏ i : Fin n, ‖f (Fin.succ i)‖ = C₂
hC₁ : C₁ < ε / 2
hC₂ : C₂ < ε / 2
hC : C₁ + C₂ < ε
hC₁_nonneg : 0 ≤ C₁
hC₂_nonneg : 0 ≤ C₂
g : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
hgf : ‖(g - f) 0‖ < δ ∧ ‖Fin.tail (g - f)‖ < δ
q : ContinuousMultilinearMap 𝕜 E₁ G
x : (i : Fin (Nat.succ n)) → E i
⊢ ‖(q fun i => (g i) (x i)) - q (Fin.cons ((g 0) (x 0)) fun i => (f (Fin.succ i)) (x (Fin.succ i)))‖ ≤
    C₁ * ‖q‖ * ∏ i : Fin (Nat.succ n), ‖x i‖

case h.refine_2
𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
G : Type u_4
inst✝⁵ : NormedAddCommGroup G
inst✝⁴ : NormedSpace 𝕜 G
n : ℕ
E : Fin (Nat.succ n) → Type u_2
inst✝³ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E i)
inst✝² : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E i)
E₁ : Fin (Nat.succ n) → Type u_3
inst✝¹ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E₁ i)
inst✝ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E₁ i)
f : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
ε : ℝ
hε_pos : ε > 0
ε₁ : ℝ
hε₁_def : ε / 2 / (2 + ‖f 0‖) = ε₁
hε₁_pos : 0 < ε₁
δ₁ : ℝ
hδ₁_pos : δ₁ > 0
IH :
  ∀ (a : (i : Fin n) → E (Fin.succ i) →L[𝕜] E₁ (Fin.succ i)),
    ‖a - fun i => f (Fin.succ i)‖ < δ₁ →
      ‖compContinuousLinearMapL a - compContinuousLinearMapL fun i => f (Fin.succ i)‖ < ε₁
δ : ℝ
hδ_def : 1 ⊓ δ₁ ⊓ ε / 2 / (1 + ∏ i : Fin n, ‖f (Fin.succ i)‖) = δ
hδ : δ ≤ δ₁
hδ_pos : 0 < δ
C₁ : ℝ
hC₁_def : ε₁ * (δ + ‖f 0‖) = C₁
C₂ : ℝ
hC₂_def : δ * ∏ i : Fin n, ‖f (Fin.succ i)‖ = C₂
hC₁ : C₁ < ε / 2
hC₂ : C₂ < ε / 2
hC : C₁ + C₂ < ε
hC₁_nonneg : 0 ≤ C₁
hC₂_nonneg : 0 ≤ C₂
g : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
hgf : ‖(g - f) 0‖ < δ ∧ ‖Fin.tail (g - f)‖ < δ
q : ContinuousMultilinearMap 𝕜 E₁ G
x : (i : Fin (Nat.succ n)) → E i
⊢ ‖q (Fin.cons ((g 0) (x 0)) fun i => (f (Fin.succ i)) (x (Fin.succ i))) - q fun i => (f i) (x i)‖ ≤
    C₂ * ‖q‖ * ∏ i : Fin (Nat.succ n), ‖x i‖