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

Counterexample

বিপ্রতীপ উদাহরণ

একটা universal দাবি খণ্ডন করার একটামাত্র উদাহরণ। `∀x P(x)` মিথ্যা প্রমাণ করতে একটা `x` যথেষ্ট যেখানে `P(x)` মিথ্যা।

“সব মৌলিক সংখ্যা বিজোড়” — খণ্ডন: 2। প্রমাণ শেষ।

কেন এটা এত শক্তিশালী: মিথ্যা প্রমাণ করতে একটা উদাহরণ যথেষ্ট, কিন্তু সত্য প্রমাণ করতে সব ক্ষেত্র লাগে। এই অসাম্যটাই testing-এর ভিত্তি — একটা failing test একটা counterexample।

কিন্তু উল্টোটা খাটে না। Euler-এর polynomial দেখুন:

n² + n + 41  —  n = 0 থেকে 39 পর্যন্ত সব মৌলিক
n = 40  →  1681 = 41²   যৌগিক

৪০টা passing test, তবু দাবিটা মিথ্যা। Pattern দেখে সিদ্ধান্তে আসা (inductive reasoning) প্রমাণ নয়।

Property-based testing (Hypothesis, QuickCheck) হলো counterexample খোঁজার স্বয়ংক্রিয় পদ্ধতি — এলোমেলো input চেষ্টা করে, আর পেলে সবচেয়ে ছোট রূপে shrink করে দেখায়। তবু কিছু না পাওয়া মানে দাবিটা সত্য নয় — শুধু আরো ভালো search।