(** ** Disjunction **)
Definition or (A B : Prop) : Prop :=
forall E : Prop, (A -> E) -> (B -> E) -> E.

(* Specifications: *)
Lemma or_inl : forall A B : Prop, A -> or A B.
Proof fun A B a E f g => f a.
Lemma or_inr : forall A B : Prop, B -> or A B.
Proof fun A B b E f g => g b.