Definition t := string.Definition eq s1 s2 := compare s1 s2 = Eq.Definition lt s1 s2 := compare s1 s2 = Lt.

(* Specifications: *)
Lemma eq_refl (s : t) : eq s s.
Lemma eq_sym (s1 s2 : t) : eq s1 s2 -> eq s2 s1.
Lemma eq_trans (s1 s2 s3 : t) : eq s1 s2 -> eq s2 s3 -> eq s1 s3.
Lemma lt_trans (s1 s2 s3 : t) : lt s1 s2 -> lt s2 s3 -> lt s1 s3.
Lemma lt_not_eq (s1 s2 : t) : lt s1 s2 -> not (eq s1 s2).