feat(library/init/logic): add new simp rules
This commit is contained in:
parent
56282a11f6
commit
d240b06ba2
1 changed files with 11 additions and 0 deletions
|
@ -361,6 +361,11 @@ iff_false_intro (λ H,
|
||||||
have H' : ¬a, from (λ Ha, (iff.mp H Ha) Ha),
|
have H' : ¬a, from (λ Ha, (iff.mp H Ha) Ha),
|
||||||
H' (iff.mpr H H'))
|
H' (iff.mpr H H'))
|
||||||
|
|
||||||
|
theorem not_iff_self [simp] (a : Prop) : (¬a ↔ a) ↔ false :=
|
||||||
|
iff_false_intro (λ H,
|
||||||
|
have H' : ¬a, from (λ Ha, (iff.mpr H Ha) Ha),
|
||||||
|
H' (iff.mp H H'))
|
||||||
|
|
||||||
theorem true_iff_false [simp] : (true ↔ false) ↔ false :=
|
theorem true_iff_false [simp] : (true ↔ false) ↔ false :=
|
||||||
iff_false_intro (λ H, iff.mp H trivial)
|
iff_false_intro (λ H, iff.mp H trivial)
|
||||||
|
|
||||||
|
@ -406,6 +411,12 @@ iff_false_intro and.right
|
||||||
theorem false_and [simp] (a : Prop) : false ∧ a ↔ false :=
|
theorem false_and [simp] (a : Prop) : false ∧ a ↔ false :=
|
||||||
iff_false_intro and.left
|
iff_false_intro and.left
|
||||||
|
|
||||||
|
theorem not_and_self [simp] (a : Prop) : (¬a ∧ a) ↔ false :=
|
||||||
|
iff_false_intro (λ H, and.elim H (λ H₁ H₂, absurd H₂ H₁))
|
||||||
|
|
||||||
|
theorem and_not_self [simp] (a : Prop) : (a ∧ ¬a) ↔ false :=
|
||||||
|
iff_false_intro (λ H, and.elim H (λ H₁ H₂, absurd H₁ H₂))
|
||||||
|
|
||||||
theorem and_self [simp] (a : Prop) : a ∧ a ↔ a :=
|
theorem and_self [simp] (a : Prop) : a ∧ a ↔ a :=
|
||||||
iff.intro and.left (assume H, and.intro H H)
|
iff.intro and.left (assume H, and.intro H H)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue