(** * Partial derivatives *)
Definition partial_derive (m k : nat) (f : R -> R -> R) : R -> R -> R :=
fun x y => Derive_n (fun t => Derive_n (fun z => f t z) k y) m x.
Definition differential (p : nat) (f : R -> R -> R) (x y dx dy : R) : R :=
sum_f_R0
(fun m =>
C p m *
partial_derive m (p - m)%nat f x y *
dx ^ m * dy ^ (p - m)%nat)
p.
Definition DL_pol (n : nat) (f : R -> R -> R) (x y dx dy : R) : R :=
sum_f_R0
(fun p =>
differential p f x y dx dy / INR (fact p))
n.

Lemma partial_derive_ext_loc :
forall f g p q x y,
locally_2d (fun u v => f u v = g u v) x y ->
partial_derive p q f x y = partial_derive p q g x y.