Proof with auto.
intros.
unfold Ravg.
repeat rewrite map_length.
unfold Rdiv.
rewrite H.
f_equal...
rewrite H0.
rewrite map_map.
replace (map (fun x : list X => g (m x)) u) with (map (fun x : list X => Ravg (map f x)) u)...
apply map_ext...
Qed.

(* Specifications: *)
Lemma Ravg_comp_map_le (U: Type)
(f: U -> list R) (m: U -> R) (g: R -> R):
(forall u, 0 <= m u) ->
(forall a b, 0 <= a -> g a / INR (S b) <= g (a / INR (S b))) ->
(forall l, Rsum (map g l) <= g (Rsum l)) ->
(forall l, Ravg (f l) <= g (m l)) -> forall u, (0 < length u)%nat ->
Ravg (map (Ravg ∘ f) u) <= g (Ravg (map m u)).