(** ** Post Grammars *)
Fixpoint sigma (a : symbol) A :=
match A with
nil => [a]
| x/y :: A => x ++ (sigma a A) ++ y
end.
(** ** Alphabets *)
Fixpoint sym (R : SRS) :=
match R with
[] => []
| x / y :: R => x ++ y ++ sym R
end.

Lemma sym_map X (f : X -> card) l Sigma :
(forall x : X, x el l -> sym [f x] <<= Sigma) -> sym (map f l) <<= Sigma.