Hint Immediate Start_embed_string.

(* Specifications: *)
Lemma L_ind_insert M :
forall (A : list (list Sigma' * list Sigma')) (x0 : list Sigma' * list Sigma'),
x0 el P -> (M = # \/ M = Start) ->
forall x y0 : list Sigma,
L_ind P (x ++ [Start] ++ y0) A ->
L_ind P (x ++ (embed_string (fst x0) ++ M :: embed_string (rev (snd x0))) ++ y0) (A ++ [(fst x0, snd x0)]).
Lemma L_ind_char x :
rewt (f P) [Start] x <-> exists A, L_ind P x A.
Lemma L_ind_char2 A :
A <> nil /\ A <<= P <-> exists x, ~ startsym (f P) el x /\ L_ind P x A.