/-- Given a map `f : MultilinearMap 𝕜 E (MultilinearMap 𝕜 E' G)` and an estimate
`H : ∀ m m', ‖f m m'‖ ≤ C * ∏ i, ‖m i‖ * ∏ i, ‖m' i‖`, upgrade all `MultilinearMap`s in the type to
`ContinuousMultilinearMap`s. -/
def mkContinuousMultilinear (f : MultilinearMap 𝕜 E (MultilinearMap 𝕜 E' G)) (C : ℝ)
    (H : ∀ m₁ m₂, ‖f m₁ m₂‖ ≤ (C * ∏ i, ‖m₁ i‖) * ∏ i, ‖m₂ i‖) :
    ContinuousMultilinearMap 𝕜 E (ContinuousMultilinearMap 𝕜 E' G) :=
  mkContinuous
    { toFun := fun m => mkContinuous (f m) (C * ∏ i, ‖m i‖) <| H m
      map_add' := fun m i x y => by
        ext1
        simp
      map_smul' := fun m i c x => by
        ext1
        simp }
    (max C 0) fun m => by
      

Proof state:
𝕜 : Type u
ι : Type v
ι' : Type v'
n : ℕ
E : ι → Type wE
E₁ : ι → Type wE₁
E' : ι' → Type wE'
Ei : Fin (Nat.succ n) → Type wEi
G : Type wG
G' : Type wG'
inst✝¹⁴ : Fintype ι
inst✝¹³ : Fintype ι'
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁ i)
inst✝⁷ : (i : ι') → NormedAddCommGroup (E' i)
inst✝⁶ : (i : ι') → NormedSpace 𝕜 (E' i)
inst✝⁵ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (Ei i)
inst✝⁴ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (Ei i)
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f : MultilinearMap 𝕜 E (MultilinearMap 𝕜 E' G)
C : ℝ
H : ∀ (m₁ : (i : ι) → E i) (m₂ : (i : ι') → E' i), ‖(f m₁) m₂‖ ≤ (C * ∏ i : ι, ‖m₁ i‖) * ∏ i : ι', ‖m₂ i‖
m : (i : ι) → E i
⊢ ‖{
          toFun := fun m =>
            mkContinuous (f m) (C * ∏ i : ι, ‖m i‖)
              (_ : ∀ (m₂ : (i : ι') → E' i), ‖(f m) m₂‖ ≤ (C * ∏ i : ι, ‖m i‖) * ∏ i : ι', ‖m₂ i‖),
          map_add' :=
            (_ :
              ∀ [inst : DecidableEq ι] (m : (i : ι) → E i) (i : ι) (x y : E i),
                (fun m =>
                      mkContinuous (f m) (C * ∏ i : ι, ‖m i‖)
                        (_ : ∀ (m₂ : (i : ι') → E' i), ‖(f m) m₂‖ ≤ (C * ∏ i : ι, ‖m i‖) * ∏ i : ι', ‖m₂ i‖))
                    (Function.update m i (x + y)) =
                  (fun m =>
                        mkContinuous (f m) (C * ∏ i : ι, ‖m i‖)
                          (_ : ∀ (m₂ : (i : ι') → E' i), ‖(f m) m₂‖ ≤ (C * ∏ i : ι, ‖m i‖) * ∏ i : ι', ‖m₂ i‖))
                      (Function.update m i x) +
                    (fun m =>
                        mkContinuous (f m) (C * ∏ i : ι, ‖m i‖)
                          (_ : ∀ (m₂ : (i : ι') → E' i), ‖(f m) m₂‖ ≤ (C * ∏ i : ι, ‖m i‖) * ∏ i : ι', ‖m₂ i‖))
                      (Function.update m i y)),
          map_smul' :=
            (_ :
              ∀ [inst : DecidableEq ι] (m : (i : ι) → E i) (i : ι) (c : 𝕜) (x : E i),
                (fun m =>
                      mkContinuous (f m) (C * ∏ i : ι, ‖m i‖)
                        (_ : ∀ (m₂ : (i : ι') → E' i), ‖(f m) m₂‖ ≤ (C * ∏ i : ι, ‖m i‖) * ∏ i : ι', ‖m₂ i‖))
                    (Function.update m i (c • x)) =
                  c •
                    (fun m =>
                        mkContinuous (f m) (C * ∏ i : ι, ‖m i‖)
                          (_ : ∀ (m₂ : (i : ι') → E' i), ‖(f m) m₂‖ ≤ (C * ∏ i : ι, ‖m i‖) * ∏ i : ι', ‖m₂ i‖))
                      (Function.update m i x)) }
        m‖ ≤
    max C 0 * ∏ i : ι, ‖m i‖

Next tactic:
simp only [coe_mk]