(** * Coq codes *)
(** ** Dependencies *)
Require Export RegExp.Utility.
Require Export RegExp.Definitions.
Require Export RegExp.Boolean.
Require Export RegExp.Concat.
Unset Standard Proposition Elimination Names.
(** ** Lemmas for Star *)
(** ** $ 1 + x x^{\ast} = x $ #1 + x x* = x# *)
(** ** Split [Star] to [list string] *)
(** ** [Star] is morphism *)
Add Parametric Morphism : Star with
signature re_eq ==> re_eq as Star_morphism.
(** ** $ 1 + x^{\ast} x = x $ #1 + x* x = x# *)

Lemma matches_Star_left_s : forall s r, (Star r) ~= s = (Eps || (Star r ++ r)) ~= s.