Logical Equivalence
যৌক্তিক সমতুল্যতা
দুইটা expression প্রতিটা possible assignment-এ একই truth value দিলে তারা logically equivalent — লেখা হয় `P ≡ Q`।
also: equivalence
P ≡ Q একটা দাবি যে দুটো সবসময় একই মান দেয়। P ↔ Q একটা
proposition যার নিজেরই সত্যমান আছে। সম্পর্ক: P ≡ Q সত্য
যদি এবং কেবল যদি P ↔ Q একটা tautology হয়।
প্রমাণ দুইভাবে হয় — truth table (যান্ত্রিক, কিন্তু 2ⁿ row) বা
বীজগণিত (দ্রুত, কিন্তু নিয়ম জানতে হয়)।
সবচেয়ে বেশি ব্যবহৃত নিয়ম:
p → q ≡ ¬p ∨ q implication ভাঙা
p → q ≡ ¬q → ¬p contrapositive
¬(p ∧ q) ≡ ¬p ∨ ¬q De Morgan
p ∨ (q ∧ r) ≡ (p∨q) ∧ (p∨r) distribution
p ∨ (p ∧ q) ≡ p absorption
এগুলোই compiler প্রতিদিন প্রয়োগ করে (LLVM-এর InstCombine pass),
আর database query planner WHERE clause পুনর্বিন্যাস করতে ব্যবহার করে।
gcc -O2 দিয়ে !(a || b) আর !a && !b compile করলে অভিন্ন
assembly পাবেন — সেটাই De Morgan, যান্ত্রিকভাবে প্রয়োগ করা।