(*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'}.