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.
Lemma tvcompare_refl v : tvcompare v v = Eq.
rewrite tvcompare_def.