In vanilla Coq, I'd write
Require Import Coq.Arith.Arith.
Goal nat -> nat -> False.
intros n m.
destruct (lt_eq_lt_dec n m) as [[?|?]|?].
to get three goals, one for n < m
, one for n = m
, and one for m < n
.
In ssreflect, I'd start with
From Coq.ssr Require Import ssreflect ssrbool.
From mathcomp.ssreflect Require Import eqtype ssrnat.
Goal nat -> nat -> False.
move => n m.
What's the standard/canonical way to divide this into three cases, for n < m
, n == m
, and m < n
, in ssreflect?