(* Contribution to the Coq Library   V6.3 (July 1999)                    *)
(****************************************************************************)
(* This contribution was updated for Coq V5.10 by the COQ workgroup.        *)
(* January 1995                                                             *)
(****************************************************************************)
(*                                  ex1.v                                   *)
(****************************************************************************)
intros A H'; exact H'.
Qed.
intros A B H'; split.
elim H'; intros H'0 H'1; clear H'; exact H'1.
elim H'; intros H'0 H'1; clear H'; exact H'0.
Qed.
intros A B h; elim h; [ intro H'; clear h; try exact H' | clear h; intro H' ].
right; assumption.
left; assumption.
Qed.
intros A B H' H'0.
apply H'0.
exact H'.
Qed.

Theorem S : forall A B C : Prop, (A -> B -> C) -> (A -> B) -> A -> C.