-- Lean 4 proof step from Mathlib.Analysis.Calculus.ContDiff.FTaylorSeries (goal)
Goal:
𝕜 : Type u
inst : NontriviallyNormedField 𝕜
E : Type uE
inst_1 : NormedAddCommGroup E
inst_2 : NormedSpace 𝕜 E
F : Type uF
inst_3 : NormedAddCommGroup F
inst_4 : NormedSpace 𝕜 F
s : Set E
f : E → F
hs : UniqueDiffOn 𝕜 s
n : ℕ
IH :
  ∀ {x : E} (hx : x ∈ s) (m : Fin (n + 1) → E),
    Eq.{uF + 1} (α := F) ((iteratedFDerivWithin 𝕜 (n + 1) f s x : (a : (i : Fin (n + 1)) → E) → F) m : F)
      ((((iteratedFDerivWithin 𝕜 n (fun (y : E) ↦ fderivWithin 𝕜 f s y) s x : (a : (i : Fin n) → E) → E →L[𝕜] F)
                (init (α := fun (i : Fin (n + 1)) ↦ E) m) :
              E →L[𝕜] F) :
            (a : E) → F)
          (m (last n)) :
        F)
x : E
hx : x ∈ s
m : Fin (n + 1 + 1) → E
I : ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F) ≃ₗᵢ[𝕜]
  ContinuousMultilinearMap.{u, 0, uE, uF} 𝕜 (fun (i : Fin n.succ) ↦ E) F :=
  LinearIsometryEquiv.symm (continuousMultilinearCurryRightEquiv' 𝕜 n E F)
A :
  ∀ y ∈ s,
    Eq (α := ContinuousMultilinearMap.{u, 0, uE, uF} 𝕜 (fun (i : Fin n.succ) ↦ E) F)
      (iteratedFDerivWithin 𝕜 n.succ f s y)
      (comp (β := ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F))
        ((⇑I :
            (a : ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F)) →
              ContinuousMultilinearMap.{u, 0, uE, uF} 𝕜 (fun (i : Fin n.succ) ↦ E) F) :
          (a : ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F)) →
            ContinuousMultilinearMap.{u, 0, uE, uF} 𝕜 (fun (i : Fin n.succ) ↦ E) F)
        (iteratedFDerivWithin 𝕜 n (fun (y : E) ↦ fderivWithin 𝕜 f s y) s :
          E → ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F))
        y)
⊢ Eq.{uF + 1} (α := F)
    ((((((fderivWithin 𝕜 (iteratedFDerivWithin 𝕜 n (fun (y : E) ↦ fderivWithin 𝕜 f s y) s) s x :
                      (a : E) → ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F))
                    (m 0) :
                  ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F)) :
                (a : (i : Fin n) → E) → E →L[𝕜] F)
              (init (α := fun (i : Fin (n + 1)) ↦ E) (tail (α := fun (i : Fin (n + 1 + 1)) ↦ E) m)) :
            E →L[𝕜] F) :
          (a : E) → F)
        (tail (α := fun (i : Fin (n + 1 + 1)) ↦ E) m (last n)) :
      F)
    ((((iteratedFDerivWithin 𝕜 n.succ (fun (y : E) ↦ fderivWithin 𝕜 f s y) s x : (a : (i : Fin n.succ) → E) → E →L[𝕜] F)
              (init (α := fun (i : Fin (n + 1 + 1)) ↦ E) m) :
            E →L[𝕜] F) :
          (a : E) → F)
        (m (last (n + 1))) :
      F)
have rw : Eq.{uF + 1} (α := F)
  ((((((fderivWithin 𝕜 (iteratedFDerivWithin 𝕜 n (fun (y : E) ↦ fderivWithin 𝕜 f s y) s) s x :
                    (a : E) → ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F))
                  (m 0) :
                ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F)) :
              (a : (i : Fin n) → E) → E →L[𝕜] F)
            (init (α := fun (i : Fin (n + 1)) ↦ E) (tail (α := fun (i : Fin (n + 1 + 1)) ↦ E) m)) :
          E →L[𝕜] F) :
        (a : E) → F)
      (tail (α := fun (i : Fin (n + 1 + 1)) ↦ E) m (last n)) :
    F)
  ((((((fderivWithin 𝕜 (iteratedFDerivWithin 𝕜 n (fun (y : E) ↦ fderivWithin 𝕜 f s y) s) s x :
                    (a : E) → ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F))
                  (init (α := fun (i : Fin (n + 1 + 1)) ↦ E) m 0) :
                ContinuousMultilinearMap 𝕜 (fun (i : Fin n) ↦ E) (E →L[𝕜] F)) :
              (a : (i : Fin n) → E) → E →L[𝕜] F)
            (init (α := fun (i : Fin (n + 1)) ↦ E) (tail (α := fun (i : Fin (n + 1 + 1)) ↦ E) m)) :
          E →L[𝕜] F) :
        (a : E) → F)
      (m (last (n + 1))) :
    F)
Tactic: rw [iteratedFDerivWithin_succ_apply_left, tail_init_eq_init_tail]