যৌক্তিক সমতুল্যতা ও ইনফারেন্স নিয়ম
এই পাঠে যা শিখবেন
- ৫টি গুরুত্বপূর্ণ logical equivalence মনে রাখা ও প্রয়োগ করা
- De Morgan's law ব্যবহার করে যৌগিক বিবৃতি সরল করা
- কন্ডিশনালকে disjunction ও contrapositive রূপে রূপান্তর করা
- ৪টি মৌলিক inference rule চেনা ও তাদের দিয়ে যুক্তি যাচাই করা
- Python দিয়ে logical equivalence ব্রুট-ফোর্স যাচাই করা
১ · Logical Equivalence কী?
দুটি যৌগিক প্রোপোজিশন p এবং q Logical EquivalenceLogical Equivalence (≡)দুটি যৌগিক প্রোপোজিশন যাদের truth table হুবহু একই — প্রতিটি সম্ভাব্য ইনপুটে তাদের সত্য-মূল্য সবসময় মিলে যায়। ($p \equiv q$) হয় যদি তাদের truth table হুবহু একই হয় — প্রতিটি সম্ভাব্য ইনপুটে তাদের সত্য-মূল্য মিলে যায়। এটি একটি শক্তিশালী টুল — একটি জটিল বিবৃতিকে সমতুল্য কিন্তু সহজ একটি বিবৃতি দিয়ে প্রতিস্থাপন করা যায়।
২ · গুরুত্বপূর্ণ Equivalences
De Morgan's Law
$\neg(p \land q) \equiv \neg p \lor \neg q$
$\neg(p \lor q) \equiv \neg p \land \neg q$
বাংলায়: "p এবং q দুটোই না" মানে "p না, অথবা q না"। "p অথবা q, কোনোটাই না" মানে "p না, এবং q না"।
Distributive Law
$p \land (q \lor r) \equiv (p \land q) \lor (p \land r)$
$p \lor (q \land r) \equiv (p \lor q) \land (p \lor r)$
কন্ডিশনালকে Disjunction হিসেবে
$p \to q \equiv \neg p \lor q$
এটিই L02-এর vacuous truth-এর গাণিতিক ব্যাখ্যা — p মিথ্যা হলে $\neg p$ সত্য, তাই পুরো disjunction সত্য, q যাই হোক না কেন।
Contrapositive
$p \to q \equiv \neg q \to \neg p$
এই equivalence-টি L05-এ "প্রুফ বাই কন্ট্রাপজিটিভ"-এর ভিত্তি — কখনো কখনো $\neg q \to \neg p$ প্রমাণ করা $p \to q$ সরাসরি প্রমাণ করার চেয়ে সহজ।
Double Negation
$\neg \neg p \equiv p$
এগুলোর প্রতিটি একটি truth table তুলনা করে প্রমাণ করা যায় — এগুলো "বিশ্বাস করার" বিষয় নয়, hand-verifiable গাণিতিক সত্য। নিচের code cell-এ আমরা $p\to q \equiv \neg p \lor q$ ব্রুট-ফোর্স যাচাই করব।
৩ · ইনফারেন্স নিয়ম (Inference Rules)
ইনফারেন্স নিয়ম হলো এমন প্যাটার্ন যা কিছু সত্য বিবৃতি (premise) থেকে নতুন একটি সত্য বিবৃতি (conclusion) নিশ্চিতভাবে বের করে আনে। প্রতীক $\vdash$ মানে "সুতরাং" / "অতএব"।
$p,\ p\to q\ \vdash\ q$ — "বৃষ্টি হচ্ছে, এবং বৃষ্টি হলে রাস্তা ভেজা থাকে — সুতরাং রাস্তা ভেজা।"
$\neg q,\ p\to q\ \vdash\ \neg p$ — "রাস্তা ভেজা নেই, এবং বৃষ্টি হলে রাস্তা ভেজা থাকত — সুতরাং বৃষ্টি হয়নি।"
$p\to q,\ q\to r\ \vdash\ p\to r$ — কন্ডিশনালের চেইন জোড়া লাগানো।
$p\lor q,\ \neg p\ \vdash\ q$ — "হয় চা নয় কফি, চা নেই — সুতরাং কফি।"
from itertools import product
def implies(p, q):
# সরাসরি সংজ্ঞা থেকে p→q-এর truth table
table = {
(True, True): True,
(True, False): False,
(False, True): True,
(False, False): True,
}
return table[(p, q)]
equivalent = True
for p, q in product([True, False], repeat=2):
lhs = implies(p, q)
rhs = (not p) or q
same = lhs == rhs
equivalent = equivalent and same
print(f"p={p!s:<5} q={q!s:<5} p→q={lhs!s:<5} ¬p∨q={rhs!s:<5} মিলে?={same}")
print("সমতুল্য" if equivalent else "সমতুল্য নয়")
implies() ফাংশনটি p→q-এর truth table থেকে সরাসরি হার্ডকোড করা — এটি $\neg p \lor q$-এর সংজ্ঞা ব্যবহার করে লেখা হয়নি। তাই এই তুলনাটি একটি প্রকৃত স্বাধীন যাচাই, শুধু একই জিনিস দুইবার লেখা নয়।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ De Morgan's law ব্যবহার করে "বৃষ্টি এবং ঠান্ডা, দুটোই না" (¬(rain ∧ cold)) কে সহজ বাংলায় রূপান্তর করুন — এবং ব্যাখ্যা করুন কেন এটি ¬rain ∨ ¬cold-এর সমতুল্য।
De Morgan's অনুযায়ী $\neg(\text{rain} \land \text{cold}) \equiv \neg\text{rain} \lor \neg\text{cold}$ — অর্থাৎ "বৃষ্টি নেই, অথবা ঠান্ডা নেই (অথবা উভয়ই)"। এটি সমতুল্য কারণ মূল বিবৃতিকে মিথ্যা প্রমাণ করার জন্য "বৃষ্টি এবং ঠান্ডা দুটোই" ঘটা প্রয়োজন — যদি তাদের যেকোনো একটি না ঘটে (দুটোই একসাথে না হয়), তাহলে "দুটোই না" বিবৃতিটি সত্য থাকে। প্রতিটি সম্ভাব্য (rain, cold) সমন্বয়ে উভয় পাশের truth value মিলিয়ে দেখলে এটি নিশ্চিত হয়।
প্র ০২ Modus Ponens ও Modus Tollens-এর মধ্যে পার্থক্য কী — একটি বাস্তব উদাহরণ দিয়ে ব্যাখ্যা করুন।
Modus Ponens "forward" দিকে চলে — hypothesis সত্য পেলে conclusion বের করে ($p$, $p\to q$ ⊢ $q$): "যদি লাইট জ্বলে তাহলে বিদ্যুৎ আছে; লাইট জ্বলছে; সুতরাং বিদ্যুৎ আছে।"
Modus Tollens "backward" দিকে চলে — conclusion মিথ্যা পেলে hypothesis মিথ্যা প্রমাণ করে ($\neg q$, $p\to q$ ⊢ $\neg p$): "যদি লাইট জ্বলে তাহলে বিদ্যুৎ আছে; বিদ্যুৎ নেই; সুতরাং লাইট জ্বলছে না।" দুটোই বৈধ, কিন্তু বিপরীত দিক থেকে সিদ্ধান্তে পৌঁছায়।
প্র ০৩ Contrapositive ($p\to q \equiv \neg q\to \neg p$) কেন সবসময় সত্য, কিন্তু Converse ($q\to p$) সবসময় সত্য নয়?
Contrapositive মূল বিবৃতির সাথে যৌক্তিকভাবে সমতুল্য — এটি প্রমাণ করা যায় truth table দিয়ে, উভয় পাশের সত্য-মূল্য প্রতিটি ইনপুটে হুবহু মিলে যায়। কিন্তু Converse ($q\to p$) একটি সম্পূর্ণ ভিন্ন বিবৃতি — এর নিজস্ব স্বাধীন সত্যতা আছে, যা মূল বিবৃতির উপর নির্ভর করে না।
উদাহরণ: "যদি বৃষ্টি হয়, রাস্তা ভেজা থাকবে" (সত্য) — কিন্তু এর converse "যদি রাস্তা ভেজা থাকে, বৃষ্টি হয়েছে" মিথ্যা হতে পারে (হয়তো কেউ রাস্তায় পানি ঢেলেছে)। তাই converse নিয়ে সাবধান থাকতে হয় — এটি মূল বিবৃতি থেকে স্বয়ংক্রিয়ভাবে অনুসৃত হয় না।
অনুশীলন
-
রূপান্তর করুন: "যদি বৃষ্টি হয়, রাস্তা ভেজা থাকবে" বিবৃতিটির contrapositive লিখুন এবং ব্যাখ্যা করুন এর অর্থ কী।
মূল: p="বৃষ্টি হয়", q="রাস্তা ভেজা থাকবে", তাই $p\to q$। Contrapositive: $\neg q \to \neg p$ — "যদি রাস্তা ভেজা না থাকে, তাহলে বৃষ্টি হয়নি"। এটি মূল বিবৃতির সাথে সম্পূর্ণ সমতুল্য — একই তথ্য, ভিন্নভাবে বলা।
-
যাচাই করুন: Hypothetical Syllogism ($p\to q$, $q\to r$ ⊢ $p\to r$) সবসময় বৈধ কিনা তা যাচাই করতে একটি truth table তৈরি করুন (p, q, r-এর ৮টি সম্ভাব্য সমন্বয়ে) — premise দুটো সত্য এমন প্রতিটি সারিতে conclusion-ও সত্য কিনা দেখুন।
৮টি সারির মধ্যে যেখানেই $p\to q$ এবং $q\to r$ উভয়ে সত্য, সেখানে $p\to r$-ও সত্য পাওয়া যাবে — কোনো ব্যতিক্রম নেই। এটিই ইনফারেন্স রুলের বৈধতার সংজ্ঞা: যখনই সব premise সত্য, conclusion-ও সত্য হতেই হবে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৪৪টি পাঠ পরবর্তী পাঠ — প্রমাণ পদ্ধতি — সরাসরি, বিপরীতগামী, বিরোধিতা — এই মডিউলের পরবর্তী ধাপ।
- Data Structures & Algorithms কোর্স সঙ্গী কোর্স এই কোর্সের গণিত বাস্তবে কীভাবে কোডে রূপ নেয় তা শিখতে DSA কোর্সটিও দেখুন।
- সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, DBMS, HTML & CSS ও Discrete Mathematics — সব এক জায়গায়।