(** ** Split [Star] to [list string] *)

(* Specifications: *)
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 }.
Lemma divide_Star_left : forall s r, (Star r) ~== s -> s <> ""%string ->
{s':string & {s'':string | s = (s' ++ s'')%string /\ s'' <> ""%string /\
(Star r) ~== s' /\ r ~== s''}}.