পাঠ ০২ · ৪৪-এর মধ্যে · মডিউল ১
Home / Courses / Discrete Mathematics / প্রপোজিশনাল লজিক

প্রপোজিশনাল লজিক — বিবৃতি ও যৌক্তিক অপারেটর

Propositional logic — statements & connectives
৮ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • প্রোপোজিশন কী এবং কোন বিবৃতি প্রোপোজিশন নয় তা চেনা
  • ৫টি মৌলিক logical connective ও তাদের সম্পূর্ণ truth table
  • কন্ডিশনাল (→)-এর সঠিক অর্থ ও "vacuous truth" ধারণাটি
  • Tautology, Contradiction ও Contingency শনাক্ত করা
  • Python দিয়ে truth table জেনারেট করে হাতে-হিসাবের সাথে মেলানো

১ · প্রোপোজিশন কী?

একটি প্রোপোজিশন (Proposition)Propositionএমন একটি ঘোষণামূলক (declarative) বিবৃতি যার একটি নির্দিষ্ট, নিঃসন্দেহ সত্য-মূল্য (True অথবা False) আছে — দুটোই একসাথে নয়। হলো এমন একটি বিবৃতি যা নিঃসন্দেহে সত্য (True) অথবা মিথ্যা (False) — দুটোই একসাথে নয়, এবং কোনো অস্পষ্টতাও নেই। "ঢাকা বাংলাদেশের রাজধানী" একটি প্রোপোজিশন (সত্য)। "৩ + ৩ = ৭" একটি প্রোপোজিশন (মিথ্যা)।

কিন্তু প্রশ্ন, আদেশ, বা মতামত প্রোপোজিশন নয় — কারণ তাদের কোনো নির্দিষ্ট সত্য-মূল্য নেই। "আজ কি বৃষ্টি হচ্ছে?" (প্রশ্ন), "দরজা বন্ধ করো" (আদেশ), "বাংলা সবচেয়ে সুন্দর ভাষা" (মতামত, ব্যক্তিনির্ভর) — এদের কোনোটিই প্রোপোজিশন নয়।

মূল শর্ত

একটি বিবৃতি প্রোপোজিশন হওয়ার জন্য এটির একটি সুনির্দিষ্ট সত্য-মূল্য থাকতে হবে — এমনকি যদি আমরা সেই মূল্যটি এই মুহূর্তে না-ও জানি (যেমন "গোল্ডবাখ অনুমান সত্য" — এটি প্রোপোজিশন, কারণ এটি নিশ্চিতভাবে সত্য অথবা মিথ্যা, যদিও গণিতবিদরা এখনো প্রমাণ করতে পারেননি কোনটি)।

২ · যৌক্তিক অপারেটর ও Truth Table

সাধারণ প্রোপোজিশন থেকে জটিল প্রোপোজিশন তৈরি করতে ব্যবহার করা হয় Logical ConnectiveLogical Connectiveএকটি অপারেটর যা এক বা একাধিক প্রোপোজিশনকে যুক্ত করে নতুন একটি প্রোপোজিশন তৈরি করে — যেমন AND, OR, NOT।। প্রতিটির অর্থ একটি Truth TableTruth Tableএকটি টেবিল যা p ও q-এর প্রতিটি সম্ভাব্য সত্য-মূল্যের জন্য যৌগিক প্রোপোজিশনের ফলাফল দেখায়।-এর মাধ্যমে সম্পূর্ণভাবে সংজ্ঞায়িত।

নেগেশন ¬p (Not)

p ¬p
TF
FT

কনজাংশন p∧q (And) ও ডিসজাংশন p∨q (Or)

কনজাংশন সত্য শুধু তখনই যখন উভয় সত্য। ডিসজাংশন সত্য যখন অন্তত একটি সত্য।

p q p∧q p∨q
TTTT
TFFT
FTFT
FFFF

কন্ডিশনাল p→q (If...then) — সবচেয়ে বেশি ভুল বোঝা হয়

p q p→q
TTT
TFF
FTT
FFT
p→q মিথ্যা হয় শুধুমাত্র একটি ক্ষেত্রে — p সত্য কিন্তু q মিথ্যা। বাকি তিন ক্ষেত্রেই (p মিথ্যা হলে যা-ই হোক) p→q সত্য। p মিথ্যা হলে conditional স্বয়ংক্রিয়ভাবে সত্য হয়ে যায় — একে বলে Vacuous TruthVacuous Truthযখন একটি কন্ডিশনালের hypothesis (p) মিথ্যা হওয়ার কারণে পুরো বিবৃতিটি স্বয়ংক্রিয়ভাবে সত্য গণ্য হয় — conclusion (q) যাই হোক না কেন।। উদাহরণ: "যদি চাঁদ পনিরের তৈরি হয়, তাহলে ২+২=৫" — এই বিবৃতিটি টেকনিক্যালি সত্য, কারণ hypothesis ("চাঁদ পনিরের তৈরি") মিথ্যা।

বাইকন্ডিশনাল p↔q (If and only if)

p↔q সত্য যখন p এবং q-এর একই সত্য-মূল্য থাকে (দুটোই সত্য অথবা দুটোই মিথ্যা)।

Precedence (অগ্রাধিকার ক্রম): ¬ সবচেয়ে শক্তভাবে বাঁধে, তারপর ∧, তারপর ∨, তারপর →, সবার শেষে ↔। যেমন $\neg p \land q \lor r$ আসলে $((\neg p) \land q) \lor r$।
Python
from itertools import product

print(f"{'p':<6}{'q':<6}{'p→q'}")
for p, q in product([True, False], repeat=2):
    implication = (not p) or q
    print(f"{str(p):<6}{str(q):<6}{implication}")

    
লক্ষ করুন itertools.product([True, False], repeat=2) চারটি সম্ভাব্য (p, q) জোড়া তৈরি করে — ঠিক উপরের truth table-এর চারটি সারির মতো। আউটপুট মিলিয়ে দেখুন উপরের টেবিলের সাথে।

৩ · Tautology, Contradiction ও Contingency

একটি যৌগিক প্রোপোজিশন তার সব ইনপুটে কেমন আচরণ করে তার ভিত্তিতে তিন ভাগে ভাগ করা যায় —

  • Tautology — সব সম্ভাব্য সত্য-মূল্যে সবসময় সত্য। উদাহরণ: $p \lor \neg p$ (excluded middle) — p সত্য হোক বা মিথ্যা, p এবং ¬p-এর মধ্যে অন্তত একটি সবসময় সত্য।
  • Contradiction — সব সম্ভাব্য সত্য-মূল্যে সবসময় মিথ্যা। উদাহরণ: $p \land \neg p$ — p এবং ¬p একসাথে কখনো সত্য হতে পারে না।
  • Contingency — কখনো সত্য, কখনো মিথ্যা (ইনপুটের উপর নির্ভরশীল)। যেমন $p \land q$ নিজে একটি contingency।
মূল কথা · Key takeaway

p→q সত্য কি না তা নির্ভর করে p ও q-এর প্রকৃত বাস্তব সত্যতার উপর নয় — বরং তাদের সত্য-মূল্যের সমন্বয়ের উপর। এই যান্ত্রিক, hand-verifiable সংজ্ঞাগুলোই কম্পিউটারকে "যুক্তি" প্রয়োগ করতে সক্ষম করে — একটি কম্পাইলার বা প্রুফ-চেকার কখনো "বোঝে" না, এটি শুধু এই truth table নিয়ম যান্ত্রিকভাবে প্রয়োগ করে।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ কেন p→q মিথ্যা প্রমাণ করার একমাত্র উপায় হলো p সত্য ও q মিথ্যা হওয়া — এবং এটি "vacuous truth"-এর সাথে কীভাবে সম্পর্কিত?

মূল উত্তর — কন্ডিশনাল মানে "প্রতিশ্রুতি ভাঙা"। p→q-কে একটি প্রতিশ্রুতি হিসেবে ভাবুন: "যদি p ঘটে, তাহলে q-ও ঘটবে।" এই প্রতিশ্রুতি ভাঙে শুধুমাত্র তখন যখন p সত্যিই ঘটে কিন্তু q ঘটে না। যদি p নিজেই না ঘটে, তাহলে প্রতিশ্রুতি ভাঙার কোনো সুযোগই নেই — তাই এটি স্বয়ংক্রিয়ভাবে সত্য গণ্য হয়।

এটাই vacuous truth — hypothesis (p) মিথ্যা হওয়ায় conclusion (q) যাই হোক না কেন পুরো বিবৃতিটি সত্য হয়ে যায়, কারণ কখনো পরীক্ষাই করা হয়নি। গণিতে এটি প্রায়ই ব্যবহৃত হয় — যেমন "খালি সেটের সব উপাদান লাল" এই বিবৃতিটি vacuously সত্য, কারণ খালি সেটে কোনো উপাদানই নেই যা এই দাবিকে মিথ্যা প্রমাণ করতে পারে।

প্র ০২ "আজ কি বৃষ্টি হচ্ছে?" — এই বাক্যটি কেন একটি প্রোপোজিশন নয়, যদিও এর একটি "সঠিক উত্তর" (হ্যাঁ/না) আছে বলে মনে হয়?

কারণ প্রোপোজিশনের সংজ্ঞা অনুযায়ী এটি একটি ঘোষণামূলক (declarative) বিবৃতি হতে হবে — এমন একটি বাক্য যা নিজেই একটি দাবি করে যা সত্য বা মিথ্যা হতে পারে। একটি প্রশ্ন কোনো দাবি করে না — এটি তথ্য চায়। "আজ বৃষ্টি হচ্ছে" (বিবৃতি হিসেবে) একটি প্রোপোজিশন, কিন্তু "আজ কি বৃষ্টি হচ্ছে?" (প্রশ্ন হিসেবে) প্রোপোজিশন নয়, যদিও এর পেছনের তথ্যটি একই।

প্র ০৩ p ∨ ¬p (excluded middle) কেন সবসময় সত্য — এমনকি না জেনেই p আসলে সত্য না মিথ্যা?

কারণ এটি একটি tautology — এর সত্যতা p-এর প্রকৃত মান কী তার উপর নির্ভর করে না, বরং এর যৌক্তিক গঠনের উপর নির্ভর করে। নেগেশনের সংজ্ঞা অনুযায়ী, p এবং ¬p সবসময় বিপরীত সত্য-মূল্য ধারণ করে — একটি সত্য হলে অন্যটি মিথ্যা। তাই তাদের ডিসজাংশন (অন্তত একটি সত্য) সবসময় সত্য হতে বাধ্য — এটি প্রমাণ করতে p কী তা জানার দরকারই নেই।

অনুশীলন

  1. হাতে হিসাব করুন: $p \land \neg q$-এর সম্পূর্ণ truth table (৪টি সারি) হাতে লিখুন, তারপর উপরের code cell-এ formula পরিবর্তন করে (implication-এর জায়গায় p and not q ব্যবহার করে) যাচাই করুন।

    সঠিক টেবিল: (T,T)→F, (T,F)→T, (F,T)→F, (F,F)→F। এটি সত্য শুধুমাত্র যখন p সত্য এবং q মিথ্যা — অর্থাৎ p হ্যাঁ কিন্তু q না।

  2. বিশ্লেষণ করুন: "যদি একটি আকৃতির ৪টি বাহু থাকে, তাহলে সেটি একটি বর্গক্ষেত্র" — এই বিবৃতিটি একটি আয়তক্ষেত্র (rectangle) দিয়ে মিথ্যা প্রমাণ করা যায় কেন? p ও q চিহ্নিত করে ব্যাখ্যা করুন।

    এখানে p = "আকৃতির ৪টি বাহু আছে", q = "আকৃতিটি বর্গক্ষেত্র"। একটি আয়তক্ষেত্র (যা বর্গক্ষেত্র নয়) নিয়ে: p সত্য (৪টি বাহু আছে) কিন্তু q মিথ্যা (এটি বর্গক্ষেত্র নয়)। p→q মিথ্যা হওয়ার একমাত্র শর্তই হলো p=T, q=F — তাই এই একটি counterexample-ই পুরো বিবৃতিটিকে মিথ্যা প্রমাণ করার জন্য যথেষ্ট।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

পাঠ ০১
কেন বিচ্ছিন্ন গণিত কম্পিউটার সায়েন্সের ভিত্তি