internlm/Lean-Github huggingface dataset:
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x : (i : ι) → M i
⊢ HasFDerivAt f
    (ContinuousLinearMap.comp
      (↑(ContinuousLinearEquiv.mk
          (LinearIsometryEquiv.symm
              (LinearIsometryEquiv.symm (continuousMultilinearIsEmptyEquiv 𝕜 (fun i => M (js i)) F))).toLinearEquiv))
      (ContinuousLinearMap.comp
        (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
        (ContinuousMultilinearMap.curryLeft (f' x (Nat.zero + 1)))))
    x
Tactic:
refine HasFDerivAt.congr_fderiv (hf.hasFDerivAt (by simp) x) ?_
Proof state after:
case zero
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x : (i : ι) → M i
⊢ (continuousMultilinearCurryFin1 𝕜 ((i : ι) → M i) F) (f' x 1) =
    ContinuousLinearMap.comp
      (↑(ContinuousLinearEquiv.mk
          (LinearIsometryEquiv.symm
              (LinearIsometryEquiv.symm (continuousMultilinearIsEmptyEquiv 𝕜 (fun i => M (js i)) F))).toLinearEquiv))
      (ContinuousLinearMap.comp
        (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
        (ContinuousMultilinearMap.curryLeft (f' x (Nat.zero + 1))))
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x : (i : ι) → M i
⊢ (continuousMultilinearCurryFin1 𝕜 ((i : ι) → M i) F) (f' x 1) =
    ContinuousLinearMap.comp
      (↑(ContinuousLinearEquiv.mk
          (LinearIsometryEquiv.symm
              (LinearIsometryEquiv.symm (continuousMultilinearIsEmptyEquiv 𝕜 (fun i => M (js i)) F))).toLinearEquiv))
      (ContinuousLinearMap.comp
        (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
        (ContinuousMultilinearMap.curryLeft (f' x (Nat.zero + 1))))
Tactic:
ext m
Proof state after:
case zero.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
⊢ ((continuousMultilinearCurryFin1 𝕜 ((i : ι) → M i) F) (f' x 1)) m =
    (ContinuousLinearMap.comp
        (↑(ContinuousLinearEquiv.mk
            (LinearIsometryEquiv.symm
                (LinearIsometryEquiv.symm (continuousMultilinearIsEmptyEquiv 𝕜 (fun i => M (js i)) F))).toLinearEquiv))
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (Nat.zero + 1)))))
      m
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
⊢ ((continuousMultilinearCurryFin1 𝕜 ((i : ι) → M i) F) (f' x 1)) m =
    (ContinuousLinearMap.comp
        (↑(ContinuousLinearEquiv.mk
            (LinearIsometryEquiv.symm
                (LinearIsometryEquiv.symm (continuousMultilinearIsEmptyEquiv 𝕜 (fun i => M (js i)) F))).toLinearEquiv))
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (Nat.zero + 1)))))
      m
Tactic:
simp only [continuousMultilinearCurryFin1_apply, Nat.zero_eq, LinearIsometryEquiv.symm_symm,
  ContinuousLinearMap.coe_comp', ContinuousLinearEquiv.coe_coe, LinearIsometryEquiv.coe_coe,
  Function.comp_apply, ContinuousMultilinearMap.compContinuousLinearMapL_apply,
  continuousMultilinearIsEmptyEquiv_apply,
  ContinuousMultilinearMap.compContinuousLinearMap_apply, Pi.zero_apply, map_zero,
  ContinuousMultilinearMap.curryLeft_apply]
Proof state after:
case zero.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
⊢ (f' x 1) (Fin.snoc 0 m) = (f' x (0 + 1)) (Fin.cons m fun i => 0)
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
⊢ (f' x 1) (Fin.snoc 0 m) = (f' x (0 + 1)) (Fin.cons m fun i => 0)
Tactic:
congr
Proof state after:
case zero.h.h.e_6.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
⊢ Fin.snoc 0 m = Fin.cons m fun i => 0
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h.h.e_6.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
⊢ Fin.snoc 0 m = Fin.cons m fun i => 0
Tactic:
funext i
Proof state after:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
⊢ Fin.snoc 0 m i = Fin.cons m (fun i => 0) i
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
⊢ Fin.snoc 0 m i = Fin.cons m (fun i => 0) i
Tactic:
rw [Fin.eq_zero i]
Proof state after:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
⊢ Fin.snoc 0 m 0 = Fin.cons m (fun i => 0) 0
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
⊢ Fin.snoc 0 m 0 = Fin.cons m (fun i => 0) 0
Tactic:
simp only [Fin.cons_zero]
Proof state after:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
⊢ Fin.snoc 0 m 0 = m
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
⊢ Fin.snoc 0 m 0 = m
Tactic:
have : (0 : Fin 1) = Fin.last 0 := rfl
Proof state after:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
this : 0 = Fin.last 0
⊢ Fin.snoc 0 m 0 = m
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case zero.h.h.e_6.h.h
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x m : (i : ι) → M i
i : Fin (0 + 1)
this : 0 = Fin.last 0
⊢ Fin.snoc 0 m 0 = m
Tactic:
simp [this]
Proof state after:
no goals
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
ι : 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
hf : HasFTaylorSeriesUpTo (↑Nat.zero + 1) f f'
js : Fin Nat.zero → ι
x : (i : ι) → M i
⊢ 1 ≤ ↑Nat.zero + 1
Tactic:
simp
Proof state after:
no goals
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case succ
ι : 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 : ℕ
ih :
  HasFTaylorSeriesUpTo (↑n + 1) f f' →
    ∀ {js : Fin n → ι} {x : (i : ι) → M i},
      HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (n + 1))))
        x
hf : HasFTaylorSeriesUpTo (↑(Nat.succ n) + 1) f f'
js : Fin (Nat.succ n) → ι
x : (i : ι) → M i
⊢ HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
    (ContinuousLinearMap.comp
      (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
      (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ n + 1))))
    x
Tactic:
rw [← hasFTaylorSeriesUpToOn_univ_iff] at hf
Proof state after:
case succ
ι : 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 : ℕ
ih :
  HasFTaylorSeriesUpTo (↑n + 1) f f' →
    ∀ {js : Fin n → ι} {x : (i : ι) → M i},
      HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (n + 1))))
        x
hf : HasFTaylorSeriesUpToOn (↑(Nat.succ n) + 1) f f' Set.univ
js : Fin (Nat.succ n) → ι
x : (i : ι) → M i
⊢ HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
    (ContinuousLinearMap.comp
      (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
      (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ n + 1))))
    x
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case succ
ι : 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 : ℕ
ih :
  HasFTaylorSeriesUpTo (↑n + 1) f f' →
    ∀ {js : Fin n → ι} {x : (i : ι) → M i},
      HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (n + 1))))
        x
hf : HasFTaylorSeriesUpToOn (↑(Nat.succ n) + 1) f f' Set.univ
js : Fin (Nat.succ n) → ι
x : (i : ι) → M i
⊢ HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
    (ContinuousLinearMap.comp
      (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
      (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ n + 1))))
    x
Tactic:
rw [hasFTaylorSeriesUpToOn_succ_iff_left] at hf
Proof state after:
case succ
ι : 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 : ℕ
ih :
  HasFTaylorSeriesUpTo (↑n + 1) f f' →
    ∀ {js : Fin n → ι} {x : (i : ι) → M i},
      HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (n + 1))))
        x
hf :
  HasFTaylorSeriesUpToOn (↑(Nat.succ n)) f f' Set.univ ∧
    (∀ x ∈ Set.univ,
        HasFDerivWithinAt (fun y => f' y (Nat.succ n))
          (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ (Nat.succ n)))) Set.univ x) ∧
      ContinuousOn (fun x => f' x (Nat.succ n + 1)) Set.univ
js : Fin (Nat.succ n) → ι
x : (i : ι) → M i
⊢ HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
    (ContinuousLinearMap.comp
      (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
      (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ n + 1))))
    x
Theorem: HasFTaylorSeriesUpTo.hasFDerivAt_orderedIteratedFPiDeriv'
Proof state before:
case succ
ι : 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 : ℕ
ih :
  HasFTaylorSeriesUpTo (↑n + 1) f f' →
    ∀ {js : Fin n → ι} {x : (i : ι) → M i},
      HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (n + 1))))
        x
hf :
  HasFTaylorSeriesUpToOn (↑(Nat.succ n)) f f' Set.univ ∧
    (∀ x ∈ Set.univ,
        HasFDerivWithinAt (fun y => f' y (Nat.succ n))
          (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ (Nat.succ n)))) Set.univ x) ∧
      ContinuousOn (fun x => f' x (Nat.succ n + 1)) Set.univ
js : Fin (Nat.succ n) → ι
x : (i : ι) → M i
⊢ HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
    (ContinuousLinearMap.comp
      (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
      (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ n + 1))))
    x
Tactic:
rcases hf with ⟨hf_pred, hf_diff, _⟩
Proof state after:
case succ.intro.intro
ι : 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 : ℕ
ih :
  HasFTaylorSeriesUpTo (↑n + 1) f f' →
    ∀ {js : Fin n → ι} {x : (i : ι) → M i},
      HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
        (ContinuousLinearMap.comp
          (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
          (ContinuousMultilinearMap.curryLeft (f' x (n + 1))))
        x
js : Fin (Nat.succ n) → ι
x : (i : ι) → M i
hf_pred : HasFTaylorSeriesUpToOn (↑(Nat.succ n)) f f' Set.univ
hf_diff :
  ∀ x ∈ Set.univ,
    HasFDerivWithinAt (fun y => f' y (Nat.succ n)) (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ (Nat.succ n))))
      Set.univ x
right✝ : ContinuousOn (fun x => f' x (Nat.succ n + 1)) Set.univ
⊢ HasFDerivAt (orderedIteratedFPiDeriv 𝕜 js f)
    (ContinuousLinearMap.comp
      (ContinuousMultilinearMap.compContinuousLinearMapL fun i => ContinuousLinearMap.single (js i))
      (ContinuousMultilinearMap.curryLeft (f' x (Nat.succ n + 1))))
    x