(*  (Derivestar R u v) signifie "u se recrit en v par zero ou plusieurs productions de R" *)


Definition Derivestar (R : Ensf) := Rstar Word (Derive R).

(* Specifications: *)
Lemma Derivestar_refl : forall (R : Ensf) (u : Word), Derivestar R u u.
Lemma Derivestar_R : forall (R : Ensf) (u v w : Word), Derive R u v -> Derivestar R v w -> Derivestar R u w.
Lemma Derivestar_inv : forall (R : Ensf) (u v : Word), Derivestar R u v -> u = v \/ (exists2 w : Word, Derive R u w & Derivestar R w v).
Lemma Derivestar_inclus : forall (R1 R2 : Ensf) (u v : Word), inclus R1 R2 -> Derivestar R1 u v -> Derivestar R2 u v.