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.
Definition lt_eq_lt_dec : forall a b : A, {lt a b} + {a = b} + {lt b a}.

Theorem lt_le_weak : forall a b : A, lt a b -> le a b.