(*s The order [Dle] extended to $D_{\infty}$ *)
Definition Ddle (dd dd' : option D) :=
  match dd, dd' with
  | _, None => true
  | None, _ => false
  | Some d, Some d' => Dle d d'
  end.

(* Specifications: *)
Lemma Ddle_refl : forall dd : option D, Ddle dd dd = true.
Lemma Ddle_antisym : forall dd dd' : option D, Ddle dd dd' = true -> Ddle dd' dd = true -> dd = dd'.
Lemma Ddle_trans : forall dd dd' dd'' : option D, Ddle dd dd' = true -> Ddle dd' dd'' = true -> Ddle dd dd'' = true.
Lemma Ddle_d_none : forall dd : option D, Ddle dd None = true.
Lemma Ddmin_le_1 : forall dd dd' : option D, Ddle (Ddmin dd dd') dd = true.
Lemma Ddmin_le_2 : forall dd dd' : option D, Ddle (Ddmin dd dd') dd' = true.
Lemma Ddmin_le_3 : forall dd dd' dd'' : option D, Ddle dd (Ddmin dd' dd'') = true -> Ddle dd dd' = true.
Lemma Ddmin_le_4 : forall dd dd' dd'' : option D, Ddle dd (Ddmin dd' dd'') = true -> Ddle dd dd'' = true.
Lemma Ddmin_le_distr_l : forall dd dd' dd'' : option D, Ddle (Ddmin dd dd') dd'' = Ddle dd dd'' || Ddle dd' dd''.
Lemma Ddmin_choice : forall dd dd' : option D, {Ddmin dd dd' = dd} + {Ddmin dd dd' = dd'}.