(* 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*)
(* 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_and_rew_lr :
forall al bl ar br : Prop,
(al <-> ar) -> (bl <-> br) -> (al /\ bl <-> ar /\ br).