(WIP) exercise

This commit is contained in:
qwjyh 2024-04-20 20:41:17 +09:00
parent 5aa2ea416c
commit 3eb2bdcf12

View file

@ -197,15 +197,44 @@ example : (p q) r ↔ p (q r) :=
have h2 : p (q r) → (p q) r :=
(fun h =>
h.elim
sorry
sorry)
(fun hp =>
Or.inl (Or.inl hp))
(fun hqr =>
hqr.elim
(fun hq => Or.inl (Or.inr hq))
(fun hr => Or.inr hr)))
Iff.intro h1 h2
example : (p q) r ↔ p (q r) :=
sorry
-- 分配性
example : p ∧ (q r) ↔ (p ∧ q) (p ∧ r) := sorry
example : p (q ∧ r) ↔ (p q) ∧ (p r) := sorry
example : p ∧ (q r) ↔ (p ∧ q) (p ∧ r) :=
have h1 : p ∧ (q r) → (p ∧ q) (p ∧ r) :=
(fun h =>
h.right.elim
(fun hq => Or.inl (And.intro h.left hq))
(fun hr => Or.inr (And.intro h.left hr)))
have h2 : (p ∧ q) (p ∧ r) → p ∧ (q r) :=
(fun h =>
h.elim
(fun hpq => And.intro hpq.left (Or.inl hpq.right))
(fun hpr => And.intro hpr.left (Or.inr hpr.right)))
Iff.intro h1 h2
example : p (q ∧ r) ↔ (p q) ∧ (p r) :=
have h1 :=
(fun h =>
h.elim
(fun h => ⟨Or.inl h, Or.inl h⟩)
(fun h => ⟨Or.inr h.left, Or.inr h.right⟩))
have h2 :=
(fun h =>
have h2l : p q := h.left
have h2r : p r := h.right
h2l.elim
(fun hp => Or.inl hp)
(fun hq =>
h2r.elim
(fun hp => Or.inl hp)
(fun hr => Or.inr (And.intro hq hr))))
Iff.intro h1 h2
-- 他の性質
example : (p → (q → r)) ↔ (p ∧ q → r) := sorry