(** * 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] *)

Lemma Star_to_list : forall s r, (Star r) ~== s ->
{ss:list string | forallb (fun s => r ~= s) ss = true /\
concat_list_string ss = s /\
forallb (fun s => bneq_empty_string s) ss = true }.