(* Definition d'une grammaire, *)
(*X : ensemble des terminaux, *)
(*V ensemble des non-terminaux, *)
(*R ensemble des productions A -> w, *)
(*S axiome *)

Definition isGram (X V R : Ensf) (S : Elt) : Prop :=
  Mots X /\ inter X V empty /\ dans S V /\ Regles X V R.

Lemma Regles_add : forall (X V R : Ensf) (a : Elt) (u : Word), Regles X V R -> dans a V -> inmonoid (union X V) u -> Regles X V (add (couple a (word u)) R).