(*s Computing the minimum of edges in a Map *)

Definition all_min (f : ad -> D -> option D) := MapFold _ _ None Ddmin f.

Lemma all_min_le_3 : forall (f g : ad -> D -> option D) (m : Map D), (forall (a : ad) (d : D), MapGet _ m a = Some d -> Ddle (f a d) (g a d) = true) -> Ddle (all_min f m) (all_min g m) = true.