|
12 | 12 |
|
13 | 13 | (** NOTE: These should fit into a larger picture, e.g. lattices or monoids **) |
14 | 14 | (** And/Conjunction **) |
15 | | -Lemma And_True_iff : forall P, (P /\ True) <-> P. |
| 15 | +Lemma and_True_iff : forall P, (P /\ True) <-> P. |
16 | 16 | Proof. intuition. Qed. |
17 | 17 |
|
18 | | -Lemma And_And_iff : forall P, (P /\ P) <-> P. |
| 18 | +Lemma and_and_iff : forall P, (P /\ P) <-> P. |
19 | 19 | Proof. intuition. Qed. |
20 | 20 |
|
21 | | -Lemma And_assoc : forall P Q R, (P /\ Q /\ R) <-> ((P /\ Q) /\ R). |
| 21 | +Lemma and_assoc : forall P Q R, (P /\ Q /\ R) <-> ((P /\ Q) /\ R). |
22 | 22 | Proof. intuition. Qed. |
23 | 23 |
|
24 | | -Lemma And_comm : forall P Q, (P /\ Q) <-> (Q /\ P). |
| 24 | +Lemma and_comm : forall P Q, (P /\ Q) <-> (Q /\ P). |
25 | 25 | Proof. intuition. Qed. |
26 | 26 |
|
27 | | -Lemma And_False_iff : forall P, (P /\ False) <-> False. |
| 27 | +Lemma and_False_iff : forall P, (P /\ False) <-> False. |
28 | 28 | Proof. intuition. Qed. |
29 | 29 |
|
30 | | -Lemma And_cancel |
| 30 | +Lemma and_cancel |
31 | 31 | : forall P Q R : Prop, (P -> (Q <-> R)) -> ((P /\ Q) <-> (P /\ R)). |
32 | 32 | Proof. intuition. Qed. |
33 | 33 |
|
| 34 | +Lemma and_iff |
| 35 | +: forall P Q R S : Prop, |
| 36 | + (P <-> R) -> |
| 37 | + (P -> (Q <-> S)) -> |
| 38 | + ((P /\ Q) <-> (R /\ S)). |
| 39 | +Proof. clear; intuition. Qed. |
| 40 | + |
34 | 41 | (** Or/Disjunction **) |
35 | | -Lemma Or_False_iff : forall P, (P \/ False) <-> P. |
| 42 | +Lemma or_False_iff : forall P, (P \/ False) <-> P. |
36 | 43 | Proof. intuition. Qed. |
37 | 44 |
|
38 | | -Lemma Or_Or_iff : forall P, (P \/ P) <-> P. |
| 45 | +Lemma or_or_iff : forall P, (P \/ P) <-> P. |
39 | 46 | Proof. intuition. Qed. |
40 | 47 |
|
41 | | -Lemma Or_assoc : forall P Q R, (P \/ Q \/ R) <-> ((P \/ Q) \/ R). |
| 48 | +Lemma or_assoc : forall P Q R, (P \/ Q \/ R) <-> ((P \/ Q) \/ R). |
42 | 49 | Proof. intuition. Qed. |
43 | 50 |
|
44 | | -Lemma Or_comm : forall P Q, (P \/ Q) <-> (Q \/ P). |
| 51 | +Lemma or_comm : forall P Q, (P \/ Q) <-> (Q \/ P). |
45 | 52 | Proof. intuition. Qed. |
46 | 53 |
|
47 | | -Lemma Or_True_iff : forall P, (P \/ True) <-> True. |
| 54 | +Lemma or_True_iff : forall P, (P \/ True) <-> True. |
48 | 55 | Proof. intuition. Qed. |
49 | 56 |
|
50 | | -Lemma Impl_iff |
| 57 | +(** Implication **) |
| 58 | +Lemma impl_True_iff : forall (P : Prop), (True -> P) <-> P. |
| 59 | +Proof. |
| 60 | + clear; intros; tauto. |
| 61 | +Qed. |
| 62 | + |
| 63 | +Lemma impl_iff |
51 | 64 | : forall P Q R S : Prop, |
52 | 65 | (P <-> R) -> |
53 | 66 | (P -> (Q <-> S)) -> |
54 | 67 | ((P -> Q) <-> (R -> S)). |
55 | 68 | Proof. clear. intuition. Qed. |
56 | 69 |
|
57 | | -Lemma And_iff |
58 | | -: forall P Q R S : Prop, |
59 | | - (P <-> R) -> |
60 | | - (P -> (Q <-> S)) -> |
61 | | - ((P /\ Q) <-> (R /\ S)). |
62 | | -Proof. clear; intuition. Qed. |
63 | | - |
64 | | -Lemma Impl_True_iff : forall (P : Prop), (True -> P) <-> P. |
65 | | -Proof. |
66 | | - clear; intros; tauto. |
67 | | -Qed. |
68 | 70 |
|
69 | 71 | (** Forall **) |
70 | 72 | Lemma forall_iff : forall T P Q, |
|
0 commit comments