(*s Extending D with an element None representing infinity *)
Definition Ddmin (dd dd' : option D) :=
match dd, dd' with
| None, _ => dd'
| _, None => dd
| Some d, Some d' => Some (Dmin d d')
end.

Lemma Ddmin_assoc :
forall dd dd' dd'' : option D,
Ddmin (Ddmin dd dd') dd'' = Ddmin dd (Ddmin dd' dd'').