Definition le_lt_dec : forall a b : A, {le a b} + {lt b a}.Definition le_lt_eq_dec : forall a b : A, le a b -> {lt a b} + {a = b}.Module M := More_Dec_Orders D.Definition A := D.A.Definition eqdec : forall a b : A, {a = b} + {a <> b}.Module M1 := More_Dec_Orders D1.Module M2 := More_Dec_Orders D2.Definition A := (D1.A * D2.A)%type.Definition le (a b : A) : Prop :=
   let (a1, a2) := a in
   let (b1, b2) := b in D1.lt a1 b1 \/ a1 = b1 /\ D2.le a2 b2.Definition lt (a b : A) : Prop :=
   let (a1, a2) := a in
   let (b1, b2) := b in D1.lt a1 b1 \/ a1 = b1 /\ D2.lt a2 b2.

(* Specifications: *)
Theorem ordered : order A le.
Theorem lt_le_weak : forall a b : A, lt a b -> le a b.
Theorem lt_diff : forall a b : A, lt a b -> a <> b.
Theorem le_lt_or_eq : forall a b : A, le a b -> lt a b \/ a = b.