Qed.

(* Specifications: *)
Theorem and_commutative : forall A B : Prop, A /\ B -> B /\ A.
intros A B H'; elim H'; auto.
Theorem or_commutative : forall A B : Prop, A \/ B -> B \/ A.
intros A B H'; elim H'; auto.
Theorem mp : forall A B : Prop, A -> (A -> B) -> B.
auto.
Theorem S : forall A B C : Prop, (A -> B -> C) -> (A -> B) -> A -> C.
auto.
Theorem Praeclarum :
forall x y z t : Prop, (x -> z) /\ (y -> t) -> x /\ y -> z /\ t.
Theorem mini_cases : forall x y : Prop, (x \/ ~ y) /\ y -> x.
intros x y h; elim h; intros h0 H'; elim h0;
[ clear h h0; intro H'0 | intro H'0; elim H'0; clear h h0; try assumption ];
auto.
Theorem Peirce : forall A B : Prop, ((((A -> B) -> A) -> A) -> B) -> B.
auto.
Theorem and_commutative : forall A B : Prop, A /\ B -> B /\ A.
intros A B H'; split.
Theorem mini_cases : forall x y : Prop, (x \/ ~ y) /\ y -> x.
intros x y h; elim h; intros h0 H'; elim h0;
[ intro H'0; clear h h0; try exact H'0 | clear h h0; intro H'0 ].