intros E F x inclus_E_F inmonoid_E_x.
elim inmonoid_E_x.
trivial.
intros w e inmonoid_E_w inmonoid_F_w dans_e_E.
apply inmonoid_cons; [ assumption | apply inclus_E_F; assumption ].
Qed.
(*									*)
(*  Concatenation de 2 mots : 						*)
(*    (Append w1 w2) est la concatenation de w1 et w2			*)
(*    (append w1 w2 w3) est la proposition "w3 est la conc.de w1 et w2"	*)
(*									*)
(* Fixpoint Append [w1:Word] : Word -> Word := [w2:Word] (<Word>Case w1 of (* nil  *) w2 (* cons *) [a:Elt][w3:Word](cons a (Append w3 w2)) end ). *)
Fixpoint Append (w1 : Word) : Word -> Word :=
fun w2 : Word =>
match w1 with
| nil => w2
| cons a w3 => cons a (Append w3 w2)
end.

(* Specifications: *)
Lemma Append_w_nil : forall w : Word, Append w nil = w :>Word.
simple induction w.