1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| theorem q1c1 : P → (Q ∧ R) ↔ (P → Q) ∧ (P → R) := begin constructor, assume pqr, constructor, sorry, sorry,
assume pqpr, cases pqpr with pq pr, assume p, constructor, apply pq, assumption, apply pr, assumption, end
theorem q1c2 : (P ∧ Q) → R ↔ (P → R) ∧ (Q → R) := begin constructor, assume pqr, constructor, assume p, apply pqr, constructor, assumption, sorry, assume q, apply pqr, constructor, sorry, assumption,
assume prqr, assume pq, cases prqr with pr qr, cases pq with p q, apply pr, exact p, end
theorem q1c3 : P → (Q ∨ R) ↔ (P → Q) ∨ (P → R) := begin constructor, assume pqr, left, assume p, sorry,
assume pqpr, assume p, cases pqpr with pq pr, left, apply pq, assumption, right, apply pr, assumption, end
theorem q1c4 : (P ∨ Q) → R ↔ (P → R) ∧ (Q → R) := begin constructor, assume pqr, constructor, assume p, apply pqr, left, assumption, assume q, apply pqr, right, assumption,
assume prqr, cases prqr with pr qr, assume pq, cases pq with p q, apply pr, exact p, apply qr, exact q, end
theorem q1c5 : (P ∨ Q) → R ↔ (P → R) ∧ (Q → R) := begin constructor, assume pqr, constructor, assume p, apply pqr, left, assumption, assume q, apply pqr, right, assumption,
assume prqr, cases prqr with pr qr, assume pq, cases pq with p q, apply pr, exact p, apply qr, exact q, end
|