1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| A.Asperti, C.Sacerdoti Coen, *)
8 (* ||A|| E.Tassi, S.Zacchiroli *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU Lesser General Public License Version 2.1 *)
13 (**************************************************************************)
15 set "baseuri" "cic:/matita/logic/".
18 inductive True: Prop \def
21 default "true" cic:/matita/logic/True.ind.
23 inductive False: Prop \def .
25 default "false" cic:/matita/logic/False.ind.
27 definition Not: Prop \to Prop \def
28 \lambda A. (A \to False).
30 theorem absurd : \forall A,C:Prop. A \to Not A \to C.
34 default "absurd" cic:/matita/logic/absurd.ind.
36 inductive And (A,B:Prop) : Prop \def
37 conj : A \to B \to (And A B).
39 theorem proj1: \forall A,B:Prop. (And A B) \to A.
40 intros. elim H. assumption.
43 theorem proj2: \forall A,B:Prop. (And A B) \to A.
44 intros. elim H. assumption.
47 inductive Or (A,B:Prop) : Prop \def
48 or_introl : A \to (Or A B)
49 | or_intror : B \to (Or A B).
51 inductive ex (A:Type) (P:A \to Prop) : Prop \def
52 ex_intro: \forall x:A. P x \to ex A P.
54 inductive ex2 (A:Type) (P,Q:A \to Prop) : Prop \def
55 ex_intro2: \forall x:A. P x \to Q x \to ex2 A P Q.