cases n with
| zero =>
  simp
  rw [orderedIteratedFPiDeriv_zero_apply]
  rw [Subsingleton.elim (fun i => Pi.single (js i) _) 0]
  rw [← ContinuousMultilinearMap.uncurry0_apply]
  rw [hf.zero_eq]
| succ n =>
  replace hn : n < N
  . refine lt_of_lt_of_le ?_ hn
    norm_cast
    exact Nat.lt_succ_self n
  rw [orderedIteratedFPiDeriv_succ_apply_left]
  rw [fpideriv_apply_eq_fderiv_apply_single (differentiableAt_orderedIteratedFPiDeriv hn hf)]
  rw [HasFTaylorSeriesUpTo.fderiv_orderedIteratedFPiDeriv hn hf]
  rw [ContinuousLinearMap.comp_apply]
  simp only [ContinuousMultilinearMap.compContinuousLinearMapL_apply,
    ContinuousMultilinearMap.compContinuousLinearMap_apply, ContinuousLinearMap.single_apply,
    ContinuousMultilinearMap.curryLeft_apply]
  congr
  simp only [Fin.tail]
  funext i
  refine Fin.cases ?_ ?_ i <;> simp
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) → FormalMultilinearSeries 𝕜 ((i : ι) → M i) F
n : ℕ
N : ℕ∞
hn : ↑n ≤ N
hf : HasFTaylorSeriesUpTo N f f'
js : Fin n → ι
x : (i : ι) → M i
m : (i : Fin n) → M (js i)
⊢ (orderedIteratedFPiDeriv 𝕜 js f x) m = (f' x n) fun i => Pi.single (js i) (m i)
no goals