Zulip Chat Archive

Stream: new members

Topic: not_or is Demorgan's law but not_and is something unrelated?


Yagub Aliyev (Jan 17 2024 at 11:55):

Dear friends
I am new here. I am working on completion of Natural Number Game and Set Theory Game without asking anyone. But I noticed some irregularity in naming of logic proofs and decided to ask. For example, not_or is De Morgan's law. One would expect not_and be a similar property for \and=∧ but no! It gives x ∈ A → x ∉ B when applied to ¬(x ∈ A ∧ x ∈ B)
What is the reason for this naming? And if possible how do I prove ¬(x ∈ A ∧ x ∈ B) is x ∉ A ∨ x ∉ B without not_and?

Mario Carneiro (Jan 17 2024 at 11:57):

it's called docs#not_and_or, or docs#Decidable.not_and in std

Yagub Aliyev (Jan 17 2024 at 12:26):

How to find other such names easily without asking here? Like distributivity of And over Or and vice versa?
x ∈ A ∧ (x ∈ B ∨ x ∈ C) is equivalent to
x ∈ A ∧ x ∈ B ∨ x ∈ A ∧ x ∈ C

Ruben Van de Velde (Jan 17 2024 at 12:36):

You can write

import Mathlib
example {α x} {A B C : Set α}: x  A  (x  B  x  C) <-> x  A  x  B  x  A  x  C := by
  exact?

Ruben Van de Velde (Jan 17 2024 at 12:36):

Or guess the name (#naming)

Kevin Buzzard (Jan 17 2024 at 16:53):

I'm not sure I want to guarantee that all names in NNG are the same as the corresponding mathlib names, although the vast majority will be.

Kevin Buzzard (Jan 17 2024 at 16:55):

See for example this thread.


Last updated: May 02 2025 at 03:31 UTC