Foundationপ্রথম নীতি থেকে
LEVEL 0 · Mathematical Foundations

De Morgan's Law

দ্য মরগানের সূত্র

Negation ভেতরে ঢুকলে operator উল্টে যায় — `¬(p ∧ q) ≡ ¬p ∨ ¬q` এবং `¬(p ∨ q) ≡ ¬p ∧ ¬q`।

also: de morgan, demorgan

¬(p ∧ q) ≡ ¬p ∨ ¬q
¬(p ∨ q) ≡ ¬p ∧ ¬q

প্রয়োগ করলে তিনটা জিনিস একসাথে বদলায় — আর তৃতীয়টা সবাই ভুলে যায়:

  1. বাইরের ¬ মুছে যায়
  2. ভেতরের প্রতিটা term-এ ¬ বসে
  3. Operator উল্টে যায় ← এটাই সবচেয়ে গুরুত্বপূর্ণ
if (!(is_admin && is_verified))   // ঠিক
if (!is_admin || !is_verified)    // ঠিক — De Morgan প্রয়োগ করে
if (!is_admin && !is_verified)    // ভুল — সম্পূর্ণ ভিন্ন শর্ত

তৃতীয় লাইনটা লিখলে verified non-admin আর unverified admin — দুই দলই ভুলভাবে পার পেয়ে যাবে।

একই সূত্র তিন জায়গায়:

ক্ষেত্ররূপ
Logic¬(p ∧ q) ≡ ¬p ∨ ¬q
[[set]](A ∩ B)' = A' ∪ B'
[[quantifier]]¬∀x P(x) ≡ ∃x ¬P(x)

তিনটাই একই Boolean lattice-এর ভিন্ন মডেল, তাই নিয়মও অভিন্ন।