intros X V R S a isGram_X_V_a_R_S.
apply isGram_inclus2 with (add a R); auto.
Qed.
(*--------------------------*)
(* (Derive R u v) signifie "u se recrit en v par une production de R" *)
Inductive Derive (R : Ensf) : Word -> Word -> Prop :=
(*si A -R-> u alors Av -G-> uv *)
| Derive1 :
forall (u v : Word) (A : Elt),
dans (couple A (word u)) R ->
Derive R (cons A v) (Append u v)
(*si u -G-> v alors x::u -G-> x::v*)
| Derive2 :
forall (u v : Word) (x : Elt),
Derive R u v -> Derive R (cons x u) (cons x v).
Hint Resolve Derive1.
Hint Resolve Derive2.

(* Specifications: *)
Lemma Derive_inclus :
forall (R1 R2 : Ensf) (u v : Word),
inclus R1 R2 -> Derive R1 u v -> Derive R2 u v.