(** * Coq codes *)
(** ** Dependencies *)
Require Export RegExp.Utility.
Require Export RegExp.Definitions.
Require Export RegExp.Boolean.
Require Export RegExp.Concat.
Unset Standard Proposition Elimination Names.
(** ** [Char] *)

(* Specifications: *)
Lemma Char_true : forall c, (Char c) ~== (String c ""%string).
Lemma Char_false : forall s c, s <> (String c ""%string) -> (Char c) ~!= s.
Add Parametric Morphism : Char with
signature ascii_eq ==> re_eq as Char_mor.
Lemma derive_Char_is_id : forall a r, derive a (Char a ++ r) =R= r.
Fixpoint string_to_re (s:string):RegExp :=
match s with
| EmptyString => Eps
| String a s' => (Char a) ++ (string_to_re s')
end.