Section NullDerivative.
Context {V : NormedModule R_AbsRing}.
End NullDerivative.
(** * Iterated differential *)
(** ** Definition *)
Fixpoint Derive_n (f : R -> R) (n : nat) x :=
match n with
| O => f x
| S n => Derive (Derive_n f n) x
end.
Definition ex_derive_n f n x :=
match n with
| O => True
| S n => ex_derive (Derive_n f n) x
end.
Definition is_derive_n f n x l :=
match n with
| O => f x = l
| S n => is_derive (Derive_n f n) x l
end.
(** Extensionality *)
(** Constant function *)
(** ** Operations *)
(** *** Additive operators *)
(** Opposite *)
(** Addition of functions *)

Lemma Derive_n_iter_plus {I : Type} (l : list I) (f : I -> R -> R) (n: nat) (x : R) :
locally x (fun y => forall (j : I) (k : nat), List.In j l -> (k <= n)%nat -> ex_derive_n (f j) k y) ->
Derive_n (fun y => iter Rplus 0 l (fun j => f j y)) n x =
iter Rplus 0 l (fun j => Derive_n (f j) n x).