Global Instance RelDec_string : RelDec (@eq string) :=
{| rel_dec := string_dec |}.Global Instance RelDec_Correct_string : RelDec_Correct RelDec_string.Global Instance Reflect_string_dec a b : Reflect (string_dec a b) (a = b) (a <> b).Fixpoint string_cmp (l r : string) : comparison :=
  match l , r with
    | EmptyString , EmptyString => Eq
    | EmptyString , _ => Lt
    | _ , EmptyString => Gt
    | String l ls , String r rs =>
      ascii_cmp l r >> string_cmp ls rs
  end.

(* Specifications: *)
Lemma _xxx : forall m n, 1 < m -> ~ n < m -> 0 < n.