--- /dev/null
+inductive True: Prop \def
+I : True.
+
+inductive False: Prop \def .
+
+definition Not: Prop \to Prop \def
+\lambda A:Prop. (A \to False).
+
+theorem absurd : \forall A,C:Prop. A \to Not A \to C.
+cut False.elim Hcut.apply H1.assumption.
+qed.
+
+inductive And (A,B:Prop) : Prop \def
+ conj : A \to B \to (And A B).
+
+theorem proj1: \forall A,B:Prop. (And A B) \to A.
+intro. elim H. assumption.
+qed.
+
+theorem proj2: \forall A,B:Prop. (And A B) \to A.
+intro. elim H. assumption.
+qed.
+
+inductive Or (A,B:Prop) : Prop \def
+ or_introl : A \to (Or A B)
+ | or_intror : B \to (Or A B).
+
+inductive ex (A:Type) (P:A \to Prop) : Prop \def
+ ex_intro: \forall x:A. P x \to ex A P.
+
+inductive ex2 (A:Type) (P,Q:A \to Prop) : Prop \def
+ ex_intro2: \forall x:A. P x \to Q x \to ex2 A P Q.
+
+inductive eq (A:Type) (x:A) : A \to Prop \def
+ refl_equal : eq A x x.