awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
m : ℕ
inl :
  ∀ (hm : m ≤ n),
    HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
      (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)
inr :
  ∀ (hm : n < m),
    HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
      (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)
⊢ HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
    (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)

Tactic:
rcases le_or_gt m n with hm | hm

Premises used: le_or_gt
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
m : ℕ
hm : m ≤ n
rw rw₁ : ‖L‖ ^ n = ‖L‖ ^ n
⊢ ‖L‖ ^ n = ‖L‖ ^ (m + (n - m))

Tactic:
rw [Nat.add_sub_cancel' hm]

Premises used: Nat.add_sub_cancel'
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
m : ℕ
hm : m ≤ n
inl :
  HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
    (↑(n.descFactorial m) : ℝ) * (‖L‖ ^ m * ‖L‖ ^ (n - m)) * ‖v‖ ^ (n - m)
⊢ HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
    (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)

Tactic:
rw [show ‖L‖ ^ n = ‖L‖ ^ (m + (n - m)) by rw [Nat.add_sub_cancel' hm], pow_add]

Premises used: pow_add
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
m : ℕ
hm : m ≤ n
⊢ HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
    (↑(n.descFactorial m) : ℝ) * (‖L‖ ^ m * ‖L‖ ^ (n - m)) * ‖v‖ ^ (n - m)

Tactic:
ring
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
m : ℕ
hm : n < m
⊢ HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m =
    (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)

Tactic:
simp only [Nat.descFactorial_eq_zero_iff_lt.mpr hm, CharP.cast_eq_zero, mul_one, zero_mul]

Premises used: CharP.cast_eq_zero, Iff.mpr, MulZeroClass.zero_mul, Nat.descFactorial_eq_zero_iff_lt, mul_one
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
⊢ ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)

Tactic:
have I₃ m : ‖iteratedFDeriv ℝ m (T ∘ (ContinuousLinearMap.pi (fun (_ : Fin n) ↦ L))) v‖ ≤
      n.descFactorial m * ‖L‖ ^ n * ‖v‖ ^ (n - m) := by
    apply (I₂ m).trans (le_of_eq _)
    rcases le_or_gt m n with hm | hm
    · rw [show ‖L‖ ^ n = ‖L‖ ^ (m + (n - m)) by rw [Nat.add_sub_cancel' hm], pow_add]
      ring
    · simp only [Nat.descFactorial_eq_zero_iff_lt.mpr hm, CharP.cast_eq_zero, mul_one, zero_mul]
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
I₃ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)
⊢ ContDiff.{0, u_2, u_3} ℝ (F := ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) K fun (y : V) ↦
    (T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) fun (x : Fin n) ↦
      (L : (a : V) → W →L[ℝ] ℝ) y

Tactic:
have A : ContDiff ℝ K (fun y ↦ T (fun _ ↦ L y)) :=
    (ContinuousMultilinearMap.contDiff _).comp (contDiff_pi.2 fun _ ↦ L.contDiff)
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
I₃ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)
A :
  ContDiff.{0, u_2, u_3} ℝ (F := ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) K fun (y : V) ↦
    (T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) fun (x : Fin n) ↦
      (L : (a : V) → W →L[ℝ] ℝ) y
i : ℕ
hi : i ∈ Finset.range (k + 1)
h : n.descFactorial i ≤ (n + 1) ^ k
⊢ (↑(n.descFactorial i) : ℝ) ≤ HPow.hPow (α := ℝ) (↑(n + 1) : ℝ) k

Tactic:
norm_cast
-- Module: Mathlib.Analysis.Fourier.FourierTransformDeriv
Goal:
E : Type u_1
inst : NormedAddCommGroup E
inst_1 : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst_2 : NormedAddCommGroup V
inst_3 : NormedSpace ℝ V
inst_4 : NormedAddCommGroup W
inst_5 : NormedSpace ℝ W
L : ContinuousLinearMap.{0, 0, u_2, u_3} (RingHom.id ℝ) V (W →L[ℝ] ℝ)
f : V → E
K : ℕ∞ω
C : ℝ
hf : ContDiff ℝ K f
n k : ℕ
hk : (↑k : ℕ∞ω) ≤ K
v : V
hv :
  ∀ i ≤ k,
    ∀ j ≤ n,
      ‖v‖ ^ j *
          Norm.norm (E := ContinuousMultilinearMap.{0, 0, u_2, u_1} ℝ (fun (i : Fin i) ↦ V) E)
            (iteratedFDeriv ℝ i f v) ≤
        C
T : ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W →L[ℝ] ℝ) (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) :=
  compContinuousLinearMapLRight (E := fun (i : Fin n) ↦ W) (E₁ := fun (i : Fin n) ↦ ℝ)
    (ContinuousMultilinearMap.mkPiAlgebra ℝ (Fin n) ℝ)
I₁ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap ℝ (fun (i : Fin m) ↦ (i : Fin n) → W →L[ℝ] ℝ)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
          fun (x : Fin n) ↦ (L : (a : V) → W →L[ℝ] ℝ) v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m)
I₂ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      HMul.hMul (α := ℝ) (↑(n.descFactorial m) : ℝ) 1 * (‖L‖ * ‖v‖) ^ (n - m) * ‖L‖ ^ m
I₃ :
  ∀ (m : ℕ),
    Norm.norm (E :=
        ContinuousMultilinearMap.{0, 0, u_2, u_3} ℝ (fun (i : Fin m) ↦ V)
          (ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ))
        (iteratedFDeriv ℝ m
          (Function.comp (β := (i : Fin n) → W →L[ℝ] ℝ)
            (⇑T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ)
            (⇑(ContinuousLinearMap.pi (φ := fun (x : Fin n) ↦ W →L[ℝ] ℝ) fun (x : Fin n) ↦ L) :
              (a : V) → (i : Fin n) → W →L[ℝ] ℝ))
          v) ≤
      (↑(n.descFactorial m) : ℝ) * ‖L‖ ^ n * ‖v‖ ^ (n - m)
A :
  ContDiff.{0, u_2, u_3} ℝ (F := ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) K fun (y : V) ↦
    (T : (a : (i : Fin n) → W →L[ℝ] ℝ) → ContinuousMultilinearMap ℝ (fun (i : Fin n) ↦ W) ℝ) fun (x : Fin n) ↦
      (L : (a : V) → W →L[ℝ] ℝ) y
i : ℕ
hi : i ∈ Finset.range (k + 1)
⊢ n.descFactorial i ≤ n ^ i

Tactic:
Nat.descFactorial_le_pow _ _

Premises used: Nat.descFactorial_le_pow