Fixpoint natc (m n : nat) :=
match m, n with 0, 0 => Eq | 0, _ => Lt | _, 0 => Gt | S m1, S n1 => natc m1 n1 end.

(* Specifications: *)
Lemma natc_correct m n : match natc m n with Eq => m = n | Lt => m < n | Gt => n < m end.
Lemma natc_eq m n : match natc m n with | Eq => m = n | _ => True end.