apply Second; try trivial with arith.
intros; apply First; try trivial with arith.
apply Third; try trivial with arith.
intros.
elim (H n1); intros Hyp.
apply First; auto with arith.
apply Second; auto with arith.
apply Third; auto with arith.
Defined.
Inductive order : Set :=
| L : order
| E : order
| G : order.
Definition comparison (v1 v2 : nat) :=
match Lt_eq_Gt v1 v2 return order with
| First _ => L
| Second _ => E
| Third _ => G
end.

(* Specifications: *)
Lemma comparisonL :
forall v1 v2 : nat, v1 < v2 -> Compare_Nat.comparison v1 v2 = L.