/-- Given a map `f : G →ₗ[𝕜] MultilinearMap 𝕜 E G'` and an estimate
`H : ∀ x m, ‖f x m‖ ≤ C * ‖x‖ * ∏ i, ‖m i‖`, construct a continuous linear
map from `G` to `ContinuousMultilinearMap 𝕜 E G'`.

In order to lift, e.g., a map `f : (MultilinearMap 𝕜 E G) →ₗ[𝕜] MultilinearMap 𝕜 E' G'`
to a map `(ContinuousMultilinearMap 𝕜 E G) →L[𝕜] ContinuousMultilinearMap 𝕜 E' G'`,
one can apply this construction to `f.comp ContinuousMultilinearMap.toMultilinearMapLinear`
which is a linear map from `ContinuousMultilinearMap 𝕜 E G` to `MultilinearMap 𝕜 E' G'`. -/
def mkContinuousLinear (f : G →ₗ[𝕜] MultilinearMap 𝕜 E G') (C : ℝ)
    (H : ∀ x m, ‖f x m‖ ≤ C * ‖x‖ * ∏ i, ‖m i‖) : G →L[𝕜] ContinuousMultilinearMap 𝕜 E G' :=
  LinearMap.mkContinuous
    { toFun := fun x => (f x).mkContinuous (C * ‖x‖) <| H x
      map_add' := fun x y => by
        ext1
        simp only [_root_.map_add]
        rfl
      map_smul' := fun c x => by
        ext1
        simp only [SMulHomClass.map_smul]
        rfl }
    (max C 0) fun x => 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 : G →ₗ[𝕜] MultilinearMap 𝕜 E G'
C : ℝ
H : ∀ (x : G) (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖
x : G
⊢ ‖{
          toAddHom :=
            {
              toFun := fun x =>
                mkContinuous (f x) (C * ‖x‖) (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖),
              map_add' :=
                (_ :
                  ∀ (x y : G),
                    (fun x =>
                          mkContinuous (f x) (C * ‖x‖)
                            (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                        (x + y) =
                      (fun x =>
                            mkContinuous (f x) (C * ‖x‖)
                              (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                          x +
                        (fun x =>
                            mkContinuous (f x) (C * ‖x‖)
                              (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                          y) },
          map_smul' :=
            (_ :
              ∀ (c : 𝕜) (x : G),
                AddHom.toFun
                    {
                      toFun := fun x =>
                        mkContinuous (f x) (C * ‖x‖) (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖),
                      map_add' :=
                        (_ :
                          ∀ (x y : G),
                            (fun x =>
                                  mkContinuous (f x) (C * ‖x‖)
                                    (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                                (x + y) =
                              (fun x =>
                                    mkContinuous (f x) (C * ‖x‖)
                                      (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                                  x +
                                (fun x =>
                                    mkContinuous (f x) (C * ‖x‖)
                                      (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                                  y) }
                    (c • x) =
                  (RingHom.id 𝕜) c •
                    AddHom.toFun
                      {
                        toFun := fun x =>
                          mkContinuous (f x) (C * ‖x‖)
                            (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖),
                        map_add' :=
                          (_ :
                            ∀ (x y : G),
                              (fun x =>
                                    mkContinuous (f x) (C * ‖x‖)
                                      (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                                  (x + y) =
                                (fun x =>
                                      mkContinuous (f x) (C * ‖x‖)
                                        (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                                    x +
                                  (fun x =>
                                      mkContinuous (f x) (C * ‖x‖)
                                        (_ : ∀ (m : (i : ι) → E i), ‖(f x) m‖ ≤ C * ‖x‖ * ∏ i : ι, ‖m i‖))
                                    y) }
                      x) }
        x‖ ≤
    max C 0 * ‖x‖

Next tactic:
rw [LinearMap.coe_mk, AddHom.coe_mk]