Section Easy_lemma_isGram.
Variable X V R : Ensf.
Variable S : Elt.
Let H := isGram X V R S.
intro H1.
elim H1.
trivial.
Qed.
intro H1.
elim H1.
intuition.
Qed.
intro H1.
elim H1.
intuition.
Qed.
intro H1.
elim H1.
intuition.
Qed.
intros.
red in |- *; red in |- *.
auto.
Qed.
End Easy_lemma_isGram.
(*--------*)
unfold Regles in |- *.
auto.
Qed.
unfold Regles in |- *.
intros X V R V' inclus_V_V' Regles_X_V_R x dans_x_R.
elim (Regles_X_V_R x dans_x_R).
intros A dans_A_V temp; elim temp; clear temp.
intros B egal_B inmonoid_B.
exists A.
auto.
exists B.
assumption.
apply inmonoid_inclus with (union X V); auto.
Qed.

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).