Definition sigma_reduce (bom : Bag_of_message) :=
  sigma Site LS (fun si : Site => reduce Data f (bom s0 si)).

(* Specifications: *)
Lemma sigma_reduce_pos : forall (s0 s1 : Site) (bom : Bag_of_message), (forall m : Data, (f m > 0)%Z) -> (sigma_reduce bom >= 0)%Z.