Ltac list_simpl := (repeat (progress (cbn; autorewrite with list))); cbn.
Definition concat_map A B (f : A -> list B) x := concat (map f x).

Lemma L_ind_inv x (A : pcp _) :
L_ind P x A ->
exists M, (M = Start \/ M = #) /\ x = embed_string (concat_map fst A) ++ [M] ++ embed_string (concat_map (@rev _ ∘ snd) (rev A)).