পাঠ ০৫ · ৪৪-এর মধ্যে · মডিউল ১
Home / Courses / Discrete Mathematics / প্রমাণ পদ্ধতি

প্রমাণ পদ্ধতি — সরাসরি, বিপরীতগামী, বিরোধিতা

Proof techniques — direct, contrapositive, contradiction
৯ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

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

  • Direct proof লেখার সঠিক কাঠামো
  • কখন Contrapositive proof সহজ হয় তা চেনা
  • Proof by Contradiction-এর সম্পূর্ণ কাঠামো, $\sqrt{2}$ অমূলদ-এর প্রমাণসহ
  • Proof by Cases দিয়ে exhaustive যুক্তি তৈরি করা
  • Python দিয়ে একটি ছোট claim সংখ্যাগতভাবে যাচাই করা

১ · সরাসরি প্রমাণ (Direct Proof)

Direct ProofDirect Proofhypothesis সত্য ধরে নিয়ে, সংজ্ঞা ও পূর্বপ্রমাণিত ফলাফল ব্যবহার করে ধাপে ধাপে সরাসরি conclusion-এ পৌঁছানোর প্রমাণ পদ্ধতি। সবচেয়ে সরল কাঠামো — $p\to q$ প্রমাণ করতে, p সত্য ধরে নিয়ে বৈধ ধাপে ধাপে q বের করা হয়।

Worked example: "যদি n জোড়, তাহলে $n^2$ জোড়।"

প্রমাণ: ধরি n জোড়। তাহলে সংজ্ঞা অনুযায়ী কোনো পূর্ণসংখ্যা k আছে যেন $n=2k$। তাহলে $n^2 = (2k)^2 = 4k^2 = 2(2k^2)$। যেহেতু $2k^2$ একটি পূর্ণসংখ্যা, $n^2$ ২-এর গুণিতক — অর্থাৎ $n^2$ জোড়। $\blacksquare$

২ · বিপরীতগামী প্রমাণ (Proof by Contrapositive)

L04-এ আমরা দেখেছি $p\to q \equiv \neg q \to \neg p$। তাই কখনো কখনো মূল বিবৃতির বদলে এর ContrapositiveContrapositive$p\to q$-এর সমতুল্য রূপ $\neg q \to \neg p$ — কখনো কখনো মূল বিবৃতির চেয়ে প্রমাণ করা সহজ। প্রমাণ করাই সহজ হয়।

Worked example: "যদি $n^2$ বিজোড়, তাহলে n বিজোড়।"

সরাসরি প্রমাণ করা কঠিন ($n^2$ বিজোড় থেকে শুরু করে n সম্পর্কে কিছু বলা সহজ নয়)। তাই আমরা contrapositive প্রমাণ করি: "যদি n জোড়, তাহলে $n^2$ জোড়" — যা আমরা উপরেই প্রমাণ করেছি! যেহেতু $p\to q \equiv \neg q \to \neg p$, এই contrapositive প্রমাণ করাই মূল বিবৃতি প্রমাণের জন্য যথেষ্ট। $\blacksquare$

৩ · বিরোধিতার মাধ্যমে প্রমাণ (Proof by Contradiction)

Proof by ContradictionProof by Contradictionযা প্রমাণ করতে চাই তার নেগেশন সত্য ধরে নিয়ে, সেখান থেকে একটি অসম্ভব/স্ববিরোধী ফলাফল বের করে দেখানো যে মূল ধারণাটি ভুল ছিল — অতএব আসল দাবিটি সত্য। -তে conclusion-এর উল্টো ধরে নিয়ে hypothesis-এর সাথে মিলিয়ে একটি অসম্ভব ফলাফল (বিরোধিতা) বের করা হয়।

ক্লাসিক উদাহরণ: $\sqrt{2}$ অমূলদ (irrational) সংখ্যা।

ধরি, বিপরীতভাবে, $\sqrt{2}$ মূলদ (rational)। তাহলে এটিকে সর্বনিম্ন আকারে (lowest terms) লেখা যায় $\sqrt{2} = a/b$, যেখানে $\gcd(a,b)=1$।

উভয় পাশ বর্গ করে: $2 = a^2/b^2 \Rightarrow a^2 = 2b^2$। তাহলে $a^2$ জোড় — এবং আমরা উপরেই দেখিয়েছি n জোড় হলেই $n^2$ জোড় (এবং contrapositive-এ, $n^2$ জোড় হলে n-ও জোড় হতে হয়)। তাই a জোড় — লিখি $a=2c$।

তাহলে $2b^2 = a^2 = (2c)^2 = 4c^2 \Rightarrow b^2 = 2c^2$। একই যুক্তিতে $b^2$ জোড়, তাই b-ও জোড়।

কিন্তু a এবং b দুজনেই জোড় হওয়া মানে দুজনেরই একটি সাধারণ গুণনীয়ক ২ আছে — যা $\gcd(a,b)=1$ (সর্বনিম্ন আকার) অনুমানের সরাসরি বিরোধিতা করে! এই স্ববিরোধিতাই প্রমাণ করে আমাদের প্রাথমিক অনুমান ("$\sqrt{2}$ মূলদ") ভুল ছিল। অতএব $\sqrt{2}$ অমূলদ। $\blacksquare$

৪ · কেস বিভাজনের মাধ্যমে প্রমাণ (Proof by Cases)

এই পদ্ধতিতে সম্ভাবনাকে Exhaustive CasesExhaustive Casesএমন কেসের সমষ্টি যা সব সম্ভাবনাকে কভার করে — কোনো ফাঁক থাকে না, এবং একসাথে পুরো ডোমেইন জুড়ে থাকে। -এ ভাগ করে প্রতিটি আলাদাভাবে প্রমাণ করা হয়।

Worked example: "যেকোনো পূর্ণসংখ্যা n-এর জন্য, $n(n+1)$ সবসময় জোড়।"

প্রতিটি পূর্ণসংখ্যা হয় জোড় নয়তো বিজোড় — এই দুটি কেস সব সম্ভাবনা কভার করে (exhaustive), তাই আমরা দুটো কেসই প্রমাণ করব —

  • কেস ১ (n জোড়): $n=2k$। তাহলে $n(n+1) = 2k(2k+1) = 2 \times \big(k(2k+1)\big)$ — যা ২-এর গুণিতক, তাই জোড়।
  • কেস ২ (n বিজোড়): $n=2k+1$, তাই $n+1 = 2k+2 = 2(k+1)$। তাহলে $n(n+1) = (2k+1) \times 2(k+1) = 2 \times \big((2k+1)(k+1)\big)$ — যা ২-এর গুণিতক, তাই জোড়।

উভয় কেসেই $n(n+1)$ জোড় প্রমাণিত হলো — এবং যেহেতু এই দুই কেস সব পূর্ণসংখ্যা কভার করে, দাবিটি সব n-এর জন্য সত্য। $\blacksquare$

Python
for n in range(-10, 10):
    product = n * (n + 1)
    assert product % 2 == 0, f"ব্যতিক্রম পাওয়া গেছে n={n}"

print("n(n+1) সবসময় জোড় — n = -10 থেকে 9 পর্যন্ত যাচাই সম্পন্ন")

    
মনে রাখবেন — এই কোড শুধু সীমিত পরিসরে (n=-10 থেকে 9) সংখ্যাগতভাবে যাচাই করছে, এটি একটি প্রমাণ নয়। উপরের proof by cases-ই আসল গাণিতিক প্রমাণ, যা সব পূর্ণসংখ্যার জন্য একবারে সত্য প্রতিষ্ঠা করে।
মূল কথা · Key takeaway

চারটি পদ্ধতিই একই লক্ষ্যে পৌঁছায় — একটি দাবিকে নিঃসন্দেহে সত্য প্রতিষ্ঠা করা — কিন্তু ভিন্ন কৌশলে। কোন পদ্ধতি বেছে নেবেন তা নির্ভর করে কোনটির জন্য algebra/logic সবচেয়ে সহজ হয় তার উপর। L06-এ আমরা পঞ্চম পদ্ধতি — গাণিতিক ইনডাকশন — শিখব, যা "সব n-এর জন্য" দাবি প্রমাণের জন্য বিশেষভাবে উপযোগী।

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

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

প্র ০১ $\sqrt{2}$-এর প্রমাণে ঠিক কোন দুইটি বিবৃতি একে অপরের সরাসরি বিরোধিতা করে?

আমাদের প্রাথমিক অনুমান ছিল $\gcd(a,b)=1$ — অর্থাৎ a এবং b-এর কোনো সাধারণ গুণনীয়ক নেই (a/b সর্বনিম্ন আকারে)। কিন্তু প্রমাণের শেষে আমরা দেখালাম a এবং b দুজনেই জোড় — অর্থাৎ তাদের একটি সাধারণ গুণনীয়ক ২ আছে। "$\gcd(a,b)=1$" এবং "a, b দুজনেই ২-এর গুণিতক" একসাথে সত্য হতে পারে না — এটাই বিরোধিতা।

প্র ০২ কখন Direct Proof-এর চেয়ে Contrapositive Proof ব্যবহার করা সহজ হয়?

যখন conclusion-এর নেগেশন ($\neg q$) hypothesis-এর নেগেশন ($\neg p$) পর্যন্ত পৌঁছানোর জন্য algebra-বান্ধব একটি স্পষ্ট শুরুর বিন্দু দেয়, কিন্তু hypothesis (p) সরাসরি ব্যবহার করা কঠিন। উদাহরণস্বরূপ, "$n^2$ বিজোড়" থেকে সরাসরি algebra করে n সম্পর্কে কিছু বলা কঠিন, কিন্তু এর contrapositive "n জোড়" থেকে $n=2k$ লিখে সরাসরি algebra করা যায় সহজে।

প্র ০৩ Proof by Cases-এ কীভাবে নিশ্চিত হবেন যে কেসগুলো "exhaustive" (সব সম্ভাবনা কভার করে)?

কেসগুলোকে এমনভাবে সংজ্ঞায়িত করতে হবে যেন তাদের মিলিত সেট সম্পূর্ণ ডোমেইন কভার করে — কোনো ফাঁক থাকা যাবে না। "n জোড়" ও "n বিজোড়" এই দুই কেস exhaustive, কারণ সংজ্ঞা অনুযায়ী প্রতিটি পূর্ণসংখ্যা এই দুটির ঠিক একটিতে পড়ে — তৃতীয় কোনো সম্ভাবনা নেই। যদি কেসগুলো ওভারল্যাপ করলেও সমস্যা নেই (যতক্ষণ প্রতিটি কেস আলাদাভাবে প্রমাণিত হয়), কিন্তু কোনো সম্ভাবনা বাদ পড়লে প্রমাণটি অসম্পূর্ণ থেকে যায়।

অনুশীলন

  1. প্রমাণ লিখুন: Direct proof ব্যবহার করে দেখান "যদি n বিজোড়, তাহলে $n^2$ বিজোড়।"

    ধরি n বিজোড়, তাই কোনো পূর্ণসংখ্যা k আছে যেন $n=2k+1$। তাহলে $n^2 = (2k+1)^2 = 4k^2+4k+1 = 2(2k^2+2k)+1$। যেহেতু $2k^2+2k$ একটি পূর্ণসংখ্যা, $n^2$ "২ গুণিতক + ১" আকারে — অর্থাৎ বিজোড়। $\blacksquare$

  2. যাচাই ও প্রমাণ করুন: উপরের code cell-এর পরিসর বাড়িয়ে n = -20 থেকে 20 পর্যন্ত করে চালান, তারপর proof by cases ব্যবহার করে ব্যাখ্যা করুন কেন কোনো n-এই ব্যতিক্রম পাওয়া যাবে না।

    কোড range(-20, 20) ব্যবহার করলে assertion কখনো fail করবে না, ঠিক যেমন range(-10, 10)-এও করেনি — কারণ আমরা L05-এর proof by cases-এ ইতিমধ্যে প্রমাণ করেছি এটি সব পূর্ণসংখ্যার জন্য সত্য, শুধু একটি নির্দিষ্ট পরিসরে নয়। n জোড় বা বিজোড় যাই হোক না কেন, দুটি ধারাবাহিক পূর্ণসংখ্যার (n ও n+1) একটি সবসময় জোড় হবে — তাই তাদের গুণফলও সবসময় জোড়।

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

পাঠ ০৪
যৌক্তিক সমতুল্যতা ও ইনফারেন্স নিয়ম