Zulip Chat Archive

Stream: maths

Topic: f = g implies deriv f = deriv g


Mark Andrew Gerads (Oct 08 2022 at 13:46):

I've been trying for a while and did not figure it out. Please help find the next step in ruesDiffIteratedDeriv, applying deriv to both sides of the equation K_ih.
image.png

import analysis.complex.basic
import analysis.calculus.deriv
import analysis.calculus.iterated_deriv

def ruesDiff (n : ) (m : ) :    := sorry

lemma ruesDiffHasDeriv (n : ) (m : ) (z : ) :
  has_deriv_at (ruesDiff n m) (ruesDiff n (m + 1) z) z :=
begin
  sorry, -- already proved elsewhere
end

lemma ruesDiffDeriv (n : ) (m : ) :
  deriv (ruesDiff n m) = (ruesDiff n (m + 1)) :=
begin
  refine deriv_eq _,
  intros z,
  exact ruesDiffHasDeriv n m z,
end

lemma ruesDiffIteratedDeriv (k n : ) (m : ) (z : ) : iterated_deriv k (ruesDiff n m) = ruesDiff n (k+m) :=
begin
  induction k with K K_ih,
  simp only [iterated_deriv_zero, nat.cast_zero, zero_add],
  -- -- the following 4 attemps all failed.

  -- {
  --   have h0 : deriv (iterated_deriv K (ruesDiff n m)) = deriv (ruesDiff n ((K:ℤ) + m)),
  --   exact congr_arg deriv,
  -- },

  -- simp_rw congr_arg deriv at K_ih,

  -- simp_rw congr_arg (deriv:(ℂ → ℂ) → (ℂ → ℂ)) at K_ih,

  -- simp_rw (congr_arg (λ (f : (ℂ → ℂ)), deriv f)) at K_ih,
  sorry,
end

Andrew Yang (Oct 08 2022 at 13:53):

Without actual looking in an IDE, I would guess congr_arg deriv K_ih works.

Ruben Van de Velde (Oct 08 2022 at 14:00):

You won't get anywhere without explicitly invoking ruesDiffDeriv

Damiano Testa (Oct 08 2022 at 14:01):

These two lines close the goal

  rw [iterated_deriv_succ, K_ih],
  exact (ruesDiffDeriv _ _),

Ruben Van de Velde (Oct 08 2022 at 14:01):

Stay with rw [iterated_deriv_succ, K_ih],, I think

Ruben Van de Velde (Oct 08 2022 at 14:02):

Ha, not as fast as Damiano


Last updated: Dec 20 2023 at 11:08 UTC