Section LinearFct.
(** * Linear functions *)
Context {K : AbsRing} {U V : NormedModule K}.
Record is_linear (l : U -> V) := {
linear_plus : forall (x y : U), l (plus x y) = plus (l x) (l y) ;
linear_scal : forall (k : K) (x : U), l (scal k x) = scal k (l x) ;
linear_norm : exists M : R, 0 < M /\ (forall x : U, norm (l x) <= M * norm x) }.
End LinearFct.

Lemma is_linear_comp {K : AbsRing} {U V W : NormedModule K}
(l1 : U -> V) (l2 : V -> W) :
is_linear l1 -> is_linear l2 -> is_linear (fun x => l2 (l1 x)).