Inductive Sigma := embed (s : Sigma') | Start | hash.Inductive Sigma := embed (s : Sigma') | Start | hash.Inductive Sigma := embed (s : Sigma') | Start | hash.Inductive Sigma := embed (s : Sigma') | Start | hash.Definition embed_string (s : list Sigma') := map embed s.

(* Specifications: *)
Lemma terminal_f x : ~ Start el x <-> terminal (f P) x.
Lemma Start_embed_string x : ~ Start el embed_string x.