(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(***************************************************************************)
(* File: useful.v                                                          *)
(* auteur: alex@sysal.ibp.fr                                               *)
(* date: 19/10/95                                                          *)
(***************************************************************************)
(***************************************************************************)
(* Many useful lemmas                                                      *)
(***************************************************************************)
(* Proof of lem_and_fact                                                   *)
intros; tauto.
Qed.
(* End of proof of lem_and_fact                                            *)
(* Proof of lem_and_dist                                                   *)
intros; tauto.
Qed.
(* End of proof of lem_and_dist                                            *)
(* Proof of lem_or_fact                                                    *)
intros; tauto.
Qed.
(* End of proof of lem_or_fact                                             *)
(* Proof of lem_or_dist                                                    *)
intros; tauto.
Qed.
(* End of proof of lem_or_dist                                             *)
(* Proof                                                                   *)
intros; tauto.
Qed.
(* End of proof                                                            *)
(* Proof                                                                   *)
intros; tauto.
Qed.
(* End of proof                                                            *)
(* Proof                                                                   *)
intros; tauto.
Qed.
(* End of proof                                                            *)
(* Proof                                                                   *)
intros; tauto.
Qed.
(* End of proof                                                            *)
(* Proof                                                                   *)
intros; tauto.
Qed.
(* End of proof                                                            *)
(* Note : le /\ est associatif a droite en CoQ don pas de lemme symmetrique*)

Lemma lem_or_rew_l :
forall P Q1 Q2 : Prop, (Q1 <-> Q2) -> (Q1 \/ P <-> Q2 \/ P).