Module Tac := !MakeOrderTac NZ IsTotal.
End Private_OrderTac.
Ltac order := Private_OrderTac.Tac.order.
(** Some direct consequences of [order]. *)
(** The order tactic enriched with some knowledge of 0,1,2 *)
Ltac order' := generalize lt_0_1 lt_1_2; order.
(** More Trichotomy, decidability and double negation elimination. *)
(** The following theorem is cleary redundant, but helps not to remember whether one has to say le_gt_cases or lt_ge_cases *)

Theorem lt_gt_cases : forall n m, n ~= m <-> n < m \/ n > m.