(** ** Lemmas for list *)
Definition concat_list_string(xs:list string) :=
fold_right (fun s s' : string => (s ++ s')%string) ""%string xs.

(* Other useful lemmas are: Lemma forallb_forall : forall l, forallb l = true <-> (forall x, In x l -> f x = true). Lemma forallb_app : forall l1 l2, forallb (l1++l2) = forallb l1 && forallb l2. *)
Lemma forallb_divide_left : forall (A:Type)(f:A -> bool) (l l':list A),
forallb f (l ++ l') = true -> forallb f l = true.