Skip to content

7.1 — Why Measure Theory? Naive থেকে Rigorous Probability-তে উত্তরণ (কেন measure theory? — probability-এর দৃঢ় ভিত্তি)

১ · ভূমিকা ও insight — সুন্দর মেঝের নিচে চারটে ফাটল: naive probability কোথায় ভেঙে পড়ে

১.১ যে ভিত্তির উপর আমরা এতদিন নিশ্চিন্তে দাঁড়িয়েছি

Part II থেকে শুরু করে গোটা Part III–VI জুড়ে আমরা probability ও পরিসংখ্যানের একটা বিশাল ইমারত গড়ে তুলেছি — Kolmogorov-এর axiom (2.1), continuous density (2.4), convergence-এর নানা মোড (3.2), CLT (3.4), estimator ও তার MSE (4.4), এবং তার উপর গোটা inference ও machine learning। এই গোটা যাত্রায় আমরা দুটো জিনিস অনায়াসে, প্রশ্ন না করেই ব্যবহার করেছি:

  • একটা event \(A\)-র probability \(\mathbb P(A)\) — যেন প্রতিটা ঘটনারই একটা সুনির্দিষ্ট probability আছে;
  • একটা random variable \(X\)-এর expectation \(\mathbb E[X]=\int x\,f(x)\,dx\) — যেন এই integral সবসময় অর্থবহ ও গণনাযোগ্য।

এবং সত্যি বলতে, যতক্ষণ আমরা সুন্দর ক্ষেত্রে ছিলাম — সসীম বা গণনাযোগ্য discrete distribution, কিংবা মসৃণ density-ওয়ালা continuous distribution — ততক্ষণ এই ভিত্তি নিখুঁত কাজ করেছে। ছয় ফলার ছক্কা, normal density, exponential waiting time — সবকিছুতেই \(\mathbb P(A)\) আর \(\int x f(x)\,dx\) ঠিক যা বলার তা-ই বলেছে।

কিন্তু এই মেঝেটা যত মসৃণ দেখায়, তত নিরেট নয়। এর নিচে চারটে সূক্ষ্ম crack আছে। প্রতিটা ফাটল একটা নির্দিষ্ট প্রশ্নে উন্মোচিত হয় — এমন প্রশ্ন যেগুলো নিতান্ত pathological কৌতূহল নয়, বরং probability-এর একদম স্বাভাবিক সম্প্রসারণ। আর এই ফাটলগুলো বোজাতেই দরকার একটা গভীরতর গাণিতিক ভিত্তি — measure theory (পরিমাপ-তত্ত্ব)। এই অধ্যায়টি Part VII-এর সূচনা; এর কাজ formal নির্মাণ নয় (সেটা 7.2–7.4-এ), বরং ফাটলগুলো চেনানো আর পুনর্নির্মাণের প্রয়োজনীয়তা অনুভব করানো

এক বাক্যে ভিত্তি। Part II–VI জুড়ে \(\mathbb P(A)\)\(\mathbb E[X]=\int x f(x)\,dx\) সুন্দর discrete/continuous ক্ষেত্রে নিখুঁত কাজ করেছে — কিন্তু এই naive ভিত্তির নিচে চারটে ফাটল আছে, যা measure theory ছাড়া বোজানো যায় না।

১.২ চার ফাটলের গল্প — চারটে নিরীহ প্রশ্ন যা ভিত্তি কাঁপিয়ে দেয়

এখানে আমরা চারটে ফাটলকে কেবল গল্প হিসেবে চিনব — কোনো প্রমাণ নয় (precise যুক্তি §৪-এ আসবে), শুধু "কোথায় মেঝে ফাটল ধরল" তার স্বজ্ঞা।

ফাটল ১ (C1) — একটা random স্বাভাবিক সংখ্যা বাছো। ধরা যাক আমি বলি: "\(1,2,3,\dots\) — সব স্বাভাবিক সংখ্যা থেকে একটা পুরোপুরি randomly, সমান probability-এ বাছো।" শুনতে নিরীহ — সসীম ক্ষেত্রে (\(1\) থেকে \(6\)) তো আমরা রোজই করি। কিন্তু এখানে set-টা countably infinite (\(\mathbb N\))। যদি প্রতিটা সংখ্যার probability একই ধ্রুবক \(c\) হয়, তবে সব probability যোগ করলে \(1\) পাওয়া উচিত — অথচ \(c+c+c+\cdots\) হয় \(0\) (যদি \(c=0\)) নয়তো \(\infty\) (যদি \(c>0\)); কখনোই ঠিক \(1\) নয়। অর্থাৎ \(\mathbb N\)-এর উপর কোনো fair/uniform probability আদৌ অস্তিত্বশীল নয় — naive "সমান probability"-ভাবনা countable জগতে ভেঙে পড়ে।

ফাটল ২ (C2) — একটা function যার কোনো ক্ষেত্রফল নেই। \([0,1]\)-এর উপর একটা function ভাবি — Dirichlet function \(D(x)=\mathbf 1_{\mathbb Q}(x)\): rational সংখ্যায় \(1\), irrational সংখ্যায় \(0\)। এটা নিখুঁতভাবে সংজ্ঞায়িত — প্রতিটা \(x\)-এর জন্য মান জানা। এখন প্রশ্ন: এর "ক্ষেত্রফল" \(\int_0^1 D(x)\,dx\) কত? Riemann integral-এর পদ্ধতিতে আমরা \([0,1]\)-কে ছোট ছোট খণ্ডে ভাগ করি — কিন্তু প্রতিটা খণ্ডে rational-ও আছে, irrational-ও; তাই উপরের আনুমান (upper sum) সর্বদা \(1\), নিচের আনুমান (lower sum) সর্বদা \(0\)। দুটো কখনো মেলে না — অর্থাৎ \(D\) Riemann-integrable নয়। অথচ এটা একটা সম্পূর্ণ বৈধ random variable হতে পারত; তাহলে তার expectation কী? naive "\(\mathbb E=\int\)" এখানে নিরুত্তর। (পরে দেখব Lebesgue integral এর জবাব দেয় — অনায়াসে \(0\)।)

ফাটল ৩ (C3) — তুমি কি প্রতিটা set-কে ওজন করতে পারো? \([0,1]\)-এ একটা random সংখ্যা uniform-ভাবে বাছলাম। এখন একটা subset \(A\subseteq[0,1]\)-এর জন্য \(\mathbb P(A)\) মানে "\(A\)-এর দৈর্ঘ্য"। প্রশ্ন: \([0,1]\)-এর প্রতিটা subset-এরই কি এমন একটা সুসংগত "দৈর্ঘ্য/probability" আছে — যা (ক) interval-এর জন্য স্বাভাবিক দৈর্ঘ্য দেয়, (খ) সরালে বদলায় না (translation-invariant), আর (গ) ভালোভাবে যোগ হয়? উত্তর — না। এমন কিছু অদ্ভুত set বানানো যায় (Vitali set, যার নির্মাণে Axiom of Choice লাগে) যাদের কোনো সুসংগত দৈর্ঘ্যই দেওয়া যায় না — এরা non-measurable। শিক্ষা: ঘটনাগুলো \([0,1]\)-এর সব subset (\(2^\Omega\)) হতে পারে না; এদের একটা সংযত পরিবার — \(\sigma\)-algebra — গঠন করতে হবে।

ফাটল ৪ (C4) — অদৃশ্য হয়ে যাওয়া ভর। একটা সচল চূড়া (moving spike) ভাবি: \(f_n(x)=n\cdot\mathbf 1_{(0,1/n)}(x)\) — অর্থাৎ \(0\) থেকে \(1/n\) পর্যন্ত উচ্চতা \(n\), বাকি সর্বত্র \(0\)। প্রতিটা \(f_n\)-এর নিচের ক্ষেত্রফল ঠিক \(1\) (ভিত্তি \(1/n\) × উচ্চতা \(n\))। কিন্তু \(n\) বাড়লে চূড়াটা সরু-উঁচু হতে হতে শূন্যের দিকে সরে যায়, আর প্রতিটা নির্দিষ্ট বিন্দু \(x>0\)-তে শেষ পর্যন্ত \(f_n(x)=0\) — অর্থাৎ \(f_n\to 0\) (pointwise)। তাহলে: \(\lim_n \int f_n = 1\), কিন্তু \(\int \lim_n f_n = \int 0 = 0\)integral আর limit অদলবদল করলে দুটো ভিন্ন উত্তর! ক্ষেত্রফল \(1\) যেন কোথায় উবে গেল। naive Riemann-জগতে কখন এই অদলবদল বৈধ, তার কোনো পরিষ্কার নিয়ম নেই।

এক বাক্যে চার ফাটল। random স্বাভাবিক সংখ্যা (C1), ক্ষেত্রফল-হীন function (C2), না-ওজন-করা-যাওয়া set (C3), আর অদৃশ্য-হওয়া ভর (C4) — চারটে নিরীহ প্রশ্ন দেখিয়ে দেয় naive probability-এর ভিত্তিতে গভীর ফাটল আছে।

১.৩ এই ফাটল কেন একজন statistician/data scientist-এরও মাথাব্যথা — নিছক পাণ্ডিত্য নয়

এই মুহূর্তে স্বাভাবিক প্রশ্ন: "এসব তো বিরল, কৃত্রিম উদাহরণ — আমি তো রোজ Dirichlet function-এ kaj করি না; আমার কী আসে যায়?" আসে যায়, এবং অনেকটাই — কারণ measure theory নিছক pathology সামলানোর জন্য নয়, বরং আধুনিক পরিসংখ্যান ও ML-এর কেন্দ্রীয় যন্ত্রগুলোর একমাত্র দৃঢ় ভিত্তি:

  • Rigorous conditional expectation। "\(X\) জানা থাকলে \(Y\)-এর গড়" — \(\mathbb E[Y\mid X]\) — Bayesian inference ও প্রায় সমস্ত ML-এর প্রাণ। কিন্তু \(X\) continuous হলে আমরা প্রায়ই এমন ঘটনায় শর্ত দিই যার probability \(0\) ("\(X\) ঠিক \(x\)"); naive "\(\mathbb P(\cdot\mid X=x)=\mathbb P(\cap)/\mathbb P(X=x)\)" এখানে \(0/0\) — সংজ্ঞাহীন। শুধু measure theory (Radon–Nikodym) একে নির্ভুল অর্থ দেয়।
  • Martingale। "ন্যায্য খেলা"-র গাণিতিক রূপ — যা stochastic approximation, SGD-র convergence বিশ্লেষণ, ও sequential analysis-এর ভিত্তি। Martingale-এর সংজ্ঞাই দাঁড়িয়ে আছে conditional expectation ও \(\sigma\)-algebra-র filtration-এর উপর।
  • Modes of convergence ও consistency। একটা estimator \(n\to\infty\)-তে সত্যিকারের parameter-এ পৌঁছায় (consistency) — এটা 3.2-এর convergence-এর ভাষায় বলা। কিন্তু "\(\hat\theta_n\to\theta\) কোন অর্থে?" এবং "limit আর expectation কখন অদলবদল করা যায়?" — এর নির্ভুল জবাব (C4-এর সাধারণীকরণ) দেয় MCT/Fatou/DCT, যা measure theory-র ফসল।
  • CLT-এর প্রকৃত প্রমাণ। 3.4-এ CLT আমরা স্বজ্ঞাগতভাবে ব্যবহার করেছি; তার পূর্ণ, কঠোর প্রমাণ (characteristic function, weak convergence) measure-তাত্ত্বিক ভিত্তি দাবি করে — যা 7.10-এ পুনঃপ্রমাণিত হবে।

অর্থাৎ এই ফাটলগুলো বোজানো মানে শুধু গণিতের পরিচ্ছন্নতা নয় — এটা সেই ভিত্তি যার উপর তোমার রোজকার conditional probability, SGD, consistency ও CLT দাঁড়িয়ে।

এক বাক্যে প্রাসঙ্গিকতা। Conditional expectation (→ Bayesian/ML), martingale (→ SGD, sequential analysis), modes of convergence (→ consistency), ও CLT-এর প্রকৃত প্রমাণ — সবকটিরই দৃঢ় ভিত্তি measure theory; তাই এ পাণ্ডিত্য নয়, প্রয়োজন।

১.৪ সমাধান — এক নিঃশ্বাসে: Kolmogorov, 1933

চারটে ফাটলের চারটে আলাদা সমাধান নয় — একটিমাত্র ধারণা সবগুলো একসঙ্গে বোজায়। ১৯৩৩ সালে Kolmogorov probability-কে measure theory-র উপর বসিয়ে দিলেন, এবং সেই একক ধারণাটা এই:

Probability হলো একটা \(\sigma\)-algebra-র উপর সংজ্ঞায়িত একটা measure — মোট ভর \(1\)

এই এক বাক্য থেকেই সব খুলে যায়: ঘটনা মানে \(\sigma\)-algebra \(\mathcal F\)-এর সদস্য (C3-এর জবাব — সব subset নয়); \(\mathbb P\) হলো \(\mathcal F\)-এর উপর একটা countably-additive measure (C1-এর জবাব — additivity-র নিয়ম স্পষ্ট); random variable হলো measurable function (2.3 → 7.3); আর expectation হলো Lebesgue integral \(\mathbb E[X]=\int X\,d\mathbb P\) (C2/C4-এর জবাব — wild function-ও integrable, আর limit-অদলবদলের নির্ভুল শর্ত MCT/Fatou/DCT)। এই কাঠামো discrete, continuous আর singular distribution-কে একই ভাষায় ধরে — তিন আলাদা তত্ত্বের আর দরকার নেই।

এক বাক্যে সমাধান। Kolmogorov-এর 1933 insight — probability \(=\) একটা \(\sigma\)-algebra-র উপর measure, random variable \(=\) measurable function, expectation \(=\) Lebesgue integral — চারটে ফাটল একসঙ্গে বোজায় এবং discrete+continuous+singular একীভূত করে।

১.৫ এই অধ্যায়ের পথরেখা ও Part VII কোথায় যাচ্ছে

  • §২ ফাটলগুলোর পেছনের ধারণা precise করে (এখনো পূর্ণ formal নয়): naive notion-গুলো ঠিক কোথায় ফাঁস হয়; "length/measure"-কে একীভূতকারী আদিম রূপে দেখা ও তার তিন desideratum; countable বনাম finite additivity; outer measure, null set ও almost-everywhere; Riemann বনাম Lebesgue-এর মূল ছবি; এবং 7.2–7.4-এ গড়া-হতে-যাওয়া চারটি formal বস্তুর preview।
  • §৪ চারটি ফাটলের precise যুক্তি — C1-এর \(\sum c\)-দ্বন্দ্ব, Dirichlet-এর Darboux-sum, \(\mathbb Q\) ও Cantor set-এর measure-শূন্যতা, Vitali-নির্মাণের রূপরেখা, এবং moving-spike-এর হিসাব।
  • §৫–৬ simulation ও চিত্র (seed 20260619) — Dirichlet-এর Riemann-sum কীভাবে partition বদলালে দোলে, moving-spike-এর \(\int f_n=1\) বনাম \(f_n\to 0\), \(\mathbb Q\cap[0,1]\)-ঢাকা interval-এর মোট দৈর্ঘ্য \(\to 0\), ও Cantor set-এর নির্মাণ — চিত্র 7-1-riemann-vs-lebesgue, 7-1-covering-rationals, 7-1-moving-spike, 7-1-cantor-construction সহ।

আর এই অধ্যায়ের পরে Part VII-এর পথ: 7.2 \(\sigma\)-algebra, Borel set ও Carathéodory extension দিয়ে measure-এর formal নির্মাণ; 7.3 measurable map ও random variable; 7.4 Lebesgue integral এবং তিন convergence theorem (MCT, Fatou, DCT); সেখান থেকে conditional expectation, martingale হয়ে শেষ পর্যন্ত 7.10-এ rigorous CLT।

এক বাক্যে পথরেখা। §২ ফাটলের পেছনের ধারণা ও measure-এর নকশা চেনায় → §৪ precise যুক্তি → §৫–৬ simulation ও চিত্র; আর Part VII এখান থেকে 7.2 (σ-algebra/Carathéodory) → 7.4 (Lebesgue integral) হয়ে 7.10 (rigorous CLT)-এ এগোয়।


২ · মূল ধারণা ও সংজ্ঞা

এই বিভাগে §১-এর গল্পগুলোকে — কিন্তু পূর্ণ formal নির্মাণ ছাড়া — একটু precise করি: naive ধারণা ঠিক কোথায় ফাঁস হয়, কোন একক আদিম ধারণা সব মেরামত করে, এবং 7.2–7.4-এ কী কী গড়া হবে তার নাম-পরিচয়। প্রতিটি প্রতীক প্রথম ব্যবহারেই খোলা হলো। যেখানে পূর্ণ সংজ্ঞা বা প্রমাণ লাগবে, সেখানে স্পষ্ট forward pointer দেওয়া হলো (σ-algebra, Carathéodory, Lebesgue integral-এর formal রূপ যথাক্রমে 7.2/7.4-এ)।

২.১ Naive notion দুটো — আর ঠিক কোথায় প্রতিটা ফাঁস হয়

এতদিন আমরা "probability/ক্ষেত্রফল" দুটো naive পথে ভেবেছি; দুটোরই সীমা এবার নাম ধরে চিনি।

Naive notion A — "probability = অনুকূল / মোট" (2.1-এর গণনা-ভিত্তিক probability): \(\mathbb P(A)=\lvert A\rvert / \lvert \Omega\rvert\)। এটা কেবল তখনই অর্থবহ যখন \(\Omega\) সসীম এবং সব ফলাফল equally probable। যেই \(\Omega\) অসীম হলো (এমনকি countably infinite, যেমন \(\mathbb N\)), অমনি "মোট সংখ্যা \(\lvert\Omega\rvert\)" অর্থহীন, আর সমান ভাগ করতে গেলে C1-এর দ্বন্দ্ব (\(\sum c \in\{0,\infty\}\))। ফাঁস: অসীম \(\Omega\)-তে গণনা-ভিত্তিক probability ভেঙে পড়ে।

Naive notion B — "probability = density-র নিচে ক্ষেত্রফল, Riemann integral দিয়ে" (2.4): \(\mathbb P(a\le X\le b)=\int_a^b f(x)\,dx\), যেখানে এই integral কার্যত Riemann। এটা মসৃণ \(f\) ও "ভালো" set-এ নিখুঁত — কিন্তু (i) integrand যদি Dirichlet-এর মতো wild হয় (C2), Riemann integral অস্তিত্বহীন; আর (ii) আমরা যদি একটা অদ্ভুত set \(A\)-এর "দৈর্ঘ্য" চাই (C3), তবে Riemann পদ্ধতিতে সেই set-এর indicator \(\mathbf 1_A\)-ও integrable না-ও হতে পারে। ফাঁস: wild function বা wild set-এ Riemann-ভিত্তিক ক্ষেত্রফল ভেঙে পড়ে।

দুটো ফাঁসেরই মূল এক জায়গায়: naive ধারণা দুটো interval ও মসৃণতার উপর নির্ভরশীল, কিন্তু probability-এর সাধারণ তত্ত্বে আমাদের যেকোনো set ও যেকোনো (measurable) function লাগবে। তাই দরকার একটা আরও আদিম, আরও নমনীয় ভিত্তি — যা আসছে পরের উপ-বিভাগে।

এক বাক্যে ফাঁস। "অনুকূল/মোট" অসীম \(\Omega\)-তে ভাঙে, আর "Riemann-ক্ষেত্রফল" wild function/set-এ ভাঙে — দুটো naive notion-ই interval ও মসৃণতার উপর নির্ভর করে বলে সাধারণ probability-এর ভার বইতে অক্ষম।

২.২ Length/measure — একীভূতকারী আদিম ধারণা, আর তার তিন desideratum

সমাধানের চাবি একটা সহজ পুনর্বিন্যাসে: probability ও integral-এর তলায় আসলে একটাই আদিম ধারণা আছে — একটা set-কে একটা আকার/পরিমাণ (size) দেওয়া। বাস্তব রেখা \(\mathbb R\)-এ এই size-কে আমরা length (দৈর্ঘ্য) বলি, এবং সাধারণ রূপে measure (পরিমাপ) — যা একটা function \(\lambda\) যা \(\mathbb R\)-এর subset-গুলোকে একটা অঋণাত্মক সংখ্যা (বা \(\infty\)) দেয়। আমরা চাই এই \(\lambda\) আমাদের স্বাভাবিক "দৈর্ঘ্য"-জ্ঞানকে মান্য করুক, তাই তিনটি কাম্য গুণ (desideratum) আরোপ করি:

  1. (i) Interval-এ স্বাভাবিক দৈর্ঘ্য: একটা ব্যবধান \([a,b]\)-এর জন্য
\[ \lambda([a,b]) = b-a. \]

অর্থাৎ measure আমাদের চেনা দৈর্ঘ্যকে সম্মান করে — \([0,1]\)-এর দৈর্ঘ্য \(1\), \([2,5]\)-এর \(3\)

  1. (ii) Translation invariance (স্থানান্তর-অপরিবর্তনীয়তা): কোনো set-কে রেখা বরাবর সরালে তার measure বদলায় না — যেকোনো বাস্তব \(t\)-র জন্য
\[ \lambda(A+t) = \lambda(A), \qquad \text{where } A+t=\{a+t : a\in A\}. \]

স্বজ্ঞা: একটা \(3\)-মিটার লাঠি যেখানেই রাখো, সে \(3\)-মিটারই — অবস্থান তার দৈর্ঘ্য বদলায় না।

  1. (iii) Countable additivity (\(\sigma\)-additivity, গণনাযোগ্য-সংযোজনশীলতা): পরস্পর-বিচ্ছিন্ন (disjoint) set-দের একটা গণনাযোগ্য অনুক্রম \(A_1, A_2, A_3,\dots\) (অর্থাৎ \(i\ne j\) হলে \(A_i\cap A_j=\varnothing\))-এর জন্য তাদের মিলনের measure হলো আলাদা measure-গুলোর যোগফল:
\[ \lambda\!\left(\bigcup_{n=1}^{\infty} A_n\right) = \sum_{n=1}^{\infty} \lambda(A_n). \]

এটা finite additivity-র (২.৩-এ আসছে) চেয়ে শক্তিশালী — এখানে অসীম (তবে গণনাযোগ্য) সংখ্যক টুকরোও জোড়া যায়।

এই তিনটে গুণ এতই স্বাভাবিক যে মনে হয় \(\mathbb R\)-এর প্রতিটা subset-এর জন্য এমন একটা \(\lambda\) বানানো নিশ্চয়ই সম্ভব। কিন্তু এখানেই C3-এর ধাক্কা — একটা preview-theorem যা §৪-এ Vitali-নির্মাণ দিয়ে প্রমাণিত হবে:

Preview (Vitali, §৪)। \(\mathbb R\)-এর সমস্ত subset-এর সংগ্রহ \(2^{\mathbb R}\)-এর উপর সংজ্ঞায়িত এমন কোনো \(\lambda\) নেই যা একসঙ্গে (i), (ii), (iii) তিনটেই মানে। কোনো-না-কোনো set (Vitali set) সবসময় বাদ পড়বে — তাকে কোনো সুসংগত দৈর্ঘ্যই দেওয়া যায় না।

এর অনিবার্য উপসংহার: আমরা \(\lambda\)-কে \(2^{\mathbb R}\)-এর উপর সংজ্ঞায়িত করার স্বপ্ন ছাড়ব, এবং তার বদলে domain-টাকে সংকুচিত করব — কেবল একটা সুনির্বাচিত, ভালো-আচরণের set-পরিবারের উপর \(\lambda\) সংজ্ঞায়িত করব। সেই পরিবারটাই \(\sigma\)-algebra (formal সংজ্ঞা 7.2-এ)। এটাই C3-এর শিক্ষা: event-গুলো \(2^\Omega\) নয়, একটা \(\sigma\)-algebra গঠন করে।

এক বাক্যে measure। Probability-র তলায় একটাই আদিম ধারণা — set-কে একটা length \(\lambda\) দেওয়া যা (i) interval-দৈর্ঘ্য, (ii) translation-invariance, (iii) countable additivity মানে; কিন্তু \(2^{\mathbb R}\)-এর প্রতিটা set-এ এ তিনটে একসঙ্গে রাখা অসম্ভব (Vitali), তাই domain-কে \(\sigma\)-algebra-তে সীমিত করতে হয়।

২.৩ Countable বনাম finite additivity — কেন "countable"-ই সঠিক স্বতঃসিদ্ধ

উপরের (iii)-এ আমরা countable additivity দাবি করেছি, কেবল finite নয় — এই পছন্দটা কেন, তা একটু বোঝা দরকার, কারণ এটাই গোটা তত্ত্বকে শক্তি দেয়।

  • Finite additivity (সসীম-সংযোজনশীলতা): শুধু সসীম সংখ্যক disjoint set-এর জন্য \(\lambda(A_1\cup\cdots\cup A_k)=\sum_{n=1}^{k}\lambda(A_n)\)। এটা দুর্বল — কেবল গোনা যায় এমন সসীম ভাঙনে কাজ করে।
  • Countable additivity: অসীম (গণনাযোগ্য) অনুক্রমেও যোগ চলে — যেমন (iii)-এ।

কেন countable-ই দরকার? কারণ এটাই সেই গুণ যা আমাদের limit-এ যেতে দেয় — আর probability ও বিশ্লেষণের প্রায় সবকিছুই limit নিয়ে। একটা সরাসরি ফল হলো continuity of measure: যদি set-গুলো বাড়তে থাকে, \(A_1\subseteq A_2\subseteq A_3\subseteq\cdots\), এবং তাদের মিলন \(A=\bigcup_n A_n\), তবে countable additivity থেকে পাওয়া যায়

\[ \lambda(A) = \lambda\!\left(\bigcup_{n=1}^{\infty} A_n\right) = \lim_{n\to\infty}\lambda(A_n). \]

অর্থাৎ measure একটা সীমা-প্রক্রিয়ার সঙ্গে সুন্দরভাবে আচরণ করে — "ক্রমবর্ধমান set-এর measure-এর limit = limit-set-এর measure"। finite additivity দিয়ে এই continuity পাওয়া যায় না। আর এই continuity-ই পরে (7.4-এ) integral ও limit অদলবদলের (C4-এর সমাধান) নিয়মগুলোর — MCT, Fatou, DCT-এর — শিকড়। তাই "অতিরিক্ত শক্তিশালী" মনে হলেও, countable additivity-ই probability-এর সঠিক স্বতঃসিদ্ধ।

এক বাক্যে additivity। Finite নয়, countable additivity-ই সঠিক স্বতঃসিদ্ধ — কারণ একমাত্র এটাই measure-কে limit-এর সঙ্গে সামঞ্জস্যপূর্ণ করে (continuity of measure: ক্রমবর্ধমান \(A_n\)-এ \(\lambda(\bigcup A_n)=\lim\lambda(A_n)\)), যা পরে integral↔limit অদলবদলের ভিত্তি।

২.৪ Outer measure, null set ও almost everywhere — "measure zero \(\ne\) countable"

কোনো নির্বিচার set \(A\)-এর "দৈর্ঘ্য" কীভাবে মাপব, যখন \(A\) মোটেও interval নয়? Lebesgue-এর কৌশলটা সরল ও সুন্দর: \(A\)-কে বাইরে থেকে ঢাকো। আমরা \(A\)-কে গণনাযোগ্য অনেকগুলো open interval \(I_1, I_2, \dots\) দিয়ে ঢাকি (অর্থাৎ \(A\subseteq\bigcup_k I_k\)), তাদের দৈর্ঘ্য যোগ করি, আর এমন সব সম্ভাব্য ঢাকনার মধ্যে সবচেয়ে আঁটো (ক্ষুদ্রতম মোট দৈর্ঘ্য) খুঁজি। গাণিতিকভাবে এটাই outer measure (বহিঃপরিমাপ) \(\lambda^*\):

\[ \lambda^*(A) = \inf\left\{ \sum_{k=1}^{\infty} \mathrm{length}(I_k) \;:\; A \subseteq \bigcup_{k=1}^{\infty} I_k,\ I_k \text{ open interval} \right\}, \]

যেখানে \(\inf\) মানে infimum (সর্ববৃহৎ নিম্নসীমা) — সব বৈধ ঢাকনার মোট-দৈর্ঘ্যের সবচেয়ে ছোট সম্ভাব্য মান। (এই \(\lambda^*\)-ই 7.2-এ Carathéodory-র পদ্ধতিতে প্রকৃত Lebesgue measure \(\lambda\)-তে পরিণত হবে।)

এই ধারণা থেকে দুটো গুরুত্বপূর্ণ সংজ্ঞা:

  • Null set (শূন্য-পরিমাপ set): যে set \(A\)-এর \(\lambda^*(A)=0\) — অর্থাৎ যাকে যত-ইচ্ছা-ছোট মোট-দৈর্ঘ্যের interval দিয়ে ঢাকা যায়।
  • Almost everywhere (a.e., "প্রায় সর্বত্র"): কোনো ধর্ম যদি একটা null set বাদে সর্বত্র সত্য হয়, তবে বলি ধর্মটি a.e. সত্য। (যেমন: Dirichlet function \(D=0\) a.e., কারণ যেখানে \(D\ne 0\) — অর্থাৎ \(\mathbb Q\)-তে — সেটা একটা null set।)

একটা চমকপ্রদ ফল, যা স্বজ্ঞাকে ঝাঁকায়: \(\mathbb Q\cap[0,1]\) একটা null set। কেন? \(\mathbb Q\) গণনাযোগ্য, তাই তার সদস্যদের তালিকা করা যায় \(q_1, q_2, q_3,\dots\); এখন \(q_k\)-কে একটা \(\varepsilon/2^k\)-দৈর্ঘ্যের interval দিয়ে ঢাকি। মোট দৈর্ঘ্য \(\le \sum_k \varepsilon/2^k = \varepsilon\) — এবং \(\varepsilon\) যত-খুশি ছোট নেওয়া যায়, তাই \(\lambda^*(\mathbb Q\cap[0,1])=0\)। (এটাই C2-এর Lebesgue-সমাধানের চাবি: \(\int_0^1 D\,d\lambda = 1\cdot\lambda(\mathbb Q\cap[0,1]) + 0\cdot\lambda(\text{irrationals}) = 1\cdot 0 + 0 = 0\)।)

আরও গভীর একটা সত্য — measure zero মানেই countable নয়। এর সাক্ষী Cantor set (7-1-cantor-construction চিত্রে আঁকা হবে): \([0,1]\) থেকে বারবার মাঝের এক-তৃতীয়াংশ ফেলে যা পড়ে থাকে। যা ফেলা হয় তার মোট দৈর্ঘ্য \(\tfrac13+\tfrac{2}{9}+\tfrac{4}{27}+\cdots = 1\) — তাই অবশিষ্ট Cantor set-এর measure \(0\)। অথচ এই set uncountable (গণনাতীত — \([0,1]\)-এর মতোই বিশাল)। অর্থাৎ একটা set "ক্ষুদ্র" (measure শূন্য) হতে পারে অথচ "অগণিত"। এই সূক্ষ্মতাই দেখায় কেন আমাদের "গোনা" নয়, "মাপা"-র তত্ত্ব দরকার।

এক বাক্যে outer measure। একটা set-কে গণনাযোগ্য interval দিয়ে ঢেকে মোট দৈর্ঘ্যের infimum নিলে outer measure \(\lambda^*\); এতে \(\mathbb Q\)-এর মতো গণনাযোগ্য set-এর measure \(0\) (null set, a.e.-র ভিত্তি), অথচ uncountable Cantor set-এরও measure \(0\) — তাই "measure zero \(\ne\) countable"।

২.৫ Riemann বনাম Lebesgue — মূল ছবিটা: domain ভাগ করা বনাম range ভাগ করা

C2 (Dirichlet) আর C4 (moving spike) দুটোরই গভীরে একটাই সমস্যা — Riemann কীভাবে integral গোনে। Lebesgue ঠিক এই গোনার ভঙ্গিটাই বদলায়, আর তাতেই wild function শান্ত হয়। ছবিটা এক বাক্যে: Riemann domain-কে ভাগ করে; Lebesgue range-কে ভাগ করে। (চিত্র 7-1-riemann-vs-lebesgue এটাই দুই প্যানেলে দেখাবে।)

  • Riemann (vertical strips, খাড়া ফালি): \(x\)-অক্ষকে (domain-কে) ছোট ছোট ব্যবধানে ভাগ করে প্রতিটা ব্যবধানের উপর function-এর মান প্রায়-ধ্রুবক ধরে সরু খাড়া আয়তক্ষেত্রের ক্ষেত্রফল যোগ করে। শর্ত: প্রতিটা সরু ব্যবধানে function-কে মোটামুটি একই মান ধরা যেতে হবে। Dirichlet-এর জন্য এটাই অসম্ভব — যত সরু ব্যবধানই নাও, তাতে rational-ও আছে (\(D=1\)), irrational-ও (\(D=0\)); তাই খাড়া ফালি-পদ্ধতি কখনো থিতু হয় না।
  • Lebesgue (horizontal strips, শোয়ানো ফালি): \(y\)-অক্ষকে (range-কে) ভাগ করে — জিজ্ঞেস করে, "function কোন কোন \(x\)-এ এই মান-স্তরে আছে, এবং সেই \(x\)-set-টা কত বড় (measure কত)?" তারপর (মান) × (সেই মান যেখানে আছে তার measure) যোগ করে। Dirichlet-এর জন্য এটা অনায়াস: \(D\) দুটো মাত্র মান নেয় — \(1\) (set \(\mathbb Q\cap[0,1]\)-এ, যার measure \(0\)) আর \(0\) (irrational-দের set-এ, measure \(1\)); তাই integral \(= 1\cdot 0 + 0\cdot 1 = 0\)

একটা চেনা উপমা: টাকা গোনার দুই পদ্ধতি। Riemann গোনে প্রাপ্তির ক্রমে — যেমন যেমন মুদ্রা হাতে এল, এক এক করে যোগ করল (domain-এর ক্রম মেনে)। Lebesgue আগে মুদ্রাগুলোকে মূল্যমান অনুযায়ী সাজায় — সব ১-টাকা একস্তূপে, সব ২-টাকা আরেক স্তূপে — তারপর (মূল্য × সংখ্যা) যোগ করে। এই "মূল্য অনুযায়ী সাজানো" = range-partition; আর এই range-ভাগই Lebesgue-কে এমন function সামলাতে দেয় যেখানে domain-এর ক্রমে কোনো মসৃণতা নেই। ঠিক একই কারণে C4-এর moving spike-ও measure-তাত্ত্বিক কাঠামোয় MCT/Fatou/DCT (7.4) দিয়ে শাসিত হয় — কখন limit ভেতরে নেওয়া যায়, তার নির্ভুল শর্তসহ।

এক বাক্যে Riemann↔Lebesgue। Riemann domain-কে ভাগ করে (খাড়া ফালি) আর function-কে প্রতি ফালিতে প্রায়-ধ্রুবক ধরে — Dirichlet-এ যা ভাঙে; Lebesgue range-কে ভাগ করে (শোয়ানো ফালি, "মূল্য অনুযায়ী মুদ্রা সাজানো") আর প্রতি মান-স্তরের set-এর measure মাপে — তাই wild function-ও সে অনায়াসে integrate করে।

২.৬ চারটি formal বস্তুর preview — যা 7.2–7.4-এ গড়া হবে

§১.৪-এ Kolmogorov-এর সমাধান এক বাক্যে দেখেছি; এখানে তার চারটি স্তম্ভ-বস্তুর নাম-পরিচয় রাখি — প্রতিটির এক-লাইন স্বজ্ঞা ও forward pointer সহ। এদের পূর্ণ, formal সংজ্ঞা এই অধ্যায়ে নয় — এ কেবল মানচিত্র, যাতে Part VII-এ পথ হারানো না যায়।

  1. \(\sigma\)-algebra \(\mathcal F\) (সিগমা-বীজগণিত) — কোন set-গুলো "ঘটনা"। \(\Omega\)-এর subset-দের এমন একটা পরিবার যা \(\varnothing\)\(\Omega\) ধারণ করে এবং complement ও গণনাযোগ্য union/intersection-এর অধীনে বদ্ধ। C3-এর Vitali-সমস্যার জবাব — measure কেবল এই পরিবারের সদস্যদেরই দেওয়া হয়, \(2^\Omega\)-এর সবাইকে নয়। (formal: 7.2; Borel σ-algebra \(\mathcal B\) সহ।)

  2. Measure \(\mu\) (পরিমাপ) — set-কে "আকার" দেওয়া। \(\mathcal F\)-এর উপর সংজ্ঞায়িত একটা অঋণাত্মক, countably-additive function \(\mu\), যেখানে \(\mu(\varnothing)=0\)। Probability হলো এর বিশেষ রূপ — \(\mathbb P\), যার মোট ভর \(\mathbb P(\Omega)=1\)Carathéodory extension outer measure \(\lambda^*\) থেকে প্রকৃত measure বানায়। (formal: 7.2।)

  3. Measurable function / random variable — \(\mathcal F\)-সম্মত map। একটা function \(X:\Omega\to\mathbb R\) যা "measurable" — অর্থাৎ যেকোনো বৈধ লক্ষ্য-set \(B\)-এর জন্য \(X^{-1}(B)\) একটা event (\(\in\mathcal F\))। এটাই random variable-এর প্রকৃত সংজ্ঞা (2.x-এর স্বজ্ঞাগত "random variable"-এর কঠোর রূপ)। (formal: 7.3।)

  4. Lebesgue integral \(\int X\,d\mu\) — expectation-এর প্রকৃত রূপ। range-partition দিয়ে গড়া integral, যা Riemann-এর চেয়ে বেশি function সামলায়; এর বিশেষ রূপ \(\mathbb E[X]=\int X\,d\mathbb P\)। সঙ্গে আসে তিন convergence theorem — MCT, Fatou, DCT — যা C4-এর limit↔integral অদলবদলের নির্ভুল শর্ত দেয়। (formal: 7.4।)

এই চারটে একসঙ্গে গাঁথলেই Kolmogorov-এর কাঠামো সম্পূর্ণ: probability space \((\Omega,\mathcal F,\mathbb P)\), তার উপর measurable random variable, আর Lebesgue integral হিসেবে expectation — যা discrete যোগফল, continuous Riemann-integral, ও singular (Cantor-ধরনের) সবকিছুকে একই সংজ্ঞায় ধরে।

এক বাক্যে preview। Part VII গড়বে চারটি বস্তু — \(\sigma\)-algebra \(\mathcal F\) (কোন set ঘটনা, 7.2), measure \(\mu\)/\(\mathbb P\) (set-এর আকার, Carathéodory দিয়ে, 7.2), measurable function/random variable (7.3), ও Lebesgue integral \(=\) expectation (MCT/Fatou/DCT সহ, 7.4) — যা একসঙ্গে naive probability-এর চার ফাটল বুজিয়ে discrete+continuous+singular একীভূত করে।


৩ · পূর্ণাঙ্গ উদাহরণ

§১–২-তে আমরা চারটি crack (ফাটল — যেখানে স্কুল-পর্যায়ের probability ও Riemann integration হোঁচট খায়) চিহ্নিত করেছি:

  • C1 — countable infinity-তে "uniform" বা "fair" distribution সংজ্ঞায়িত করা যায় না; countable additivity (গণনাযোগ্য যোগাত্মকতা) এখানে কঠোর শর্ত চাপায়।
  • C2 — Riemann integral যথেষ্ট "ভালো" function-এও ব্যর্থ হয়; integrability-র শর্ত বড্ড সংকীর্ণ।
  • C3 — "কত বড়" বা "কত ছোট" একটা set, সেটা মাপার (measure) সর্বজনীন ধারণা আমাদের নেই; length/area-এর সাধারণ স্বজ্ঞা ভেঙে পড়ে।
  • C4 — limit আর integral হাত বদলানো (\(\lim\int = \int\lim\)) সাধারণভাবে অবৈধ; কখন বৈধ তা বলার মতো theorem আমাদের কাছে নেই।

নিচের পাঁচটি উদাহরণ এই ফাটলগুলোকে কংক্রিট সংখ্যা দিয়ে স্পর্শ করে দেখায় — কেন measure theory নিছক শখের বিমূর্ততা নয়, বরং এই সমস্যাগুলোর প্রকৃত সমাধান। প্রতিটি উদাহরণে আমরা arithmetic ধৈর্য ধরে দেখাব, তারপর "কী শিখলাম" বলে গুটিয়ে আনব।


উদাহরণ ১ — \(\mathbb N\)-এর উপর fair uniform probability নেই (★)

সেটআপ। একটা lottery কল্পনা করুন যেখানে টিকিট-নম্বর হতে পারে \(1, 2, 3, \dots\) — যেকোনো natural number, কোনো ঊর্ধ্বসীমা নেই। সবাইকে "সমান সুযোগ" দিতে চাই: প্রতিটি \(k\in\mathbb N\) নির্বাচিত হওয়ার probability একই। প্রশ্ন: এমন একটা fair uniform probability কি সত্যিই বানানো যায়?

ধরা যাক যায়; তাহলে কোনো ধ্রুবক \(c\ge 0\) আছে যাতে প্রতিটি singleton-এর (একক-মৌল set) probability সমান:

\[ \mathbb P(\{k\}) = c \qquad \text{for every } k\in\mathbb N . \]

ধাপে ধাপে যুক্তি। \(\mathbb N = \{1\}\cup\{2\}\cup\{3\}\cup\cdots\) — এটা পরস্পর-বিচ্ছিন্ন (disjoint) singleton-গুলোর একটা countable (গণনাযোগ্য) মিলন। যেকোনো probability-র সংজ্ঞায় countable additivity থাকে: পরস্পর-বিচ্ছিন্ন set-গুলোর মিলনের probability হলো প্রতিটির probability-র যোগফল। সুতরাং

\[ 1 \;=\; \mathbb P(\mathbb N) \;=\; \mathbb P\!\Big(\bigcup_{k=1}^{\infty}\{k\}\Big) \;=\; \sum_{k=1}^{\infty}\mathbb P(\{k\}) \;=\; \sum_{k=1}^{\infty} c . \]

এবার \(c\)-এর সম্ভাব্য দুটো ক্ষেত্র খতিয়ে দেখি — এবং দুটোই ভেঙে পড়ে:

  • ক্ষেত্র \(c=0\). তাহলে \(\sum_{k=1}^{\infty} 0 = 0 + 0 + 0 + \cdots = 0 \ne 1\)। অর্থাৎ মোট probability শূন্য, অথচ আমাদের লাগবে \(1\)। অসম্ভব।
  • ক্ষেত্র \(c>0\). তাহলে \(\sum_{k=1}^{\infty} c = c + c + c + \cdots = +\infty \ne 1\)। একই ধনাত্মক সংখ্যা অসীমবার যোগ করলে অসীমে চলে যায়, \(1\) হয় না। আবারও অসম্ভব।

কোনো \(c\)-ই কাজ করল না — তাই এমন uniform probability থাকতেই পারে না

Finite ক্ষেত্রের সঙ্গে তুলনা। ধরুন n- টিকিট, যেখানে \(n\) একটা সসীম সংখ্যা। তখন \(c = 1/n\) নিলে

\[ \sum_{k=1}^{n} \frac1n \;=\; \underbrace{\tfrac1n + \tfrac1n + \cdots + \tfrac1n}_{n\text{ times}} \;=\; \frac{n}{n} \;=\; 1 .\ \checkmark \]

সসীম জগতে "প্রত্যেকে \(1/n\)" নিখুঁতভাবে যোগ হয়ে \(1\) দেয়। কিন্তু অসীম জগতে \(1/\infty\)-এর কোনো অর্থ নেই — এবং উপরের হিসাব দেখায়, কোনো ধ্রুবক মান বসিয়েই ফাঁকটা পূরণ হয় না। এখানেই finite ও countable-infinite জগতের গুণগত পার্থক্য।

কী শিখলাম — crack C1। "একটা random natural number সমভাবে (uniformly) বাছো" — কথাটা শুনতে নিরীহ, কিন্তু গাণিতিকভাবে ill-posed (অসংজ্ঞায়িত): এর সঙ্গে consistent কোনো probability নেই। দোষী কে? countable additivity — এর সত্যিকারের দাঁত আছে। (লক্ষণীয়: যদি কেবল সসীম additivity দাবি করতাম, ফাঁকটা এত স্পষ্ট ধরা পড়ত না; কিন্তু সসীম additivity দিয়ে limit-এর যুক্তি চলে না।) এই কারণেই measure theory countable additivity-কে স্বতঃসিদ্ধ ধরে — আর সেই দাবির মূল্য চুকাতে হয় বলেই \(\mathbb N\)-এ uniform distribution নিষিদ্ধ।


উদাহরণ ২ — \(\mathbb Q\cap[0,1]\)-এর measure শূন্য (★)

সেটআপ। \([0,1]\)-এর ভেতরের সব rational সংখ্যা — অর্থাৎ \(\mathbb Q\cap[0,1]\) — নিন। এই set কিন্তু dense (ঘন): real line-এর যেকোনো দুই বিন্দুর মাঝে অসংখ্য rational আছে, তাই এদের "ছড়িয়ে থাকা" সর্বত্র। স্বজ্ঞা বলে এমন সর্বব্যাপী set নিশ্চয়ই অনেকখানি "জায়গা" দখল করে। অথচ আমরা দেখাব এর মাপ (measure) শূন্য — এটাকে যত খুশি ছোট length-এর মধ্যে ঢেকে ফেলা যায়।

মূল হাতিয়ার — countability। \(\mathbb Q\cap[0,1]\) একটা countable set: এদের একটা তালিকায় সাজানো যায়, \(q_1, q_2, q_3, \dots\) (যেমন denominator অনুসারে সাজিয়ে \(\tfrac01, \tfrac11, \tfrac12, \tfrac13, \tfrac23, \tfrac14, \dots\))। এই গণনাযোগ্যতাই গোটা যুক্তির চাবি।

ধাপে ধাপে ঢাকনা বানানো। একটা ছোট \(\varepsilon>0\) বেছে নিন। প্রতিটি \(q_k\)-কে কেন্দ্র করে একটা open interval বসাই, যার length ঠিক \(\varepsilon/2^k\):

\[ I_k \;=\; \Big(q_k - \frac{\varepsilon}{2^{k+1}},\; q_k + \frac{\varepsilon}{2^{k+1}}\Big), \qquad \text{length}(I_k) = \frac{\varepsilon}{2^{k}} . \]

প্রতিটি \(q_k\) তো তার নিজের \(I_k\)-এর ভেতরে আছেই, তাই গোটা set ঢাকা পড়ে:

\[ \mathbb Q\cap[0,1] \;\subseteq\; \bigcup_{k=1}^{\infty} I_k . \]

এখন ঢাকনার মোট length যোগ করি। এটা একটা geometric series (\(\tfrac12 + \tfrac14 + \tfrac18 + \cdots = 1\)):

\[ \sum_{k=1}^{\infty}\text{length}(I_k) \;=\; \sum_{k=1}^{\infty}\frac{\varepsilon}{2^{k}} \;=\; \varepsilon\sum_{k=1}^{\infty}\frac{1}{2^{k}} \;=\; \varepsilon\cdot 1 \;=\; \varepsilon . \]

সুতরাং outer measure (outer measure, \(\lambda^*\) — যেকোনো set-কে interval দিয়ে ঢাকার সবচেয়ে দক্ষ মোট-length) সন্তুষ্ট করে \(\lambda^*(\mathbb Q\cap[0,1]) \le \varepsilon\)

সিদ্ধান্ত। \(\varepsilon>0\) ছিল যেকোনো ছোট সংখ্যা। একটা অঋণাত্মক রাশি যদি প্রত্যেক ধনাত্মক \(\varepsilon\)-এর চেয়ে ছোট-বা-সমান হয়, তবে সেটা শূন্যই হতে বাধ্য:

\[ \lambda^*(\mathbb Q\cap[0,1]) \;\le\; \varepsilon \quad \text{for all } \varepsilon>0 \quad\Longrightarrow\quad \lambda^*(\mathbb Q\cap[0,1]) = 0 . \]

নিচের টেবিল \(\varepsilon\)-এর কয়েকটা মান নিয়ে মোট-length দেখায় — যত ছোট ঢাকনা চাই, তত ছোট পাই:

\(\varepsilon\) মোট ঢাকনা-length \(=\sum_k \varepsilon/2^k\) মন্তব্য
\(1\) \(1\) একক length-এর ভেতরেই পুরো \(\mathbb Q\cap[0,1]\) ঢেকে গেল
\(0.1\) \(0.1\) দশগুণ ছোট ঢাকনা
\(0.01\) \(0.01\) আরও দশগুণ ছোট
\(10^{-6}\) \(10^{-6}\) এক-মিলিয়নাংশ length — তবু সব rational ঢাকা

কী শিখলাম — measure 0 (C3-এর ভিত্তি)। একটা set infinitedense হয়েও measure-অর্থে সম্পূর্ণ negligible (নগণ্য, measure \(0\)) হতে পারে। "কত বিন্দু আছে" আর "কত length দখল করে" — দুটো একেবারে আলাদা প্রশ্ন; স্বজ্ঞা এখানে বিভ্রান্ত করে। এই measure-zero ধারণাই measure theory-র প্রাণভোমরা: integration-এ "প্রায় সর্বত্র" (almost everywhere) বলতে গেলে এরই দরকার হবে — যেমন পরবর্তী উদাহরণে।


উদাহরণ ৩ — Dirichlet function Riemann-integrable নয়, কিন্তু Lebesgue-এ integrable (★★)

সেটআপ। Dirichlet function সংজ্ঞায়িত করি \([0,1]\)-এর উপর:

\[ D(x) \;=\; \mathbf 1_{\mathbb Q}(x) \;=\; \begin{cases} 1, & x \text{ rational},\\[2pt] 0, & x \text{ irrational}. \end{cases} \]

এটা rational বিন্দুতে \(1\), irrational বিন্দুতে \(0\) — প্রতিটি বিন্দুর গায়েই অসংখ্যবার \(0\) থেকে \(1\)-এ লাফ দেয়। প্রশ্ন: এর "তলার ক্ষেত্রফল" \(\int_0^1 D\) কত? Riemann-এর কাঠামোয় উত্তর খুঁজলে আমরা দেয়ালে ধাক্কা খাব; তারপর Lebesgue-এর কাঠামোয় উত্তর পরিষ্কার মিলবে।

ধাপ ১ — Riemann ব্যর্থ। Riemann integral-এ আমরা \([0,1]\)-কে partition করি, প্রতিটি subinterval-এ function-এর supremum (সর্বোচ্চ) ও infimum (সর্বনিম্ন) দিয়ে উপরের ও নিচের Darboux sum বানাই। মূল পর্যবেক্ষণ: rational ও irrational উভয়ই dense, তাই যেকোনো partition-এর প্রতিটি subinterval \([x_{i-1}, x_i]\)-এর ভেতরে অন্তত একটা rational (যেখানে \(D=1\)) এবং অন্তত একটা irrational (যেখানে \(D=0\)) থাকবেই। অতএব প্রতিটি subinterval-এ:

\[ \sup_{[x_{i-1},x_i]} D = 1, \qquad \inf_{[x_{i-1},x_i]} D = 0 . \]

ফলে subinterval-এর length \(\Delta x_i = x_i - x_{i-1}\) ধরে, উপরের ও নিচের sum হয়:

\[ U(D,P) = \sum_i 1\cdot \Delta x_i = \sum_i \Delta x_i = 1, \qquad L(D,P) = \sum_i 0\cdot \Delta x_i = 0 . \]

এটা প্রতিটি partition \(P\)-এর জন্য সত্য — partition যত সূক্ষ্মই হোক, ব্যবধান কমে না। তাই upper integral \(\overline{\int}D = 1\), কিন্তু lower integral \(\underline{\int}D = 0\):

\[ \overline{\int_0^1} D \;=\; 1 \;\ne\; 0 \;=\; \underline{\int_0^1} D . \]

দুটো সমান নয় বলে Riemann integral অস্তিত্বহীন\(D\) Riemann-integrable নয়

ধাপ ২ — Lebesgue জিতল। Lebesgue-এর দর্শন আলাদা: \(x\)-অক্ষ কেটে নয়, function-এর মান ধরে দল বাঁধো। \(D\) মাত্র দুটো মান নেয় — \(1\)\(0\) — তাই

\[ \int_0^1 D \,d\lambda \;=\; 1\cdot \lambda\big(\{x: D(x)=1\}\big) \;+\; 0\cdot \lambda\big(\{x: D(x)=0\}\big) . \]

এখানে \(\{D=1\} = \mathbb Q\cap[0,1]\) আর ${D=0} = $ irrationals \(\cap\,[0,1]\)উদাহরণ ২ থেকে \(\lambda(\mathbb Q\cap[0,1]) = 0\); আর গোটা \([0,1]\)-এর length \(1\), তাই irrational অংশের measure \(1 - 0 = 1\)। বসিয়ে:

\[ \int_0^1 D \,d\lambda \;=\; 1\cdot 0 \;+\; 0\cdot 1 \;=\; 0 . \]

সুন্দরভাবে সংজ্ঞায়িত, এবং উত্তর \(\boxed{0}\) — স্বজ্ঞার সঙ্গেও মেলে, কারণ "প্রায় সব" বিন্দুতে (\(\lambda\)-অর্থে) \(D=0\)

কী শিখলাম — crack C2 এবং তার সমাধান। Riemann integral এমন একটা function-এও ভেঙে পড়ে যেটা মাত্র দুটো মান নেয় — তার integrability-শর্ত বড্ড সংকীর্ণ (এটাই C2)। Lebesgue integral "মানে ভাগ করো, তারপর প্রতিটি স্তরের measure দিয়ে গুণ করো" — এই কৌশলে অনায়াসে \(\int_0^1 D\,d\lambda = 0\) পায়। লক্ষণীয়, এর পেছনে measure-zero ধারণাটা (উদাহরণ ২) সরাসরি কাজে লেগেছে: rational-গুলোর measure \(0\) বলেই তাদের অবদান মুছে গেছে।


উদাহরণ ৪ — চলমান spike: limit আর integral হাত বদলায় না (★★)

সেটআপ। প্রতিটি \(n\in\mathbb N\)-এর জন্য একটা function বানাই — একটা সরু, লম্বা spike (চূড়া) যা \(0\)-এর কাছে দাঁড়িয়ে থাকে:

\[ f_n(x) \;=\; n\,\mathbf 1_{(0,\,1/n)}(x) \;=\; \begin{cases} n, & 0 < x < 1/n,\\[2pt] 0, & \text{otherwise (on } [0,1]). \end{cases} \]

\(n\) বাড়লে চূড়া উঁচু হয় (উচ্চতা \(n\)) কিন্তু সরু হয় (প্রস্থ \(1/n\)) — যেন একই "পরিমাণ পানি" ক্রমশ সরু পাত্রে ঢালা হচ্ছে। প্রশ্ন: \(n\to\infty\) নিলে integral আর function-এর limit — দুটো কি একই উত্তর দেয়?

ধাপ ১ — প্রতিটি \(f_n\)-এর integral। প্রতিটি স্থির \(n\)-এর জন্য \(f_n\) একটা সাধারণ step function (ধাপ-ফাংশন), তাই Riemann integral দিব্যি কাজ করে — এটা নিছক একটা আয়তক্ষেত্রের ক্ষেত্রফল: উচ্চতা \(n\), প্রস্থ \(1/n\)

\[ \int_0^1 f_n \,dx \;=\; \underbrace{n}_{\text{height}}\times \underbrace{\frac1n}_{\text{width}} \;=\; 1 \qquad \text{for every } n . \]

লক্ষণীয় — উত্তর সবসময় ঠিক \(1\), \(n\) যাই হোক। তাই

\[ \lim_{n\to\infty}\int_0^1 f_n \,dx \;=\; \lim_{n\to\infty} 1 \;=\; 1 . \]

ধাপ ২ — pointwise limit। এবার \(x\) স্থির রেখে \(f_n(x)\)-এর আচরণ দেখি।

  • ধরা যাক \(x\in(0,1]\) স্থির। চূড়াটা কেবল \((0, 1/n)\)-তে দাঁড়ায়; \(n\) যথেষ্ট বড় হলে \(1/n < x\), তখন \(x\) চূড়ার বাইরে পড়ে আর \(f_n(x)=0\)। উদাহরণস্বরূপ \(x=0.3\): শর্ত \(1/n < 0.3 \iff n > 10/3 \approx 3.33\), অর্থাৎ \(n\ge 4\) থেকেই \(f_n(0.3)=0\)
  • আর \(x=0\)? চূড়ার ব্যবধান \((0,1/n)\) open, তাই \(0\) কখনো ভেতরে নেই — সব \(n\)-এর জন্য \(f_n(0)=0\)

সুতরাং প্রতিটি স্থির \(x\)-এ, যথেষ্ট বড় \(n\)-এর পর \(f_n(x)=0\); অর্থাৎ pointwise limit:

\[ f_n(x) \;\longrightarrow\; f(x)\equiv 0 \qquad \text{for each } x\in[0,1]. \]

তাহলে limit-function-এর integral:

\[ \int_0^1 \Big(\lim_{n\to\infty} f_n\Big) dx \;=\; \int_0^1 0\,dx \;=\; 0 . \]

ধাপ ৩ — সংঘর্ষ। দুই উত্তর মুখোমুখি:

\[ \lim_{n\to\infty}\int_0^1 f_n \,dx \;=\; 1 \qquad\ne\qquad 0 \;=\; \int_0^1 \Big(\lim_{n\to\infty} f_n\Big) dx . \]

limit আর integral হাত বদলানো এখানে ভুল উত্তর দিল — পার্থক্য পুরো \(1\) একক! ব্যাপারটা হলো, "পানি" কখনো হারায়নি; প্রতিটা \(n\)-এ এর পরিমাণ \(1\), কিন্তু \(n\to\infty\)-এ চূড়াটা \(0\)-এর দিকে সরে গিয়ে অসীম-সরু-অসীম-উঁচু হয়ে স্বজ্ঞাকে ফাঁকি দেয় — pointwise limit সেই ভরকে "দেখতে" পায় না।

নিচের টেবিল ছবিটা স্পষ্ট করে — integral অটল \(1\), অথচ স্থির বিন্দুতে মান ভেঙে পড়ে \(0\)-তে:

\(n\) উচ্চতা প্রস্থ \(=1/n\) \(\int_0^1 f_n\,dx\) \(f_n(0.3)\)
\(1\) \(1\) \(1\) \(1\) \(1\)
\(2\) \(2\) \(0.5\) \(1\) \(2\)
\(5\) \(5\) \(0.2\) \(1\) \(0\)
\(10\) \(10\) \(0.1\) \(1\) \(0\)
\(100\) \(100\) \(0.01\) \(1\) \(0\)
\(1000\) \(1000\) \(0.001\) \(1\) \(0\)

(\(f_n(0.3)=n\) যতক্ষণ \(1/n > 0.3\), অর্থাৎ \(n\le 3\); আর \(n\ge 4\) থেকে \(f_n(0.3)=0\) — তাই টেবিলে \(n=2\)-এ \(2\), কিন্তু \(n=5\) থেকেই \(0\)।)

নোট (সামনের দিকে ইঙ্গিত)। কেউ ভাবতে পারেন, Dominated Convergence Theorem (DCT, §৭.৪) তো limit ও integral বদলানোর অনুমতি দেয় — এখানে দিল না কেন? কারণ DCT-র একটা শর্ত আছে: একটাই integrable "ঢাকনা" function \(g\) থাকতে হবে যা সব \(f_n\)-কে ঢাকে (\(\lvert f_n\rvert \le g\))। এখানে সবচেয়ে ছোট সম্ভাব্য ঢাকনা \(\sup_n f_n(x)\) আচরণ করে মোটামুটি \(1/x\)-এর মতো \(0\)-এর কাছে, যার \(\int_0^1\) অসীম — অর্থাৎ ঢাকনাটা integrable নয়। তাই DCT প্রযোজ্যই নয়, এবং swap ব্যর্থ হওয়াটা theorem-এর সঙ্গে নিখুঁতভাবে consistent।

কী শিখলাম — crack C4. \(\lim\int = \int\lim\) একটা সুবিধাজনক ধাপ যা আমরা প্রায়ই বিনা প্রশ্নে ব্যবহার করি — কিন্তু এটা সাধারণভাবে মিথ্যা, যেমন এই চলমান-চূড়া দেখাল (\(1\ne 0\))। আমাদের দরকার এমন theorem (Monotone Convergence, Dominated Convergence — §৭.৪) যা পরিষ্কার শর্ত দিয়ে বলবে কখন swap বৈধ। সেই শর্ত-কাঠামো গড়ার ভাষাই measure theory; Riemann-এর হাতে এই সূক্ষ্ম পার্থক্য ধরার যন্ত্র নেই।


উদাহরণ ৫ — Cantor set: uncountable অথচ measure শূন্য (★★)

সেটআপ। Cantor set \(C\) বানাই \([0,1]\) থেকে বারবার মাঝের এক-তৃতীয়াংশ (middle third) ফেলে দিয়ে:

  • ধাপ ০: শুরু \(C_0 = [0,1]\)
  • ধাপ ১: মাঝের open third \((\tfrac13, \tfrac23)\) ফেলো → \(C_1 = [0,\tfrac13]\cup[\tfrac23,1]\) (\(2\)টা interval, প্রতিটির length \(\tfrac13\))।
  • ধাপ ২: বাকি দুই interval-এর প্রতিটির মাঝের third ফেলো → \(C_2\)-তে \(4\)টা interval, প্রতিটির length \(\tfrac19\)
  • … এভাবে চলতে থাকো। \(C = \bigcap_{k=0}^{\infty} C_k\) — যা কখনোই ফেলা হয়নি

প্রশ্ন দুটো, এবং এদের উত্তর একসঙ্গে শুনলে চমকপ্রদ: (ক) \(C\)-এর measure কত? (খ) \(C\)-তে কতগুলো বিন্দু আছে?

ধাপ ১ — মোট কতটা ফেলা হলো (measure)। \(k\)-তম ধাপে কতগুলো interval ফেলি, প্রতিটার length কত?

  • ধাপ \(1\): \(2^{0}=1\)টা interval ফেলি, length \(3^{-1}=\tfrac13\) → মোট \(\tfrac13\)
  • ধাপ \(2\): \(2^{1}=2\)টা interval ফেলি, প্রতিটা length \(3^{-2}=\tfrac19\) → মোট \(\tfrac{2}{9}\)
  • ধাপ \(3\): \(2^{2}=4\)টা interval, প্রতিটা length \(3^{-3}=\tfrac{1}{27}\) → মোট \(\tfrac{4}{27}\)
  • … সাধারণভাবে ধাপ \(k\)-তে \(2^{k-1}\)টা interval, প্রতিটা length \(3^{-k}\) → মোট \(2^{k-1}3^{-k}\)

সব ধাপের ফেলে-দেওয়া length যোগ করি (এটা একটা geometric series):

\[ \text{total removed} \;=\; \sum_{k=1}^{\infty} 2^{k-1}\,3^{-k} \;=\; \frac13 \sum_{k=1}^{\infty}\Big(\frac23\Big)^{k-1} \;=\; \frac13 \sum_{j=0}^{\infty}\Big(\frac23\Big)^{j} \;=\; \frac13\cdot\frac{1}{1-\tfrac23} \;=\; \frac13\cdot 3 \;=\; 1 . \]

(এখানে \(j=k-1\) ধরেছি; আর \(\sum_{j\ge 0} r^j = \tfrac{1}{1-r}\) ব্যবহার করেছি \(r=\tfrac23\)-এ।) অর্থাৎ মোট length-এর পুরো \(1\)-ই ফেলে দেওয়া হলো! তাই অবশিষ্ট Cantor set-এর measure:

\[ \lambda(C) \;=\; \lambda([0,1]) - (\text{total removed}) \;=\; 1 - 1 \;=\; 0 . \]

পরীক্ষা করে দেখুন: \(C_k\)-তে \(2^k\)টা interval থাকে, প্রতিটা length \(3^{-k}\), তাই \(\lambda(C_k) = (2/3)^k \to 0\) — একই সিদ্ধান্ত।

ধাপ ২ — তবু কত বিন্দু (cardinality)। এবার এক চমক: measure \(0\) হওয়া সত্ত্বেও \(C\) খালি বা ছোট নয় — বরং uncountable (অগণনাযোগ্য, পুরো continuum-এর সমান)। কেন?

base-\(3\) (ternary) লেখায় \([0,1]\)-এর সংখ্যাগুলো \(0.d_1 d_2 d_3\ldots\) আকারে লেখা যায়, যেখানে প্রতিটা digit \(d_i\in\{0,1,2\}\)। মাঝের-third ফেলার অর্থ ঠিক digit \(1\) বাদ দেওয়া: একটু খেয়াল করলে দেখা যায় \(C\)-তে ঠিক সেই সংখ্যাগুলোই টিকে থাকে যাদের ternary রূপে কোনো digit-এ \(1\) নেই — অর্থাৎ প্রতিটা digit \(0\) বা \(2\)। তাই একটা পরিষ্কার bijection (এক-এক সংগতি) দাঁড়ায়:

\[ C \;\longleftrightarrow\; \{0,2\}^{\mathbb N} \quad\text{(each point} \leftrightarrow \text{infinite } 0/2\text{-sequence)} . \]

প্রতিটা digit-এ \(2\)টা পছন্দ (\(0\) না \(2\)) আর অসীম digit — তাই \(\{0,2\}^{\mathbb N}\)-এর size \(2^{\aleph_0}\), ঠিক \([0,1]\)-এর মতোই (continuum)। (\(\{0,2\}^{\mathbb N} \leftrightarrow \{0,1\}^{\mathbb N}\) পাঠাতে \(0\mapsto 0, 2\mapsto 1\) নিলেই হয় — অর্থাৎ সব binary অনুক্রম।) সুতরাং \(C\) uncountable, \(\mathbb Q\cap[0,1]\)-এর মতো countable নয় মোটেই।

দুটো সত্য পাশাপাশি রাখলে দাঁড়ায়:

\[ \lambda(C) = 0 \qquad\text{but}\qquad \lvert C\rvert = 2^{\aleph_0} \ (\text{continuum}) . \]

কী শিখলাম — measure-zero ≠ ছোট/countable (C3-এর গভীর রূপ)। উদাহরণ ২-এ measure-zero set-টা ছিল countable (rational-গুলো), তাই "অল্প বিন্দু → অল্প measure" ভাবা সহজ ছিল। Cantor set সেই স্বজ্ঞা ভেঙে দেয়: এখানে continuum-সংখ্যক বিন্দু, তবু measure ঠিক \(0\)। অর্থাৎ "measure zero" শর্তটা "countable" শর্তের চেয়ে অনেক দুর্বল (countable ⇒ measure 0, কিন্তু উল্টোটা নয়)। size মাপার দুটো সম্পূর্ণ independent মাপকাঠি — cardinality আর measure — যা আলাদা করে বোঝার জন্যই একটা পূর্ণাঙ্গ তত্ত্ব (measure theory) দরকার। এই একটি উদাহরণই গোটা ইমারত গড়ার প্রেরণা।


সারসংক্ষেপ। পাঁচটি উদাহরণ পাঁচটি ফাটল ছুঁয়ে গেল:

উদাহরণ মূল ঘটনা crack
\(\mathbb N\)-এ fair uniform probability নেই (\(c=0\Rightarrow 0\), \(c>0\Rightarrow\infty\)) C1
\(\mathbb Q\cap[0,1]\) dense তবু \(\lambda^*=0\) (ঢাকনা-length \(=\varepsilon\)) C3-এর ভিত্তি
Dirichlet \(D\) Riemann-এ ব্যর্থ (\(U=1\ne 0=L\)), Lebesgue-এ \(\int D\,d\lambda=0\) C2
চলমান spike: \(\lim\int f_n = 1 \ne 0 = \int\lim f_n\) C4
Cantor set: \(\lambda(C)=0\) অথচ uncountable (continuum) C3 (গভীর)

এই হোঁচটগুলোর প্রতিটিরই একটা পরিষ্কার, সর্বজনীন সমাধান আছে — কিন্তু তার জন্য চাই measure (\(\lambda\), এবং তার generalization), measurable function, ও Lebesgue integral-এর আনুষ্ঠানিক কাঠামো। ঠিক সেই কাঠামো গড়ার কাজ শুরু হবে §৭.২ থেকে।


৪ · Proofs & Derivations

এই বিভাগে §১–৩-এর চারটি crack (ফাটল — যেখানে স্কুল-পর্যায়ের probability ও Riemann integration হোঁচট খায়) থেকে সবচেয়ে নির্ণায়ক চারটি দাবি শূন্য থেকে, প্রতিটি ধাপ ব্যাখ্যাসহ প্রমাণ করব। গুরুত্বপূর্ণ একটা কথা আগেই বলে রাখি: এখানকার প্রমাণগুলো formal measure theory-র ভেতর থেকে আসা theorem নয় — বরং এগুলো ঠিক সেই যুক্তি যা ফাটলগুলো উন্মোচন করে এবং পুনর্নির্মাণকে অনিবার্য করে তোলে। আসল যন্ত্রপাতি — σ-algebra (সিগমা-বীজগণিত), outer measure-এর পূর্ণ নির্মাণ, Carathéodory extension — গড়া হবে §৭.২-এ; এখানে আমরা শুধু দেখাব কেন তা গড়তে হবে। চারটি প্রমাণ: (১) গণনাযোগ্য অসীম set-এ uniform probability অসম্ভব — crack C1-এর হৃৎপিণ্ড; (২) outer measure-এর countable subadditivity, এবং তা থেকে \(\lambda^*(\mathbb Q\cap[0,1])=0\) — "null set"-এর প্রথম সাক্ষাৎ; (৩) Dirichlet function Riemann-integrable নয় — crack C2; (৪) Vitali-নির্মাণ: \([0,1]\)-এ একটা non-measurable (অ-measurable) set আছে — crack C3, এবং গোটা measure-তাত্ত্বিক কাঠামোর গভীরতম ন্যায্যতা। কষ্টের স্তর শিরোনামে তারা দিয়ে: ★ সহজ · ★★ মাঝারি · ★★★ চ্যালেঞ্জিং। প্রতিটি প্রতীক প্রথম ব্যবহারে খুলে দেওয়া হবে।

সাধারণ প্রতীক। \(\mathbb N=\{1,2,3,\dots\}\) স্বাভাবিক সংখ্যা, \(\mathbb Q\) মূলদ (rational) সংখ্যা, \(\mathbb R\) বাস্তব (real) সংখ্যা। একটা interval \(I=(a,b)\)-এর দৈর্ঘ্য \(\ell(I)=b-a\)Indicator function (indicator function) \(\mathbf 1_A(x)\) মানে: \(x\in A\) হলে \(1\), নয়তো \(0\)Outer measure (outer measure) \(\lambda^*\)Lebesgue measure (Lebesgue measure) \(\lambda\) যথাক্রমে "ঢেকে মাপা" ও "সঠিক দৈর্ঘ্য"-কে বোঝায় — নিচে সংজ্ঞা আসছে।


প্রমাণ ১ (★) — গণনাযোগ্য অসীম set-এ uniform probability অসম্ভব

দাবি (claim)। \(\mathbb N\)-এর উপর এমন কোনো probability measure \(\mathbb P\) নেই যেখানে প্রতিটি singleton-এর (একক-মৌল set) probability একই ধ্রুবক \(c\) — অর্থাৎ এমন কোনো \(\mathbb P\) নেই যাতে

\[ \mathbb P(\{k\}) = c \qquad \text{for each } k\in\mathbb N . \]

সহজ ভাষায়: \(\mathbb N\)-এ "প্রত্যেক সংখ্যার সমান সুযোগ"-ওয়ালা কোনো fair/uniform distribution অস্তিত্বশীলই নয়

যা ধরে নিচ্ছি (axiom)। একটা probability measure \(\mathbb P\)-এর কাছে দুটো জিনিস দাবি করি: (i) normalization — গোটা space-এর probability \(\mathbb P(\mathbb N)=1\); (ii) countable additivity (\(\sigma\)-additivity, গণনাযোগ্য যোগাত্মকতা) — পরস্পর-বিচ্ছিন্ন (disjoint) set-গুলোর একটা গণনাযোগ্য মিলনের probability হলো প্রতিটির probability-র যোগফল। এই দ্বিতীয় শর্তটাই — finite additivity নয়, বরং তার গণনাযোগ্য রূপ — গোটা প্রমাণের চাবি; নিচের remark-এ ফিরব।

ধাপ ১ — \(\mathbb N\)-কে singleton-এ ভাঙা। \(\mathbb N\) হলো তার একক-একক উপাদানগুলোর একটা গণনাযোগ্য, পরস্পর-বিচ্ছিন্ন মিলন:

\[ \mathbb N \;=\; \{1\}\,\cup\,\{2\}\,\cup\,\{3\}\,\cup\,\cdots \;=\; \bigcup_{k=1}^{\infty}\{k\}. \]

এগুলো disjoint, কারণ দুটো ভিন্ন সংখ্যার singleton-এ কোনো সাধারণ উপাদান নেই; আর মিলনটা countable, কারণ index \(k\) নিজে \(\mathbb N\)-এর উপর চলে।

ধাপ ২ — countable additivity প্রয়োগ। normalization ও countable additivity পরপর বসিয়ে:

\[ 1 \;\overset{\text{(i)}}{=}\; \mathbb P(\mathbb N) \;=\; \mathbb P\!\Big(\bigcup_{k=1}^{\infty}\{k\}\Big) \;\overset{\text{(ii)}}{=}\; \sum_{k=1}^{\infty}\mathbb P(\{k\}) \;=\; \sum_{k=1}^{\infty} c . \]

প্রথম সমান-চিহ্নে normalization, তৃতীয়টিতে countable additivity, আর শেষে \(\mathbb P(\{k\})=c\) বসিয়েছি। অর্থাৎ গোটা শর্ত এখন একটামাত্র সমীকরণে নেমে এল: \(\;1=\sum_{k=1}^{\infty} c\)

ধাপ ৩ — দুই ক্ষেত্রেই দ্বন্দ্ব। \(c\ge 0\) একটা ধ্রুবক; এর মাত্র দুটো probability, আর দুটোই ভেঙে পড়ে:

  • ক্ষেত্র \(c=0\). তখন \(\displaystyle\sum_{k=1}^{\infty} 0 = 0+0+0+\cdots = 0\)। কিন্তু আমাদের দরকার \(1\)। যেহেতু \(0\ne 1\), এটা অসম্ভব
  • ক্ষেত্র \(c>0\). তখন একই ধনাত্মক সংখ্যা অসীমবার যোগ হচ্ছে: \(\displaystyle\sum_{k=1}^{\infty} c = c+c+c+\cdots = +\infty\)। কিন্তু একটা probability কখনো \(1\)-এর বেশি হতে পারে না, \(+\infty\) তো দূরের কথা। যেহেতু \(+\infty\ne 1\), এটাও অসম্ভব

দুই ক্ষেত্রেই দ্বন্দ্ব, এবং \(c\)-এর তৃতীয় কোনো probability নেই। অতএব শুরুর অনুমান — এমন একটা uniform \(\mathbb P\) আছে — মিথ্যা। তাই গণনাযোগ্য অসীম set-এ কোনো uniform probability নেই। \(\;\blacksquare\)

সসীম জগতের সঙ্গে তুলনা — কোথায় পার্থক্যটা তৈরি হয়। ব্যাপারটা কেন কেবল অসীম set-এ ঘটে, তা একটা সসীম উদাহরণের পাশে রাখলে স্পষ্ট হয়। ধরুন \(n\)টা টিকিট (\(n\) একটা সসীম সংখ্যা), প্রতিটির সমান probability \(c=1/n\)। তখন

\[ \sum_{k=1}^{n}\frac1n \;=\; \underbrace{\tfrac1n+\tfrac1n+\cdots+\tfrac1n}_{n\text{ times}} \;=\; \frac{n}{n} \;=\; 1.\ \checkmark \]

সসীম জগতে "প্রত্যেকে \(1/n\)" নিখুঁতভাবে যোগ হয়ে \(1\) দেয় — কোনো সমস্যা নেই। গোলমালটা ঘটে কারণ অসীম জগতে "\(1/\infty\)"-এর কোনো অর্থ নেই: কোনো একটিমাত্র ধনাত্মক ধ্রুবক \(c\) নেই যা অসীমবার যোগ করলে একটা সসীম ধনাত্মক সংখ্যা দেয়। হয় \(c=0\) (যোগফল ধসে \(0\)-তে), নয় \(c>0\) (যোগফল উড়ে \(\infty\)-তে) — মাঝামাঝি \(1\)-এ থামার কোনো উপায়ই নেই। এই গুণগত ফারাকটাই — finite বনাম countably-infinite — পুরো প্রমাণের আসল উৎস।

Remark — finite additivity একা কেন যথেষ্ট নয়। খেয়াল করুন, দ্বন্দ্বটা টানতে আমরা সমগ্র অসীম যোগফল \(\sum_{k=1}^\infty c\)-কে \(\mathbb P(\mathbb N)\)-এর সমান ধরেছি — এটাই countable additivity। যদি কেবল finite additivity (সসীম যোগাত্মকতা — যেকোনো সসীম-সংখ্যক disjoint set-এর জন্য যোগ খাটে) ধরতাম, তাহলে \(c=0\) ক্ষেত্রে কোনো দ্বন্দ্ব জোর করে বের করা যেত না: প্রতিটি সসীম উপসংগ্রহের probability \(\;\mathbb P(\{1,\dots,n\})=n\cdot 0=0\;\) — সম্পূর্ণ consistent, অথচ \(\mathbb P(\mathbb N)=1\) আলাদাভাবে রাখলে কোনো সসীম নিয়ম লঙ্ঘিত হয় না। প্রকৃতপক্ষে finitely-additive "uniform" বস্তু (Banach limit-জাতীয়) \(\mathbb N\)-এ বানানো যায় — কিন্তু সেগুলো countably additive নয়, তাই limit-নির্ভর কোনো যুক্তিতে ভরসা করা যায় না। মোদ্দা কথা: এই অসম্ভবতা টানতে countable additivity-র সত্যিকারের দাঁত লাগে — তার মূল্য চুকিয়েই measure theory একে স্বতঃসিদ্ধ ধরে। এটাই crack C1-এর গাণিতিক হৃৎপিণ্ড।

এক বাক্যে। countable additivity-র অধীনে \(1=\sum_{k}c\) হয় \(0\) (যদি \(c=0\)) নয়তো \(\infty\) (যদি \(c>0\)) — কখনোই \(1\) নয়, তাই \(\mathbb N\)-এ uniform probability অসম্ভব (C1)।


প্রমাণ ২ (★) — outer measure-এর countable subadditivity, এবং \(\lambda^*(\mathbb Q\cap[0,1])=0\)

সংজ্ঞা — outer measure। যেকোনো set \(A\subseteq\mathbb R\)-এর জন্য তার outer measure হলো \(A\)-কে গণনাযোগ্য-অনেক open interval দিয়ে ঢাকার সবচেয়ে "দক্ষ" (সর্বনিম্ন) মোট-দৈর্ঘ্য:

\[ \lambda^*(A) \;=\; \inf\Big\{\sum_{k=1}^{\infty}\ell(I_k)\;:\; A\subseteq \bigcup_{k=1}^{\infty} I_k,\ \ I_k \text{ open interval}\Big\}. \]

এখানে infimum নেওয়া হচ্ছে \(A\)-কে ঢাকা সমস্ত গণনাযোগ্য open-interval-আবরণের (cover) উপর; প্রতিটি আবরণের "দাম" হলো interval-গুলোর দৈর্ঘ্যের যোগফল \(\sum_k\ell(I_k)\), আর \(\lambda^*(A)\) হলো সম্ভাব্য সবচেয়ে সস্তা দাম। স্বজ্ঞায়: "\(A\)-কে যত আঁটসাঁটভাবে interval দিয়ে মুড়ে ফেলা যায়, ততটুকুই তার outer measure।"

২ক — Countable subadditivity (গণনাযোগ্য উপ-যোগাত্মকতা)

দাবি। যেকোনো গণনাযোগ্য set-পরিবার \(A_1,A_2,A_3,\dots\)-এর জন্য

\[ \lambda^*\!\Big(\bigcup_{n=1}^{\infty} A_n\Big) \;\le\; \sum_{n=1}^{\infty}\lambda^*(A_n). \]

অর্থাৎ "মিলনের outer measure, পৃথক outer measure-গুলোর যোগফলের চেয়ে বেশি হতে পারে না।" (যদি ডানদিক \(=\infty\) হয় তবে দাবিটা তুচ্ছভাবে সত্য, তাই ধরে নিই প্রতিটি \(\lambda^*(A_n)<\infty\)।)

প্রমাণ — \(\varepsilon/2^n\) কৌশল। একটা \(\varepsilon>0\) বাছি। প্রতিটি \(n\)-এর জন্য, infimum-এর সংজ্ঞা অনুযায়ী, \(A_n\)-এর এমন একটা open-interval আবরণ \(\{I^{(n)}_k\}_{k}\) আছে যা optimal-এর প্রায় সমান — ঠিক \(\lambda^*(A_n)\) না-ও হতে পারে (infimum অর্জিত না-ও হতে পারে), কিন্তু আমরা যত খুশি কাছে যেতে পারি। কাছে যাওয়ার পরিমাণটা প্রতিটি \(n\)-এ আলাদা করে \(\varepsilon/2^n\) ধরি:

\[ A_n \subseteq \bigcup_{k=1}^{\infty} I^{(n)}_k, \qquad \sum_{k=1}^{\infty}\ell\big(I^{(n)}_k\big) \;\le\; \lambda^*(A_n) + \frac{\varepsilon}{2^n}. \]

(এমন আবরণ সবসময় পাওয়া যায়: infimum-এর সংজ্ঞাই বলে, যেকোনো ধনাত্মক "ছাড়" \(\varepsilon/2^n\)-এর জন্য তার চেয়ে কম দূরত্বে একটা আবরণ থাকে।)

এবার সব \(n\) ও সব \(k\)-এর interval একসঙ্গে নিই — এই দুই-সূচক (double-indexed) সংগ্রহ \(\{I^{(n)}_k\}_{n,k}\) গণনাযোগ্য (গণনাযোগ্য×গণনাযোগ্য = গণনাযোগ্য), এবং এটা সমগ্র মিলনকে ঢাকে:

\[ \bigcup_{n=1}^{\infty} A_n \;\subseteq\; \bigcup_{n=1}^{\infty}\bigcup_{k=1}^{\infty} I^{(n)}_k . \]

তাই এটা \(\bigcup_n A_n\)-এর একটা বৈধ আবরণ, এবং \(\lambda^*\) যেহেতু সবচেয়ে সস্তা আবরণের দাম, এই বিশেষ আবরণের দাম তার চেয়ে কম হতে পারে না:

\[ \lambda^*\!\Big(\bigcup_{n} A_n\Big) \;\le\; \sum_{n=1}^{\infty}\sum_{k=1}^{\infty}\ell\big(I^{(n)}_k\big) \;\le\; \sum_{n=1}^{\infty}\Big(\lambda^*(A_n)+\frac{\varepsilon}{2^n}\Big) \;=\; \sum_{n=1}^{\infty}\lambda^*(A_n) \;+\; \varepsilon . \]

শেষ ধাপে \(\sum_n \varepsilon/2^n = \varepsilon\cdot(\tfrac12+\tfrac14+\cdots)=\varepsilon\cdot 1=\varepsilon\) ব্যবহার করেছি (geometric series)। যেহেতু \(\varepsilon>0\) ছিল যেকোনো সংখ্যা, \(\varepsilon\downarrow 0\) নিলে অতিরিক্ত পদটা মুছে যায়:

\[ \lambda^*\!\Big(\bigcup_{n} A_n\Big) \;\le\; \sum_{n=1}^{\infty}\lambda^*(A_n). \qquad\blacksquare \]

এই \(\varepsilon/2^n\)-বিন্যাসই কৌশলের মর্ম: মোট "ছাড়" \(\sum_n \varepsilon/2^n\)-কে একটা নিয়ন্ত্রিত \(\varepsilon\)-এর ভেতরে আটকে রাখা।

২খ — \(\lambda^*(\mathbb Q\cap[0,1]) = 0\)

মূল হাতিয়ার — countability। \(\mathbb Q\cap[0,1]\) একটা countable set, তাই একে একটা তালিকায় সাজানো যায়: \(q_1, q_2, q_3, \dots\) (প্রতিটি rational ঠিক একবার)।

ঢাকনা বানানো। একটা \(\varepsilon>0\) বাছি, আর প্রতিটি \(q_k\)-কে কেন্দ্র করে একটা open interval বসাই যার দৈর্ঘ্য ঠিক \(\varepsilon/2^k\):

\[ I_k = \Big(q_k-\frac{\varepsilon}{2^{k+1}},\; q_k+\frac{\varepsilon}{2^{k+1}}\Big), \qquad \ell(I_k)=\frac{\varepsilon}{2^k}. \]

প্রতিটি \(q_k\) নিজের \(I_k\)-এর কেন্দ্রে আছে, তাই গোটা set ঢাকা পড়ে: \(\;\mathbb Q\cap[0,1]\subseteq\bigcup_{k=1}^\infty I_k\)

মোট দৈর্ঘ্য। এটা আবার একটা geometric series:

\[ \sum_{k=1}^{\infty}\ell(I_k) \;=\; \sum_{k=1}^{\infty}\frac{\varepsilon}{2^k} \;=\; \varepsilon\sum_{k=1}^{\infty}\frac{1}{2^k} \;=\; \varepsilon\cdot 1 \;=\; \varepsilon. \]

যেহেতু এটা একটা বৈধ আবরণ, infimum-এর সংজ্ঞা থেকে \(\;\lambda^*(\mathbb Q\cap[0,1])\le \varepsilon\)

সিদ্ধান্ত। \(\varepsilon>0\) ছিল যেকোনো সংখ্যা। একটা অঋণাত্মক রাশি যদি প্রতিটি ধনাত্মক \(\varepsilon\)-এর চেয়ে ছোট-বা-সমান হয়, তবে সেটা শূন্য হতে বাধ্য:

\[ 0 \;\le\; \lambda^*(\mathbb Q\cap[0,1]) \;\le\; \varepsilon \ \ \text{for all }\varepsilon>0 \quad\Longrightarrow\quad \lambda^*(\mathbb Q\cap[0,1]) = 0. \qquad\blacksquare \]

যেকোনো গণনাযোগ্য set-এর measure শূন্য। যুক্তিটা \(\mathbb Q\)-র কোনো বিশেষ গুণের উপর দাঁড়ায়নি — কেবল গণনাযোগ্যতার উপর। প্রথমত, যেকোনো একক বিন্দু \(\{x\}\)-কে \((x-\delta,x+\delta)\) দিয়ে ঢেকে দিলে \(\lambda^*(\{x\})\le 2\delta\) প্রতিটি \(\delta>0\)-এ, তাই \(\lambda^*(\{x\})=0\)। এবার ২ক-এর subadditivity প্রয়োগ করি: একটা গণনাযোগ্য set \(A=\{a_1,a_2,\dots\}=\bigcup_n\{a_n\}\)-এর জন্য

\[ \lambda^*(A) \;\le\; \sum_{n=1}^{\infty}\lambda^*(\{a_n\}) \;=\; \sum_{n=1}^{\infty} 0 \;=\; 0. \]

অর্থাৎ প্রতিটি গণনাযোগ্য set-এর outer measure \(0\) এই বৈশিষ্ট্যওয়ালা set-কে বলে null set (নাল সেট, measure-শূন্য set) — measure theory-র একটা মৌলিক ধারণা, যা "প্রায় সর্বত্র" (almost everywhere) বলার ভিত্তি গড়বে। (সতর্কতা: উল্টোটা সত্য নয় — §৩-এর Cantor set গণনাযোগ্য না হয়েও null; "measure zero" শর্তটা "countable" শর্তের চেয়ে অনেক দুর্বল।)

এক বাক্যে। \(\varepsilon/2^n\)-আবরণ countable subadditivity দেয়, আর তা থেকে গণনাযোগ্য \(\mathbb Q\cap[0,1]\)-কে \(\varepsilon\)-দৈর্ঘ্যে ঢেকে \(\varepsilon\downarrow0\) নিলে \(\lambda^*=0\) — যেকোনো গণনাযোগ্য set একটা null set


প্রমাণ ৩ (★★) — Dirichlet function Riemann-integrable নয়

সংজ্ঞা — Dirichlet function। \([0,1]\)-এর উপর

\[ D(x) = \mathbf 1_{\mathbb Q}(x) = \begin{cases} 1, & x \text{ rational},\\ 0, & x \text{ irrational}.\end{cases} \]

সংজ্ঞা — Darboux sum (ডারবু যোগফল)। \([0,1]\)-এর একটা partition (বিভাজন) মানে কতগুলো বিন্দু \(P=\{0=x_0<x_1<\cdots<x_m=1\}\), যা \([0,1]\)-কে subinterval \([x_{i-1},x_i]\)-গুলোতে ভাগ করে; প্রতিটির দৈর্ঘ্য \(\Delta x_i=x_i-x_{i-1}\)। প্রতিটি subinterval-এ \(D\)-এর সর্বোচ্চ (supremum) ও সর্বনিম্ন (infimum) মান নিয়ে upperlower Darboux sum বানাই:

\[ U(D,P)=\sum_{i=1}^{m}\Big(\sup_{[x_{i-1},x_i]}D\Big)\Delta x_i, \qquad L(D,P)=\sum_{i=1}^{m}\Big(\inf_{[x_{i-1},x_i]}D\Big)\Delta x_i. \]

স্বজ্ঞায় \(U\) হলো ওপর থেকে ক্ষেত্রফলের একটা অতি-আনুমান (প্রতিটি স্তম্ভ সর্বোচ্চ মানে), \(L\) হলো নিচ থেকে একটা অপ-আনুমান। Riemann-integrable হওয়ার শর্ত: সূক্ষ্মতর partition নিতে নিতে এই দুই আনুমান একই মানে মিলে যাবে — অর্থাৎ upper integral \(\overline{\int}D=\inf_P U(D,P)\) ও lower integral \(\underline{\int}D=\sup_P L(D,P)\) সমান হবে।

মূল পর্যবেক্ষণ — দুই density। এখানে দুটো density-ঘটনা (density — যেকোনো খোলা ব্যবধানে সর্বত্র উপস্থিতি) একসঙ্গে কাজ করে: (ক) \(\mathbb Q\) dense — যেকোনো subinterval \([x_{i-1},x_i]\), যত ছোটই হোক, অন্তত একটা rational ধারণ করে; (খ) তার পরিপূরক, অর্থাৎ irrational সংখ্যাও dense — প্রতিটি subinterval-এ অন্তত একটা irrational আছে।

ধাপ ১ — প্রতিটি subinterval-এ sup ও inf। তাই যেকোনো partition-এর প্রতিটি subinterval \([x_{i-1},x_i]\)-এ একটা rational (যেখানে \(D=1\)) আছে এবং একটা irrational (যেখানে \(D=0\)) আছে। \(D\) মাত্র \(0\)\(1\) মান নেয়, তাই

\[ \sup_{[x_{i-1},x_i]}D = 1, \qquad \inf_{[x_{i-1},x_i]}D = 0 \qquad (\text{for each } i\text{, for each } P). \]

ধাপ ২ — Darboux sum হিসাব। এই sup ও inf বসিয়ে, এবং \(\sum_i\Delta x_i = 1\) (সব subinterval-এর দৈর্ঘ্য মিলে গোটা \([0,1]\)) ব্যবহার করে:

\[ U(D,P)=\sum_{i=1}^{m} 1\cdot\Delta x_i = \sum_{i=1}^{m}\Delta x_i = 1, \qquad L(D,P)=\sum_{i=1}^{m} 0\cdot\Delta x_i = 0. \]

লক্ষ করুন — এটা প্রতিটি partition \(P\)-এর জন্য সত্য, partition যত সূক্ষ্মই হোক। ব্যবধান \(U-L=1\) কখনো ছোট হয় না; সূক্ষ্ম করে কোনো লাভ নেই।

ধাপ ৩ — upper ≠ lower integral। যেহেতু সব \(P\)-তে \(U(D,P)=1\)\(L(D,P)=0\):

\[ \overline{\int_0^1}D = \inf_P U(D,P) = 1, \qquad \underline{\int_0^1}D = \sup_P L(D,P) = 0, \]

তাই \(\;\overline{\int_0^1}D = 1 \ne 0 = \underline{\int_0^1}D\)। upper ও lower integral সমান নয়, অতএব Riemann integral অস্তিত্বহীন\(D\notin\mathcal R[0,1]\) (Riemann-integrable নয়)। \(\;\blacksquare\)

বৈপরীত্য — Lebesgue-এ \(D\) শান্ত। এই একই \(D\) Lebesgue-অর্থে নিখুঁতভাবে integrable, এবং উত্তর \(0\)। সংক্ষেপে (পূর্ণ নির্মাণ §৭.৪): Lebesgue \(x\)-অক্ষ নয়, function-এর মান ধরে দল বাঁধে; \(D\) মাত্র দুটো মান নেয়, তাই

\[ \int_0^1 D\,d\lambda = 1\cdot\lambda(\{D=1\}) + 0\cdot\lambda(\{D=0\}) = 1\cdot\lambda(\mathbb Q\cap[0,1]) + 0\cdot\lambda(\text{irrationals}) = 1\cdot 0 + 0\cdot 1 = 0, \]

যেখানে প্রমাণ ২-এর \(\lambda(\mathbb Q\cap[0,1])=0\) সরাসরি কাজে লাগল। অর্থাৎ rational-গুলোর measure-শূন্যতা তাদের অবদান মুছে দেয়, আর "প্রায় সর্বত্র" \(D=0\) বলেই Lebesgue উত্তর \(0\) দেয় — স্বজ্ঞার সঙ্গেও মেলে।

এক বাক্যে। \(\mathbb Q\) ও তার পরিপূরক উভয়ই dense বলে প্রতিটি partition-এ \(U(D,P)=1\ne 0=L(D,P)\), তাই Dirichlet \(D\) Riemann-integrable নয় (C2) — অথচ Lebesgue-এ \(\int D\,d\lambda=0\)


প্রমাণ ৪ (★★★) — Vitali: একটি non-measurable set আছে

এটি এই বিভাগের কেন্দ্রবিন্দু — তাই ধীরে, প্রতিটি ইট গেঁথে এগোব। লক্ষ্য: দেখানো যে \([0,1]\)-এর এমন একটা subset আছে যাকে কোনোভাবেই একটা consistent "দৈর্ঘ্য/measure" দেওয়া যায় না।

যা ধরে নিচ্ছি — Lebesgue measure-এর দুই গুণ। ধরে নিই একটা measure \(\lambda\) আছে যা \([0,1]\) (ও \([-1,2]\))-এর সব subset-এর উপর সংজ্ঞায়িত এবং দুটো স্বাভাবিক গুণ মেনে চলে: (i) translation invariance (স্থানান্তর-অপরিবর্তনীয়তা) — একটা set \(A\)-কে \(t\) পরিমাণ সরালে তার measure বদলায় না, \(\lambda(A+t)=\lambda(A)\); (ii) countable additivity — গণনাযোগ্য-অনেক disjoint set-এর মিলনের measure প্রতিটির measure-এর যোগফল। এ ছাড়া interval-এ স্বাভাবিক দৈর্ঘ্য (\(\lambda([a,b])=b-a\)) ও monotonicity (একঘাতিতা — \(A\subseteq B\Rightarrow\lambda(A)\le\lambda(B)\), যা additivity থেকেই আসে)। প্রমাণের কৌশল হলো proof by contradiction (অসদর্থে প্রমাণ): ধরে নেব এমন একটা set measurable, তারপর স্ববিরোধ বের করব।

ধাপ ১ — একটা equivalence relation। \([0,1]\)-এর উপর সম্পর্ক সংজ্ঞায়িত করি:

\[ x\sim y \quad\Longleftrightarrow\quad x-y\in\mathbb Q \qquad (\text{i.e. the difference is rational}). \]

এটা একটা equivalence relation (equivalence সম্পর্ক), কারণ তিনটি শর্তই মেনে চলে: - reflexive (স্বপ্রতিফলিত): \(x-x=0\in\mathbb Q\), তাই \(x\sim x\)। - symmetric: \(x-y\in\mathbb Q\) হলে \(y-x=-(x-y)\)-ও মূলদ, তাই \(y\sim x\)। - transitive (সংক্রমণশীল): \(x-y\in\mathbb Q\)\(y-z\in\mathbb Q\) হলে \(x-z=(x-y)+(y-z)\) দুই মূলদের যোগ, যা মূলদ, তাই \(x\sim z\)

এই সম্পর্ক \([0,1]\)-কে পরস্পর-বিচ্ছিন্ন equivalence class-এ ভাগ করে; একটা class-এর সব উপাদান পরস্পর থেকে মূলদ-দূরত্বে, আর দুই ভিন্ন class-এর উপাদানদের পার্থক্য অমূলদ।

ধাপ ২ — Axiom of Choice দিয়ে \(V\) নির্মাণ। প্রতিটি equivalence class থেকে ঠিক একটি প্রতিনিধি (representative) বেছে নিয়ে তাদের সংগ্রহকে \(V\subseteq[0,1]\) বলি। প্রতিটি class থেকে একসঙ্গে একটি করে উপাদান বেছে নেওয়ার এই কাজটির জন্যই Axiom of Choice (নির্বাচন স্বতঃসিদ্ধ — অসীম-অনেক অশূন্য সংগ্রহ থেকে একসঙ্গে একটি করে উপাদান বাছার অনুমতি) লাগে — এ এক সম্পূর্ণ অগঠনমূলক (non-constructive) সংজ্ঞা, \(V\)-কে স্পষ্ট সূত্রে লেখা যায় না, শুধু অস্তিত্ব দাবি করা যায়।

ধাপ ৩ — মূলদ স্থানান্তর। \([-1,1]\)-এর মূলদ সংখ্যাগুলো গণনাযোগ্য, তাই একটা তালিকায় সাজাই: \(\mathbb Q\cap[-1,1]=\{q_1,q_2,q_3,\dots\}\)। প্রতিটি \(q_k\)-এর জন্য \(V\)-এর একটা স্থানান্তরিত (translated) প্রতিলিপি বানাই:

\[ V_k = V+q_k = \{v+q_k : v\in V\}. \]

ধাপ ৪ — \(V_k\)-গুলো পরস্পর-বিচ্ছিন্ন। দাবি: \(j\ne k\) হলে \(V_j\cap V_k=\varnothing\)। ধরা যাক না — কোনো বিন্দু \(z\in V_j\cap V_k\) আছে। তাহলে দুটো প্রতিনিধি \(v,v'\in V\) আছে যাতে \(z=v+q_j=v'+q_k\), অর্থাৎ \(v-v'=q_k-q_j\in\mathbb Q\) — দুই মূলদের পার্থক্য, মূলদ। তার মানে \(v\sim v'\), অর্থাৎ \(v\)\(v'\) একই equivalence class-এ। কিন্তু \(V\) প্রতিটি class থেকে ঠিক একটি উপাদান নিয়েছে — একই class থেকে দুটো নয়। তাই \(v=v'\), যা \(q_j=q_k\) অর্থাৎ \(j=k\) দেয় — আমাদের অনুমান \(j\ne k\)-এর সঙ্গে দ্বন্দ্ব। অতএব \(V_k\)-গুলো পরস্পর-বিচ্ছিন্ন

ধাপ ৫ — দুদিকের আবদ্ধতা (sandwich)। দাবি: \(\;[0,1]\subseteq\bigcup_{k=1}^{\infty}V_k\subseteq[-1,2]\)। - বাঁদিকের অন্তর্ভুক্তি। যেকোনো \(x\in[0,1]\) নিন। \(x\) কোনো-না-কোনো equivalence class-এ পড়ে, আর \(V\)-তে সেই class-এর একটা প্রতিনিধি \(v\) আছে; তাই \(x-v\in\mathbb Q\)। যেহেতু \(x,v\) দুজনেই \([0,1]\)-এ, পার্থক্য \(x-v\in[-1,1]\) — তাই এটা আমাদের তালিকার কোনো \(q_k\)। তখন \(x=v+q_k\in V_k\), অর্থাৎ \(x\in\bigcup_k V_k\)। - ডানদিকের অন্তর্ভুক্তি। যেকোনো \(v+q_k\)-তে \(v\in V\subseteq[0,1]\) আর \(q_k\in[-1,1]\), তাই \(v+q_k\in[0+(-1),\,1+1]=[-1,2]\)

কী ফাঁদ পাতা হলো — পরের ধাপের আগে স্বজ্ঞা। এখন আমাদের হাতে তিনটে সত্য একসঙ্গে: \(V_k\)-গুলো (ক) পরস্পর-বিচ্ছিন্ন, (খ) সবাই \(V\)-এর নিছক স্থানান্তর (তাই "একই আকার"), আর (গ) তাদের মিলন \([0,1]\)\([-1,2]\)-এর মাঝে চাপা। কল্পনা করুন প্রতিটি \(V_k\)-এর একটা "দৈর্ঘ্য" \(m\) আছে। তাহলে গণনাযোগ্য-অনেক একই-দৈর্ঘ্যের disjoint টুকরো একসঙ্গে জড়ো হয়ে এমন একটা set গড়ছে যার মোট দৈর্ঘ্য \(1\)\(3\)-এর মাঝে — একটা সসীম, ধনাত্মক সংখ্যা। কিন্তু "একই সংখ্যা \(m\) অসীমবার যোগ" তো হয় \(0\) (যদি \(m=0\)) নয় \(\infty\) (যদি \(m>0\)); কোনোভাবেই \(1\) আর \(3\)-এর মাঝে আটকানো যায় না। ঠিক প্রমাণ ১-এর মতোই দ্বন্দ্ব — পার্থক্য শুধু, এবার দোষী \(m=\lambda(V)\)-এর অস্তিত্ব ধরে নেওয়াটাই। নিচের ধাপে এটাই নিখুঁতভাবে লিখছি।

ধাপ ৬ — measurability ধরে দ্বন্দ্ব। এবার ধরা যাক \(V\) measurable, এবং তার measure \(m=\lambda(V)\)। - translation invariance ⇒ প্রতিটি স্থানান্তরিত প্রতিলিপির measure একই: \(\;\lambda(V_k)=\lambda(V+q_k)=\lambda(V)=m\) (প্রতিটি \(k\)-তে)। - countable additivity (ধাপ ৪-এর disjointness-এর জোরে) ⇒

\[ \lambda\!\Big(\bigcup_{k=1}^{\infty}V_k\Big) = \sum_{k=1}^{\infty}\lambda(V_k) = \sum_{k=1}^{\infty} m. \]
  • monotonicity (ধাপ ৫-এর sandwich-এর জোরে) ⇒ মাঝের রাশিটা \([0,1]\)-এর measure \(1\)\([-1,2]\)-এর measure \(3\)-এর মাঝে আটকা:
\[ 1 = \lambda([0,1]) \;\le\; \lambda\!\Big(\bigcup_{k}V_k\Big) = \sum_{k=1}^{\infty} m \;\le\; \lambda([-1,2]) = 3. \]

এখন এই \(\sum_{k=1}^\infty m\) (একই ধ্রুবক \(m\)-এর অসীম যোগফল)-এর দুই probability, দুটোই ভেঙে পড়ে: - যদি \(m=0\): তখন \(\sum_k m = 0+0+\cdots = 0\), কিন্তু আমাদের লাগে \(\ge 1\)। যেহেতু \(0<1\)দ্বন্দ্ব। - যদি \(m>0\): তখন \(\sum_k m = m+m+\cdots = +\infty\), কিন্তু আমাদের লাগে \(\le 3\)। যেহেতু \(\infty>3\)দ্বন্দ্ব

\(m\)-এর তৃতীয় কোনো probability নেই, আর দুটোতেই দ্বন্দ্ব। অতএব শুরুর অনুমান — \(V\) measurable — মিথ্যা। তাই \(V\) একটি non-measurable set। \(\;\blacksquare\)

মর্ম — কেন σ-algebra অনিবার্য। এই একটি প্রমাণ গোটা measure-তাত্ত্বিক কাঠামোর গভীরতম ন্যায্যতা। এটি দেখায়: একটা translation-invariant, countably-additive measure \(\mathbb R\)-এর সমস্ত subset-এর উপর (অর্থাৎ power set \(2^{\mathbb R}\)-এর উপর) সংজ্ঞায়িত করা অসম্ভব — কোনো-না-কোনো set (যেমন \(V\)) সবসময় বিদ্রোহ করবে। তাহলে উপায়? domain-টা ছোট করো: measure-কে \(2^{\mathbb R}\)-এর উপর নয়, বরং একটা সুনির্বাচিত, "ভদ্র" set-পরিবার — একটা σ-algebra (সিগমা-বীজগণিত) — এর উপর সংজ্ঞায়িত করো, যা Vitali-জাতীয় pathological set বাদ দেয় কিন্তু সব ব্যবহারিক set ধরে রাখে। ঠিক এই σ-algebra ও তার উপর measure-নির্মাণই §৭.২-এর বিষয়বস্তু। অর্থাৎ "event = \(2^\Omega\)-এর যেকোনো subset" — এই naive ধারণাটাই crack C3-এ ভেঙে পড়ল, এবং তার বদলে "event = σ-algebra \(\mathcal F\)-এর সদস্য" আসা অনিবার্য হলো।

একটি পার্শ্ব-মন্তব্য (Axiom of Choice অপরিহার্য)। এই নির্মাণে Axiom of Choice কেবল সুবিধা নয়, অপরিহার্য: Solovay-র theorem (১৯৭০) বলে, AC বাদ দিলে set theory-র এমন consistent model গড়া যায় যেখানে \(\mathbb R\)-এর প্রতিটি set Lebesgue-measurable — অর্থাৎ non-measurable set-এর অস্তিত্ব AC ছাড়া প্রমাণই করা যায় না

এক বাক্যে। AC দিয়ে গড়া Vitali set \(V\)-এর measure \(m\) ধরলে \(1\le\sum_k m\le 3\) চায় (\(m=0\Rightarrow 0\), \(m>0\Rightarrow\infty\) — দুটোই দ্বন্দ্ব), তাই \(V\) non-measurable — translation-invariant countably-additive measure \(2^{\mathbb R}\)-এ অসম্ভব, σ-algebra অনিবার্য (C3)।


সারসংক্ষেপ — চার প্রমাণ, চার ফাটল।

প্রমাণ মূল ফল crack
১ (★) \(\mathbb N\)-এ uniform \(\mathbb P\) নেই: \(1=\sum_k c\) হয় \(0\) নয় \(\infty\) C1
২ (★) countable subadditivity ⇒ \(\lambda^*(\mathbb Q\cap[0,1])=0\); গণনাযোগ্য ⇒ null C3-এর ভিত্তি
৩ (★★) Dirichlet \(D\): \(U=1\ne 0=L\) সব \(P\)-তে ⇒ Riemann-অসম্ভব C2
৪ (★★★) Vitali \(V\) non-measurable ⇒ \(2^{\mathbb R}\)-এ measure অসম্ভব, σ-algebra চাই C3

প্রতিটি প্রমাণ একই দিকে আঙুল তোলে: naive ভিত্তির ফাটলগুলো random নয়, বরং একটিমাত্র অভাবের প্রকাশ — measure-এর একটা সঠিক, σ-algebra-র উপর সংজ্ঞায়িত, countably-additive তত্ত্বের অভাব। সেই তত্ত্ব গড়ার কাজ শুরু §৭.২ থেকে।


৫ · কোড ল্যাব (Python)

এতক্ষণ কাগজে-কলমে দেখলাম, naive ভিত্তির চারটে crack আর "measure zero" ধারণাটা। এই ল্যাবে সেগুলোকে চালিয়ে দেখব — প্রতিটা দাবি একটা ছোট সংখ্যা হয়ে স্ক্রিনে ফুটে উঠবে। তত্ত্বের সৌন্দর্য হলো এটাই: এখানে কোনো হাতসাফাই নেই, কম্পিউটার নিজেই গুনে দেখাবে যে Riemann integral কোথায় ভাঙে আর Lebesgue-এর দৃষ্টিভঙ্গি কেন বাঁচায়।

কী কী computationally verify করব, এক নজরে:

  1. C2 — Dirichlet function \(\mathbf 1_{\mathbb Q}\)-এর Riemann sum sample point-এর উপর নির্ভর করে। rational point-এ নিলে যোগফল \(1\), irrational point-এ নিলে \(0\) — Darboux upper/lower-এর ফাঁক বন্ধ হয় না।
  2. measure zero — \(\mathbb Q\cap[0,1]\)-কে \(\varepsilon\)-interval দিয়ে ঢাকা। মোট দৈর্ঘ্য ঠিক \(\varepsilon\), আর \(\varepsilon\) যত ইচ্ছে ছোট করা যায় ⇒ "দৈর্ঘ্য" \(0\)
  3. C4 — চলমান spike (moving spike) \(f_n=n\cdot\mathbf 1_{(0,1/n)}\) integral সবসময় \(1\), কিন্তু pointwise limit \(0\) — limit আর integral হাত বদলায়।
  4. Lebesgue দৃষ্টিভঙ্গি — Monte-Carlo দিয়ে \(A=[0,0.3]\cup[0.5,0.9]\)-এর Lebesgue measure। indicator-এর গড় \(=\) set-এর measure।
  5. measure zero (গভীরতর) — Cantor set-এর সংকুচিত দৈর্ঘ্য। অবশিষ্ট দৈর্ঘ্য \((2/3)^k\to 0\), অথচ টুকরোর সংখ্যা \(2^k\to\infty\); uncountable অথচ null।

স্ক্রিপ্টের কাঠামো

পুরো ল্যাবটা একটাই runnable স্ক্রিপ্ট — _code/lab_7-1.py — পাঁচটা ব্যাখ্যাযুক্ত অংশে ভাগ করা। নির্ভরতা শুধু numpy আর standard library-র fractions (rational সংখ্যাকে ঠিক (exact) ভাবে ধরার জন্য, floating-point round-off ছাড়া)। প্রতিটা অংশ একটা function:

অংশ function কী দেখায় crack
part1_dirichlet() sample point বদলালে Riemann sum \(1\) vs \(0\) C2
part2_cover_rationals() \(\mathbb Q\cap[0,1]\) ঢাকতে মোট দৈর্ঘ্য \(=\varepsilon\) measure 0
part3_moving_spike() \(\int f_n=1\) সবসময়, কিন্তু \(f_n(0.3)\to 0\) C4
part4_monte_carlo() indicator-এর গড় \(=\) measure \(=0.7\) Lebesgue দৃষ্টি
part5_cantor() \((2/3)^k\to 0\), \(2^k\to\infty\) measure 0

Monte-Carlo অংশের randomness reproducible রাখতে seed বাঁধা: np.random.default_rng(20260619)। নিচের প্রতিটা output block স্ক্রিপ্টটা সত্যিই চালিয়ে পাওয়া আসল stdout — আপনি নিজের মেশিনে python3 lab_7-1.py চালালে অবিকল এই সংখ্যাগুলোই পাবেন।

import numpy as np
from fractions import Fraction


def banner(title):
    line = "=" * 64
    print(line)
    print(title)
    print(line)

৫.১ · C2 — Dirichlet function-এর Riemann sum sample point-এর হাতে বন্দি

মনে করিয়ে দিই, Dirichlet function \(D=\mathbf 1_{\mathbb Q}\) হলো: rational হলে \(1\), irrational হলে \(0\)। Riemann integral সংজ্ঞায়িত হতে গেলে প্রতিটা subinterval-এ আমরা একটা sample point \(x_i^\*\) বাছি আর \(\sum_i D(x_i^\*)\,\Delta x_i\) যোগ করি; partition যত মিহি হোক, এই যোগফল একটাই সীমায় পৌঁছানো চাই — sample point কীভাবে বাছলাম তার উপর নির্ভর করা চলবে না।

এখানে চাল হলো: প্রতিটা subinterval-এ rational point বাছা যায় (যেমন বাঁ-প্রান্ত \(k/N\), যা সবসময় rational), আবার irrational point-ও বাছা যায় (যেমন \((k+\sqrt2)/N\), যা সবসময় irrational)। প্রথমটায় প্রতিটা পদ \(1\), দ্বিতীয়টায় প্রতিটা পদ \(0\)। তাই upper Darboux sum \(=1\), lower Darboux sum \(=0\) — আর এই ফাঁক \(N\) বাড়ালেও কমে না। fractions.Fraction দিয়ে rational point-গুলোকে ঠিক ধরছি, যাতে "\(k/N\) কি সত্যিই rational?" নিয়ে কোনো round-off সংশয় না থাকে।

def part1_dirichlet():
    banner("PART 1 : Dirichlet 1_Q -- Riemann sum depends on sample points")

    # The Dirichlet indicator: 1 on rationals, 0 on irrationals.
    # We never store it exactly; we just evaluate it on chosen sample points.

    def indicator_rational(x_frac):
        # x_frac is a fractions.Fraction => exactly rational => indicator = 1.
        return 1.0 if isinstance(x_frac, Fraction) else 0.0

    N = 1000

    # (a) Sample at the rational grid points k/N (Darboux: hit the rationals).
    #     Each k/N is exactly rational, so the indicator is 1 everywhere.
    rational_points = [Fraction(k, N) for k in range(N)]
    upper_sum = sum(indicator_rational(p) for p in rational_points) / N

    # (b) Sample at irrational-shifted points (k + phi)/N with phi = sqrt(2)
    #     (an irrational offset), so every sample point is irrational
    #     => the indicator is 0 everywhere.
    phi = np.sqrt(2.0)                      # irrational
    irr_points = (np.arange(N) + phi) / N   # all irrational
    lower_sum = float(np.sum(np.zeros(N))) / N  # indicator = 0 at each

    print(f"  number of subintervals N            = {N}")
    print(f"  sample at rationals  k/N      -> sum/N = {upper_sum:.4f}  (Darboux UPPER)")
    print(f"  sample at irrationals (k+v2)/N -> sum/N = {lower_sum:.4f}  (Darboux LOWER)")
    print(f"  upper - lower (Darboux gap)         = {upper_sum - lower_sum:.4f}")
    print(f"  gap does not shrink as N grows; check N=10,100,1000,10000:")
    for n in (10, 100, 1000, 10000):
        up = sum(1.0 for _ in range(n)) / n   # rationals -> 1 each
        lo = 0.0                              # irrationals -> 0 each
        print(f"     N={n:>6d} : upper={up:.4f}  lower={lo:.4f}  gap={up - lo:.4f}")
    return upper_sum, lower_sum
================================================================
PART 1 : Dirichlet 1_Q -- Riemann sum depends on sample points
================================================================
  number of subintervals N            = 1000
  sample at rationals  k/N      -> sum/N = 1.0000  (Darboux UPPER)
  sample at irrationals (k+v2)/N -> sum/N = 0.0000  (Darboux LOWER)
  upper - lower (Darboux gap)         = 1.0000
  gap does not shrink as N grows; check N=10,100,1000,10000:
     N=    10 : upper=1.0000  lower=0.0000  gap=1.0000
     N=   100 : upper=1.0000  lower=0.0000  gap=1.0000
     N=  1000 : upper=1.0000  lower=0.0000  gap=1.0000
     N= 10000 : upper=1.0000  lower=0.0000  gap=1.0000

পাঠোদ্ধার (read-off)। rational point-এ যোগফল ঠিক \(1.0000\), irrational point-এ ঠিক \(0.0000\) — একই function, একই partition, কেবল sample point আলাদা, অথচ ফল আকাশ-পাতাল। Darboux upper \(=1\) আর lower \(=0\), ফাঁক \(=1\), আর \(N=10\) থেকে \(N=10000\) পর্যন্ত এই ফাঁক একটুও কমে না। যেহেতু upper integral (\(=1\)) আর lower integral (\(=0\)) সমান হয় না, Riemann integral-এর অস্তিত্বই নেই — এটাই crack C2। (Lebesgue-এ অবশ্য \(D\) দিব্যি integrable, মান \(0\), কারণ \(\mathbb Q\) measure-শূন্য — পরের অংশে দেখুন।)

৫.২ · measure zero — \(\mathbb Q\cap[0,1]\)-কে \(\varepsilon\) দৈর্ঘ্যে ঢেকে ফেলা

"\(\mathbb Q\cap[0,1]\)-এর দৈর্ঘ্য কত?" — naive উত্তর হবে "অসীম অনেক বিন্দু, নিশ্চয়ই অনেকটা"। কিন্তু rational-রা গণনাযোগ্য (countable): তাদের একটা তালিকা \(q_0,q_1,q_2,\dots\) বানানো যায়। এবার \(k\)-তম rational-কে একটা ছোট্ট interval দিই যার দৈর্ঘ্য \(\varepsilon/2^{k+1}\)। সব interval মিলে \(\mathbb Q\cap[0,1]\)-কে ঢেকে ফেলে, আর মোট দৈর্ঘ্য

\[ \sum_{k\ge 0}\frac{\varepsilon}{2^{k+1}}=\varepsilon\sum_{k\ge 0}\frac{1}{2^{k+1}}=\varepsilon\cdot 1=\varepsilon. \]

যেহেতু \(\varepsilon\) যত ইচ্ছে ছোট (\(1, 0.1, 0.01, 10^{-6},\dots\)) করা যায়, "দৈর্ঘ্য" যেকোনো ধনাত্মক সংখ্যার নিচে নামানো সম্ভব — অর্থাৎ outer measure \(0\)। নিচে fractions.Fraction দিয়ে denominator \(\le 50\) পর্যন্ত rational-দের একটা নির্দিষ্ট ক্রমে সাজিয়ে দেখাচ্ছি; geometric series-এর finite আংশিক-যোগফলও কীভাবে \(\varepsilon\)-এর গায়ে গিয়ে বসে।

def part2_cover_rationals():
    banner("PART 2 : Covering Q n [0,1] by eps-intervals -> total length = eps")

    # Enumerate rationals in [0,1] up to a maximum denominator, in a fixed
    # (countable) order, then give the k-th rational an interval of length
    # eps / 2^(k+1). Total length = eps * sum_{k>=0} 1/2^(k+1) = eps.

    def enumerate_rationals(max_den):
        seen = set()
        out = []
        for q in range(1, max_den + 1):
            for p in range(0, q + 1):
                f = Fraction(p, q)   # auto-reduces
                if f not in seen:
                    seen.add(f)
                    out.append(f)
        return out

    max_den = 50
    rats = enumerate_rationals(max_den)
    print(f"  rationals enumerated (denominator <= {max_den}) : {len(rats)} of infinitely many")
    print(f"  first eight in our order : {[str(r) for r in rats[:8]]}")

    print(f"  k-th rational gets an interval of length eps / 2^(k+1)")
    print(f"  total covering length = eps * sum_k 1/2^(k+1) = eps :")
    for eps in (1.0, 0.1, 0.01, 1e-6):
        total = sum(eps / 2 ** (k + 1) for k in range(len(rats)))
        closed = eps
        print(f"     eps={eps:<8g} : finite-sum total = {total:.10g}   (full cover = {closed:g})")
    print(f"  since eps can be ANY positive number, the 'length' of Q n [0,1] is 0.")
    return rats
================================================================
PART 2 : Covering Q n [0,1] by eps-intervals -> total length = eps
================================================================
  rationals enumerated (denominator <= 50) : 775 of infinitely many
  first eight in our order : ['0', '1', '1/2', '1/3', '2/3', '1/4', '3/4', '1/5']
  k-th rational gets an interval of length eps / 2^(k+1)
  total covering length = eps * sum_k 1/2^(k+1) = eps :
     eps=1        : finite-sum total = 1   (full cover = 1)
     eps=0.1      : finite-sum total = 0.1   (full cover = 0.1)
     eps=0.01     : finite-sum total = 0.01   (full cover = 0.01)
     eps=1e-06    : finite-sum total = 1e-06   (full cover = 1e-06)
  since eps can be ANY positive number, the 'length' of Q n [0,1] is 0.

পাঠোদ্ধার (read-off)। denominator \(\le 50\)-এ rational-দের সংখ্যা মোটে \(775\) (অসীমের একটা টুকরো), আর তারা নির্দিষ্ট ক্রমে সাজানো: \(0, 1, \tfrac12, \tfrac13, \tfrac23,\dots\) — countable-ত্বটাই এখানে আসল চাবি। প্রতিটা \(\varepsilon\)-এর জন্য মোট আবরণ-দৈর্ঘ্য ঠিক \(\varepsilon\): \(1\to 1\), \(0.1\to 0.1\), \(0.01\to 0.01\), এমনকি \(10^{-6}\to 10^{-6}\)। যেহেতু \(\varepsilon\)-এর কোনো ধনাত্মক তলানি নেই, \(\mathbb Q\cap[0,1]\)-এর Lebesgue measure ঠিক \(0\)। লক্ষণীয়: এই set ঘন (dense) — \([0,1]\)-এর প্রতিটি বিন্দুর গা ঘেঁষে rational আছে — তবু তার "দৈর্ঘ্য" শূন্য। ঠিক এই কারণেই §৫.১-এ Dirichlet function-এর Lebesgue integral \(0\): যে set-এ সে \(1\), সেটাই measure-শূন্য।

৫.৩ · C4 — চলমান spike: integral \(=1\) স্থির, অথচ pointwise limit \(=0\)

এবার ফাটল C4 — limit আর integral কি অবাধে হাত বদলানো যায়? ধরা যাক \(f_n=n\cdot\mathbf 1_{(0,1/n)}\): \((0,1/n)\)-এর ভেতরে উচ্চতা \(n\), বাইরে \(0\)। এটা একটা সরু-উঁচু আয়তক্ষেত্র যার ক্ষেত্রফল \(n\times\frac1n=1\) — তাই প্রতিটা \(n\)-এর জন্য \(\int_0^1 f_n=1\)। স্পাইকটা যত বাঁদিকে (\(0\)-এর দিকে) চেপে যায়, তত সরু আর উঁচু হয়, কিন্তু আয়তন এক।

অথচ যেকোনো স্থির বিন্দু \(x>0\) ধরুন — যথেষ্ট বড় \(n\)-এ (\(1/n<x\) হলেই) স্পাইক \(x\)-কে ছাড়িয়ে যায়, তাই \(f_n(x)=0\)। মানে pointwise limit \(f(x)=0\) সর্বত্র, কাজেই \(\int_0^1(\lim f_n)=0\)। তাহলে \(\lim\int f_n=1\ne 0=\int\lim f_n\) — limit আর integral হাত বদলায় না। নিচে fine grid-এর midpoint Riemann sum দিয়ে \(\int f_n\) সংখ্যায় বের করছি (প্রতি cell-এর কেন্দ্রে function-এর মান \(\times\) cell-প্রস্থ), আর পাশাপাশি \(f_n(0.3)\) ছাপছি।

def part3_moving_spike():
    banner("PART 3 : Moving spike f_n = n*1_(0,1/n) -- integral 1, pointwise -> 0")

    def f_n(x, n):
        x = np.asarray(x, dtype=float)
        return np.where((x > 0.0) & (x < 1.0 / n), float(n), 0.0)

    x0 = 0.3
    M = 1_000_000                 # number of fine cells on [0,1]
    h = 1.0 / M
    midpoints = (np.arange(M) + 0.5) * h   # cell centres: a midpoint Riemann sum

    print(f"   n        integral f_n dx (Riemann)    f_n(0.3)")
    print(f"  ----   ---------------------------   ----------")
    for n in (1, 2, 5, 10, 100, 1000):
        # midpoint rule: sum of f at each cell centre, times the cell width h.
        integral = float(np.sum(f_n(midpoints, n)) * h)
        val_at_03 = float(f_n(np.array([x0]), n)[0])
        print(f"  {n:>4d}        {integral:>13.6f}           {val_at_03:>8.1f}")

    print(f"  area under each spike stays 1 (mass conserved, just squeezed);")
    print(f"  but at the fixed point x=0.3 the value drops to 0 once 1/n < 0.3 (n>=4).")
    print(f"  => pointwise limit f(x)=0 everywhere, yet lim of integrals = 1 != integral of limit = 0.")
================================================================
PART 3 : Moving spike f_n = n*1_(0,1/n) -- integral 1, pointwise -> 0
================================================================
   n        integral f_n dx (Riemann)    f_n(0.3)
  ----   ---------------------------   ----------
     1             1.000000                1.0
     2             1.000000                2.0
     5             1.000000                0.0
    10             1.000000                0.0
   100             1.000000                0.0
  1000             1.000000                0.0
  area under each spike stays 1 (mass conserved, just squeezed);
  but at the fixed point x=0.3 the value drops to 0 once 1/n < 0.3 (n>=4).
  => pointwise limit f(x)=0 everywhere, yet lim of integrals = 1 != integral of limit = 0.

পাঠোদ্ধার (read-off)। integral কলামটা পাথরে খোদাই করা — \(n=1,2,5,10,100,1000\) সবার জন্য ঠিক \(1.000000\)। অথচ ডানদিকের \(f_n(0.3)\) কলামে নাটক: \(n=1,2\)-এ মান \(1,2\) (কারণ \(0.3<1/n\), স্পাইকের ভেতরে), কিন্তু \(n\ge 4\) থেকে (\(1/n<0.3\)) মান ধপ করে \(0\)। তাহলে \(x=0.3\)-এ \(f_n(0.3)\to 0\), এবং একই যুক্তিতে যেকোনো স্থির \(x>0\)-এ limit \(0\) — অর্থাৎ \(\int(\lim f_n)=0\)। কিন্তু \(\lim(\int f_n)=1\)। দুটো \(1\) আর \(0\) — সমান নয়। এই বেয়াদবিই crack C4, আর এটাকে শৃঙ্খলায় বাঁধতেই Lebesgue তত্ত্বের Monotone/Dominated Convergence Theorem (§৭.৪)-এর জন্ম, যা পরিষ্কার শর্ত দেয় কখন limit আর integral হাত বদলানো বৈধ।

৫.৪ · Lebesgue দৃষ্টিভঙ্গি — Monte-Carlo দিয়ে measure মাপা

Lebesgue integration-এর এক-বাক্যের সারমর্ম: integral হলো function-এর measure-ভারিত গড় (weighted average)। বিশেষ করে, যদি function-টা শুধু একটা indicator \(\mathbf 1_A\) হয়, তাহলে তার গড় ঠিক \(A\)-এর measure: \(\int_0^1 \mathbf 1_A\,d\lambda=\lambda(A)\)। এই দৃষ্টিভঙ্গিটা Monte-Carlo দিয়ে সরাসরি verify করা যায়: \([0,1]\)-এ অনেকগুলো uniform random বিন্দু ছুঁড়ি, দেখি কত ভগ্নাংশ \(A\)-তে পড়ে — সেই ভগ্নাংশই \(\lambda(A)\)-এর অনুমান।

নিই \(A=[0,0.3]\cup[0.5,0.9]\), যার সত্যিকার measure \(0.3+0.4=0.7\)। reproducibility-র জন্য seed বাঁধা np.random.default_rng(20260619), আর \(N=10^6\) বিন্দু। in_A একটা boolean array; তার mean() মানে "কত ভগ্নাংশ True" — অর্থাৎ indicator-এর গড়।

def part4_monte_carlo():
    banner("PART 4 : Monte-Carlo Lebesgue measure of A=[0,0.3]u[0.5,0.9]")

    rng = np.random.default_rng(20260619)
    N = 1_000_000
    x = rng.uniform(0.0, 1.0, size=N)

    in_A = ((x >= 0.0) & (x <= 0.3)) | ((x >= 0.5) & (x <= 0.9))
    estimate = float(np.mean(in_A))          # average of the indicator
    true_measure = 0.3 + 0.4                  # 0.7

    print(f"  draws N                         = {N}")
    print(f"  true Lebesgue measure  |A|      = {true_measure:.4f}")
    print(f"  estimate = mean( 1_A(x) )       = {estimate:.4f}")
    print(f"  absolute error                  = {abs(estimate - true_measure):.4f}")
    print(f"  Lebesgue viewpoint: integral of f over [0,1] w.r.t. measure mu")
    print(f"  is just the AVERAGE of f weighted by mu; here f = 1_A and the")
    print(f"  average of the indicator IS the measure of A.")
================================================================
PART 4 : Monte-Carlo Lebesgue measure of A=[0,0.3]u[0.5,0.9]
================================================================
  draws N                         = 1000000
  true Lebesgue measure  |A|      = 0.7000
  estimate = mean( 1_A(x) )       = 0.7003
  absolute error                  = 0.0003
  Lebesgue viewpoint: integral of f over [0,1] w.r.t. measure mu
  is just the AVERAGE of f weighted by mu; here f = 1_A and the
  average of the indicator IS the measure of A.

পাঠোদ্ধার (read-off)। \(10^6\) random বিন্দুর মধ্যে \(A\)-তে পড়া ভগ্নাংশ \(0.7003\) — সত্যিকার measure \(0.7000\)-এর প্রায় গায়ে, পার্থক্য মাত্র \(0.0003\) (\(\sim 1/\sqrt N\)-মাপের ওঠানামা, যেমনটা §৩-এর LLN বলে)। এটাই Lebesgue integration-এর মূল ছবি হাতে-কলমে: \(\int_0^1\mathbf 1_A\,d\lambda\) গণনা করা মানে indicator-টাকে measure-এর সাপেক্ষে গড় করা — আর indicator-এর গড় ঠিক set-এর measure। range-কে ভাগ করে (এখানে function-এর মান হয় \(0\) নয় \(1\)) measure দিয়ে ওজন দেওয়া — Riemann-এর domain-ভাগ-করার বদলে এই range-ভাগ-করার কৌশলই Lebesgue তত্ত্বকে Dirichlet-জাতীয় ভাঙা function আর limit-অপারেশনের সঙ্গে এত স্বচ্ছন্দ করে তোলে।

৫.৫ · measure zero, গভীরতর — Cantor set-এর সংকুচিত দৈর্ঘ্য

§৫.২-এ দেখলাম একটা countable set (rational-রা) measure-শূন্য। কিন্তু "measure zero \(=\) কম বিন্দু" — এই ভুল ধারণাটা ভাঙতে দরকার একটা uncountable অথচ null set। সেটাই Cantor set \(C\): \([0,1]\) থেকে শুরু করে বারবার প্রতিটা interval-এর মাঝের এক-তৃতীয়াংশ (middle third) ফেলে দিন। প্রতি ধাপে interval-সংখ্যা দ্বিগুণ হয় (\(2^k\)), আর অবশিষ্ট মোট দৈর্ঘ্য প্রতিবার \(2/3\) গুণ হয়ে যায়:

\[ \text{remaining length (after }k\text{ steps)}=\Big(\tfrac23\Big)^{k}\xrightarrow[k\to\infty]{}0,\qquad \#\text{intervals}=2^{k}\xrightarrow[k\to\infty]{}\infty. \]

সীমায় যা পড়ে থাকে সেটাই \(C\) — এর Lebesgue measure \(0\) (অবশিষ্ট দৈর্ঘ্য \(\to 0\)), অথচ এটি uncountable (ternary সম্প্রসারণে শুধু \(0\)\(2\) অঙ্কের সব সংখ্যা — \(\mathbb R\)-এর সমান অসীমতা)। নিচে \(k=0\) থেকে \(10\) পর্যন্ত অবশিষ্ট দৈর্ঘ্য, টুকরো-সংখ্যা, আর মোট অপসারিত দৈর্ঘ্য ছাপছি।

def part5_cantor():
    banner("PART 5 : Cantor set -- remaining (2/3)^k -> 0, #intervals 2^k -> inf")

    print(f"   k    #intervals 2^k     remaining (2/3)^k     removed so far")
    print(f"  ---   --------------   -------------------   ---------------")
    for k in range(0, 11):
        n_intervals = 2 ** k
        remaining = (2.0 / 3.0) ** k
        removed = 1.0 - remaining
        print(f"  {k:>3d}      {n_intervals:>10d}        {remaining:>15.10f}     {removed:>13.10f}")

    print(f"  remaining length -> 0, so the Cantor set has Lebesgue measure 0 (it is 'null');")
    print(f"  yet the number of pieces 2^k -> infinity and the set is UNCOUNTABLE.")
    print(f"  'measure zero' does NOT mean 'few points' -- it means 'negligible length'.")
================================================================
PART 5 : Cantor set -- remaining (2/3)^k -> 0, #intervals 2^k -> inf
================================================================
   k    #intervals 2^k     remaining (2/3)^k     removed so far
  ---   --------------   -------------------   ---------------
    0               1           1.0000000000      0.0000000000
    1               2           0.6666666667      0.3333333333
    2               4           0.4444444444      0.5555555556
    3               8           0.2962962963      0.7037037037
    4              16           0.1975308642      0.8024691358
    5              32           0.1316872428      0.8683127572
    6              64           0.0877914952      0.9122085048
    7             128           0.0585276635      0.9414723365
    8             256           0.0390184423      0.9609815577
    9             512           0.0260122949      0.9739877051
   10            1024           0.0173415299      0.9826584701

পাঠোদ্ধার (read-off)। দুটো কলাম দুই দিকে দৌড়ায়: টুকরো-সংখ্যা \(1\to 2\to 4\to\cdots\to 1024\) (অর্থাৎ \(2^{10}\)) দ্রুত বাড়ছে, অথচ অবশিষ্ট দৈর্ঘ্য \(1\to 0.667\to 0.444\to\cdots\to 0.0173\) ক্রমে \(0\)-র দিকে নামছে; মোট অপসারিত দৈর্ঘ্য \(\to 0.983\) এবং সীমায় \(\to 1\)। তাই Cantor set-এর Lebesgue measure \(0\) — এটি "null"। অথচ এটি uncountable, বিন্দুর সংখ্যায় গোটা \([0,1]\)-এর সমান। উপসংহার যা §৫.২-কে সম্পূর্ণ করে: "measure zero" মানে "অল্প বিন্দু" নয়, মানে "নগণ্য দৈর্ঘ্য" — কখনো গণনাযোগ্য (rational), কখনো গণনাতীত (Cantor), দুই-ই হতে পারে। ঠিক এই সূক্ষ্ম পার্থক্যটাই "almost everywhere" ধারণার ভিত, যা Part VII জুড়ে বারবার ফিরবে।

৫.৬ · সারসংক্ষেপ — প্রতিটা সংখ্যা কোন ফাটলের সাক্ষী

অংশ মুখ্য সংখ্যাগত ফল কী প্রমাণ করল ফাটল / ধারণা
upper \(=1.0000\), lower \(=0.0000\), gap \(=1\) (\(N\)-নিরপেক্ষ) sample point বদলালে Riemann sum বদলায় ⇒ integral অস্তিত্বহীন C2
মোট আবরণ \(=\varepsilon\) (\(1,\,0.1,\,0.01,\,10^{-6}\)) \(\varepsilon\downarrow 0\)\(\lambda(\mathbb Q\cap[0,1])=0\) (dense তবু null) measure \(0\)
\(\int f_n=1.000000\) সবার, কিন্তু \(f_n(0.3)\to 0\) \(\lim\int\ne\int\lim\) ⇒ limit/integral হাত বদলায় না C4
অনুমান \(=0.7003\), সত্য \(=0.7000\) indicator-এর গড় \(=\) measure (range-ভাগ-করা integration) Lebesgue দৃষ্টি
\((2/3)^{10}=0.0173\to 0\), \(2^{10}=1024\to\infty\) uncountable অথচ null ⇒ "measure \(0\ne\) অল্প বিন্দু" measure \(0\)

দুটো সংখ্যা মনে রাখলেই গোটা ল্যাবের মর্ম ধরা থাকে: Darboux gap \(=1\) (Riemann ভাঙার মাপ) আর Monte-Carlo \(=0.7003\) (Lebesgue-এর "integral \(=\) গড়" ছবিটা)। প্রতিটা ফাটল একই অভাবের দিকে আঙুল তোলে — measure-এর একটা সঠিক, σ-algebra-র উপর সংজ্ঞায়িত, countably-additive তত্ত্বের অভাব। সেই তত্ত্ব গড়ার কাজই শুরু §৭.২ থেকে; এই ল্যাবের সংখ্যাগুলো হাতে নিয়ে আমরা এখন জানি ঠিক কী মেরামত করতে যাচ্ছি, আর কেন।

এক বাক্যে। কম্পিউটার নিজেই দেখাল — Dirichlet-এ Riemann sum \(1\) বনাম \(0\) (gap \(1\), C2), \(\mathbb Q\) ঢাকতে দৈর্ঘ্য \(\varepsilon\downarrow 0\) (null), spike-এর \(\int=1\) স্থির অথচ pointwise \(\to 0\) (C4), indicator-গড় \(0.7003\approx 0.7\) (Lebesgue), আর Cantor-এ \((2/3)^k\to 0\) vs \(2^k\to\infty\) (uncountable null) — চারটে ফাটল আর measure-শূন্যতা, সব সংখ্যায় ধরা।


৬ · ভিজ্যুয়ালাইজেশন

§১–৫ জুড়ে চারটি crack (ফাটল) আমরা গল্পে, উদাহরণে ও প্রমাণে ছুঁয়েছি। এবার চারটি ছবি — প্রতিটি একটি ফাটলের (বা measure-zero ধারণার) দৃশ্য-রূপ। মনে রাখার মতো একটা কথা: এই ছবিগুলো প্রমাণ নয়, স্বজ্ঞার সাক্ষী — যা চোখে দেখলে "কেন measure theory" প্রশ্নের উত্তরটা হাড়ে গেঁথে যায়। (চিত্রের ভেতরের সব লেখা ইংরেজিতে; ব্যাখ্যা বাংলায় প্রোজে।)

ছবিগুলো পড়ার একটা মানচিত্র আগে থেকে হাতে থাকলে সুবিধা — কোন ছবি কোন ফাটলের সাক্ষী:

ছবি যা দেখায় crack
৬.১ Riemann বনাম Lebesgue domain ভাগ বনাম range ভাগ — দুই integration-দর্শন C2/C4-এর শিকড়
৬.২ চলমান spike \(\int f_n=1\) অথচ pointwise limit \(0\) C4
৬.৩ Rational-ঢাকনা মোট দৈর্ঘ্য \(\to0\), measure\((\mathbb Q)=0\) C3-এর ভিত্তি
৬.৪ Cantor নির্মাণ measure \(0\) তবু uncountable C3 (গভীর)

ক্রমটা ইচ্ছাকৃত — প্রথম ছবি পদ্ধতি বদলানোর ছবি (Riemann→Lebesgue), পরের তিনটি সেই পদ্ধতি-বদল কেন অপরিহার্য তার তিন স্বতন্ত্র সাক্ষ্য (limit-আচরণ, ঘন-কিন্তু-শূন্য সেট, গণনাতীত-কিন্তু-শূন্য সেট)। সব ছবি একই style-shim ব্যবহার করে, তাই চেহারা curriculum-জুড়ে consistent থাকে:

import sys
sys.path.append(".../curriculum/_code")
from figstyle import set_style
set_style()                      # Agg backend, dpi=150, পরিচ্ছন্ন spine ও grid

৬.১ Riemann বনাম Lebesgue — domain ভাগ করা বনাম range ভাগ করা

§২.৫-এ আমরা এক বাক্যে বলেছিলাম: Riemann domain-কে ভাগ করে; Lebesgue range-কে ভাগ করে। এই ছবিটা সেই এক বাক্যকে দুই প্যানেলে চোখের সামনে দাঁড় করায়। দুই প্যানেলেই একই মসৃণ, কঠোরভাবে ধনাত্মক curve \(f(x)=0.5+0.4\sin(2\pi x)\) — কিন্তু ক্ষেত্রফল গোনার ভঙ্গি ভিন্ন।

  • বাঁ প্যানেল — Riemann (domain slicing)। \(x\)-অক্ষকে (অর্থাৎ domain \([0,1]\)-কে) সরু সরু খাড়া পট্টিতে (\(\Delta x\)) ভাগ করা; প্রতিটি পট্টির উচ্চতা সেই অঞ্চলে \(f\)-এর মান। ক্ষেত্রফল \(=\sum f(x_i)\,\Delta x\) — পট্টিগুলো যোগ করলেই। এটা ঠিক সেই ভঙ্গি যা মসৃণ \(f\)-এ নিখুঁত কাজ করে, কিন্তু Dirichlet-এর মতো wild function-এ ভেঙে পড়ে (C2): সেখানে প্রতিটি পট্টিতেই rational ও irrational মিশে থাকায় উপর-আনুমান আর নিচ-আনুমান কখনো মেলে না।
  • ডান প্যানেল — Lebesgue (range slicing)। এবার ভাগ হয় range-টা (\(y\)-অক্ষ): মান \(y\) থেকে \(y+\Delta y\)-এর প্রতিটি অনুভূমিক ব্যান্ডের জন্য জিজ্ঞাসা — "\(f\) এই মান-স্তরে আছে কোন \(x\)-গুলোতে?" অর্থাৎ ক্ষেত্রফল জমা হয় \(\{x : f(x)\in[y,\,y+\Delta y]\}\) সেট থেকে, যার measure দিয়ে \(y\)-কে গুণ করা হয়। এই "মান অনুযায়ী সাজানো"-ই সেই কৌশল যা Dirichlet-কে শান্ত করে (\(\int_0^1 D\,d\lambda=0\), কারণ rational-স্তরের measure \(0\)) এবং C4-এর limit↔integral প্রশ্নকে MCT/Fatou/DCT-র নিয়ন্ত্রণে আনে।

দুই প্যানেল একই ক্ষেত্রফলকেই গোনে — কিন্তু Lebesgue-এর range-ভাগ এমন function সামলায় যেখানে domain-এর ক্রমে কোনো মসৃণতা নেই। এটাই গোটা Part VII-এ Riemann থেকে Lebesgue-এ সরে যাওয়ার মূল ছবি।

ছবিটা পড়ার সূত্র। একটা চেনা উপমা মনে রাখলে দুই প্যানেলের পার্থক্য আর কখনো গুলিয়ে যাবে না — টাকা গোনার দুই কায়দা। বাঁ দিকের Riemann গোনে প্রাপ্তির ক্রমে: যেমন যেমন মুদ্রা হাতে এল, এক এক করে যোগ করল (domain-এর ক্রম মেনে, খাড়া পট্টি ধরে ধরে)। ডান দিকের Lebesgue আগে মুদ্রাগুলোকে মূল্যমান অনুযায়ী স্তূপে সাজায় — সব এক-মানের একস্তূপে — তারপর (মান × সেই মানের সেটের measure) যোগ করে; এটাই অনুভূমিক ব্যান্ড। এই "মূল্য অনুযায়ী সাজানো"-ই খেয়াল করো ৬.৩ ও ৬.৪-এর measure-zero সেটগুলোর সঙ্গে কীভাবে জোড়া লাগে: যে মান-স্তরের সেটের measure \(0\), সেই স্তর যোগফলে কিছুই যোগ করে না — তাই Dirichlet-এর rational-অবদান নিঃশব্দে মুছে যায়।

f = lambda x: 0.5 + 0.4 * np.sin(2 * np.pi * x)
xs = np.linspace(0, 1, 400)

# LEFT — Riemann: vertical strips over the DOMAIN
edges = np.linspace(0, 1, 15)
mids  = 0.5 * (edges[:-1] + edges[1:])
axL.bar(edges[:-1], f(mids), width=np.diff(edges), align="edge", alpha=0.35)
axL.plot(xs, f(xs), lw=2.2)
axL.set_title("Riemann (partition the domain)")

# RIGHT — Lebesgue: horizontal bands over the RANGE
ybands = np.linspace(0, 1.0, 9)
for y0, y1 in zip(ybands[:-1], ybands[1:]):
    mask = (f(xs) >= y0) & (f(xs) < y1)         # {x : f(x) in [y0, y1]}
    axR.fill_between(xs, y0, y1, where=mask, alpha=0.7)
axR.set_title("Lebesgue (partition the range)")

Riemann (domain slicing) বনাম Lebesgue (range slicing) — একই curve, একই ক্ষেত্রফল, দুই ভিন্ন ভঙ্গি


৬.২ চলমান spike — ভর যেখানে উবে যায় (crack C4)

এই ছবিটা C4-এর হৃৎপিণ্ড সরাসরি দেখায়: \(f_n = n\cdot\mathbf 1_{(0,\,1/n)}\), অর্থাৎ \(0\) থেকে \(1/n\) পর্যন্ত উচ্চতা \(n\), বাকি সর্বত্র \(0\)\(n=1,2,4,8\)-এর জন্য আয়তক্ষেত্রগুলো নেস্ট করে আঁকা — প্রতিটির ভিত্তি \(1/n\) × উচ্চতা \(n\) = ক্ষেত্রফল \(1\)। তাই ছবিতে annotation: area = 1 for every n

কিন্তু \(n\) বাড়লে চূড়াটা সরু-উঁচু হতে হতে শূন্যের দিকে গুটিয়ে যায়; প্রতিটি নির্দিষ্ট বিন্দু \(x>0\)-তে শেষ পর্যন্ত \(f_n(x)=0\), তাই pointwise limit \(\equiv 0\) (নিচের লাল রেখা)। ফল: \(\lim_n\int f_n = 1\) অথচ \(\int\lim_n f_n = \int 0 = 0\)integral আর limit অদলবদল করলে দুই ভিন্ন উত্তর। ক্ষেত্রফল \(1\) যেন কোথায় উবে গেল।

এই ছবি কেন গুরুত্বপূর্ণ: naive Riemann-জগতে \(\lim\int=\int\lim\) আমরা প্রায়ই বিনা প্রশ্নে ব্যবহার করি (estimator-এর consistency, expectation-এর limit ইত্যাদিতে), কিন্তু এটা সাধারণভাবে মিথ্যা। কখন swap বৈধ — তার নির্ভুল শর্ত দেয় measure theory-র Monotone/Dominated Convergence Theorem (§৭.৪)। ছবির "spike grows taller & thinner"-ই সেই শর্তগুলোর প্রয়োজন চোখে আঙুল দিয়ে দেখায়।

একটা সূক্ষ্ম পাঠ। খেয়াল করো, এখানে দুটো ভিন্ন ধরনের "অভিসার" পাশাপাশি দাঁড়িয়ে: \(f_n\) প্রতিটি বিন্দুতে \(0\)-তে যায় (pointwise convergence), অথচ তাদের integral \(0\)-তে যায় না — থেকে যায় \(1\)-এ। এই দুই অভিসারের পার্থক্যই 3.2-এর "modes of convergence"-এর হৃৎপিণ্ড, এবং Part VII-এর convergence theorem-গুলোর গোটা প্রয়োজন। DCT যে "dominating function" দাবি করে, এই ছবিতে সেটিই অনুপস্থিত — কোনো একক integrable function \(g\) নেই যে সব \(f_n\le g\) ধরে রাখে (চূড়া অসীম উঁচু হয়), আর তাই swap-টা ভেঙে পড়ার অনুমতি পায়। ছবিটা তাই একই সঙ্গে রোগ (C4) আর তার নিরাময়ের শর্ত — দুটোই দেখায়।

from matplotlib.patches import Rectangle
for n in [1, 2, 4, 8]:                         # f_n = n on (0, 1/n)
    rect = Rectangle((0, 0), 1.0 / n, n, alpha=0.35, lw=2.0)  # base 1/n × height n
    ax.add_patch(rect)                          # => area = 1, always

ax.axhline(0, color="#b03030", lw=2.2)          # pointwise limit ≡ 0
ax.annotate("area = 1 for every n", xy=(0.5/8, 8), xytext=(0.45, 7.4),
            arrowprops=dict(arrowstyle="->"))
ax.annotate(r"pointwise limit $\equiv 0$" + "\n" + r"(yet $\int f_n = 1$)",
            xy=(0.55, 0.25), xytext=(0.5, 3.2), arrowprops=dict(arrowstyle="->"))

চলমান spike \(f_n=n\,\mathbf 1_{(0,1/n)}\) — প্রতিটি \(n\)-এ ক্ষেত্রফল \(1\), অথচ pointwise limit \(0\) (crack C4)


৬.৩ Rational-দের ঢেকে ফেলা — measure(ℚ) = 0 (C3-এর ভিত্তি)

§২.৪ ও উদাহরণ ২-এ আমরা দেখেছি একটা চমকপ্রদ ফল: \(\mathbb Q\cap[0,1]\) dense (সংখ্যারেখার সর্বত্র ঘন), তবু তার measure ঠিক শূন্য। এই ছবিটা সেই যুক্তিটাকে দৃশ্যমান করে।

কৌশলটা: \(\mathbb Q\) গণনাযোগ্য, তাই তার সদস্যদের তালিকা করা যায় \(q_1, q_2, q_3,\dots\)। এখানে আমরা ছোট হর-ওয়ালা প্রথম আটটি rational (\(1/2, 1/3, 2/3, 1/4, \dots\)) সংখ্যারেখায় বসিয়ে, \(k\)-তম rational-কে একটা \(\varepsilon/2^k\)-চওড়া বাক্স দিয়ে ঢেকেছি (দৃশ্যমানতার জন্য \(\varepsilon=0.3\) ধরা)। বাক্সগুলো দ্রুত সরু হয় — \(\varepsilon/2,\ \varepsilon/4,\ \varepsilon/8,\dots\) — তাই মোট দৈর্ঘ্য \(\le\sum_{k\ge1}\varepsilon/2^k=\varepsilon\)। আর \(\varepsilon\) যত-খুশি ছোট নেওয়া যায়, তাই মোট দৈর্ঘ্য \(\to 0\Rightarrow\) measure\((\mathbb Q)=0\) (ছবির উপরের callout)।

কেন এটা মাথা ঘোরায় ও কেন জরুরি: "কত বিন্দু আছে" (cardinality) আর "কত length দখল করে" (measure) — দুটো সম্পূর্ণ আলাদা প্রশ্ন। \(\mathbb Q\) অসীম ও ঘন হয়েও measure-অর্থে নগণ্য। এই measure-zero ধারণাই measure theory-র প্রাণভোমরা: integration-এ "almost everywhere" (প্রায় সর্বত্র) বলতে গেলে এরই দরকার, আর ঠিক এই কারণেই Lebesgue-এ \(\int_0^1 D\,d\lambda=0\) (rational-স্তরের measure \(0\) বলে তাদের অবদান মুছে যায়)।

ছবির একটা ভিজ্যুয়াল ফাঁদ — সাবধান। এখানে \(\varepsilon=0.3\) নেওয়া হয়েছে নিছক দৃশ্যমানতার জন্য — নইলে বাক্সগুলো এত সরু হতো যে চোখে ধরা যেত না। আসল যুক্তিতে \(\varepsilon\) যত-খুশি ছোট, তাই মোট দৈর্ঘ্য যেকোনো ধনাত্মক সংখ্যার চেয়েও ছোট করা যায় — অর্থাৎ ঠিক \(0\)। আরেকটা ফাঁদ: বাক্সগুলো পরস্পর ছেদ করতে পারে (rational-রা ঘন বলে), কিন্তু তাতে যুক্তি দুর্বল হয় না — ছেদ থাকলে মোট দৈর্ঘ্য কেবল আরও কম হয়, বেশি নয় (এটাই §৭.২-এর countable subadditivity, \(\lambda^*(\bigcup A_k)\le\sum\lambda^*(A_k)\), যা §৪-এ প্রমাণিত)। ছবিটা তাই subadditivity-র স্বজ্ঞাও বুকে ধরে রাখে।

from fractions import Fraction
eps  = 0.3                                       # large only for visibility
rats = [Fraction(1,2), Fraction(1,3), Fraction(2,3), Fraction(1,4),
        Fraction(3,4), Fraction(1,5), Fraction(2,5), Fraction(3,5)]

ax.axhline(0, color="#333333", lw=1.6)           # the number line [0,1]
for k, r in enumerate(rats, start=1):
    x = float(r)
    w = eps / 2**k                               # k-th box width = ε/2^k
    ax.add_patch(Rectangle((x - w/2, -0.05), w, 0.10, alpha=0.55))
# total length ≤ Σ ε/2^k = ε → 0  ⇒  measure(ℚ) = 0

\(\mathbb Q\cap[0,1]\)-এর rational-দের \(\varepsilon/2^k\) বাক্স দিয়ে ঢাকা — মোট দৈর্ঘ্য \(\le\varepsilon\to0\), তাই measure\((\mathbb Q)=0\) (C3-এর ভিত্তি)


৬.৪ Cantor নির্মাণ — measure শূন্য, তবু uncountable (C3-এর গভীর রূপ)

§৬.৩-এ measure-zero সেটটা ছিল countable (rational-গুলো), তাই "অল্প বিন্দু → অল্প measure" ভাবা সহজ ছিল। এই শেষ ছবিটা সেই স্বজ্ঞা ভেঙে দেয়।

ছবিতে ছয়টি স্তর (\(k=0\) থেকে \(5\)) উপরে-নিচে সাজানো; প্রতিটি স্তরে যা অবশিষ্ট আছে তা কালো interval হিসেবে দেখানো। নিয়ম: প্রতিবার প্রতিটি interval-এর মাঝের খোলা এক-তৃতীয়াংশ ফেলে দাও, বাকি দুই প্রান্ত রাখো। ফলে \(k\)-তম স্তরে অবশিষ্ট মোট দৈর্ঘ্য \(=(2/3)^k\) — ডান পাশে প্রতিটি স্তরের জন্য মান দেওয়া (\(1.000,\,0.667,\,0.444,\dots\))। \(k\to\infty\)-তে \((2/3)^k\to 0\), তাই অবশিষ্ট Cantor set-এর measure \(0\)

কিন্তু এখানেই চমক: এই set uncountable (continuum-সংখ্যক বিন্দু — \([0,1]\)-এর মতোই বিশাল), যদিও তার measure \(0\)। অর্থাৎ একটা set "ক্ষুদ্র" (measure শূন্য) হতে পারে অথচ "অগণিত"। শিক্ষা — measure zero \(\ne\) countable: countable \(\Rightarrow\) measure \(0\), কিন্তু উল্টোটা নয়। size মাপার দুটো সম্পূর্ণ independent মাপকাঠি (cardinality আর measure) আলাদা করে বোঝার জন্যই একটা পূর্ণাঙ্গ তত্ত্ব দরকার — এই একটা ছবিই গোটা measure theory-র ইমারত গড়ার প্রেরণা।

intervals = [(0.0, 1.0)]                          # level k = 0
for k in range(6):                                # rows k = 0..5
    for (s, L) in intervals:                      # draw remaining black intervals
        ax.add_patch(Rectangle((s, y_of(k)), L, 0.55, facecolor="#222222"))
    ax.text(1.03, ..., r"$(2/3)^{%d} = %.3f$" % (k, (2/3)**k))   # length → 0
    nxt = []                                       # keep outer thirds, drop middle
    for (s, L) in intervals:
        t = L / 3.0
        nxt += [(s, t), (s + 2 * t, t)]
    intervals = nxt
# total length = (2/3)^k → 0,  yet uncountably many points remain

Cantor middle-third নির্মাণ (\(k=0..5\)) — অবশিষ্ট দৈর্ঘ্য \((2/3)^k\to0\), তবু uncountable বিন্দু (C3, গভীর রূপ)


এক বাক্যে §৬। চারটি ছবি চারটি ফাটলকে চোখে দেখায় — Riemann বনাম Lebesgue (domain বনাম range ভাগ, C2/C4-এর শিকড়), চলমান spike (\(\int=1\) অথচ limit \(0\), C4), rational-ঢাকনা (মোট দৈর্ঘ্য \(\to0\), measure\((\mathbb Q)=0\), C3), ও Cantor নির্মাণ (measure \(0\) তবু uncountable, C3-এর গভীর রূপ) — একসঙ্গে এরা "কেন গোনা নয়, মাপা চাই" প্রশ্নের দৃশ্য-উত্তর।


৭ · অনুশীলনী

প্রতিটি প্রশ্নে difficulty tag (★ সহজ · ★★ মাঝারি · ★★★ চ্যালেঞ্জিং) ও একটি Hint। পূর্ণ সমাধান _solutions/07-01-why-measure-theory-solutions.md-এ। চেষ্টা না করে সমাধান দেখবেন না — চারটে ফাটলে নিজে হাত রাখা, হোঁচট খাওয়াটাই এই অধ্যায়ের আসল শিক্ষা। (কোডিং প্রশ্নে seed default_rng(20260619) ধরে রাখলে ফল হুবহু পুনরুৎপাদনযোগ্য।)

ক · ধারণাগত (conceptual)

প্রশ্ন ১ (★). কেউ দাবি করল: "\(\mathbb N=\{1,2,3,\dots\}\)-এ প্রতিটি সংখ্যাকে সমান probability \(c\) দিয়ে একটা fair uniform probability বানানো যায় — ঠিক যেমন সসীম ছক্কায় প্রতিটি মুখকে \(1/6\) দিই।" নিজের ভাষায় ব্যাখ্যা করুন কেন এটা অসম্ভব, এবং বিশেষভাবে দেখান এখানে finite additivity (সসীম যোগাত্মকতা) নয় বরং countable additivity (গণনাযোগ্য যোগাত্মকতা / \(\sigma\)-additivity)-ই আসল অপরাধী। সসীম ছক্কায় কেন একই যুক্তি ভাঙে না, এক বাক্যে বলুন। (crack C1) Hint: \(1=\sum_{k=1}^\infty c\)\(c=0\) হলে যোগফল কত, \(c>0\) হলে কত? সসীম জগতে \(\sum_{k=1}^n \tfrac1n\) ঠিক \(1\) দেয়, কিন্তু "\(1/\infty\)"-এর কোনো অর্থ নেই।

প্রশ্ন ২ (★). "measure zero" (পরিমাপ-শূন্য) মানে ঠিক কী — এক বাক্যে outer measure-এর ঢাকনা-ভাষায় বলুন। তারপর ব্যাখ্যা করুন কেন \(\mathbb Q\cap[0,1]\) measure-শূন্য হওয়া মোটেও স্ববিরোধী নয়, যদিও set-টা \([0,1]\)-এ dense (ঘন — যেকোনো দুই বিন্দুর মাঝে অসংখ্য rational)। "dense" আর "বড় measure" কি একই জিনিস? Cantor set-এর কথা টেনে দেখান কেন "measure zero \(\Rightarrow\) countable" ভাবাটাও ভুল। (C3-এর ভিত্তি) Hint: countability \(\Rightarrow\) measure 0 (ঢাকনা-দৈর্ঘ্য যত খুশি ছোট করা যায়), কিন্তু উল্টোটা সত্য নয় — Cantor set uncountable অথচ \(\lambda=0\)

প্রশ্ন ৩ (★). এক বাক্যে বলুন কেন Dirichlet function \(D=\mathbf 1_{\mathbb Q}\) Riemann-integrable নয়, এবং তার ঠিক পরের বাক্যে বলুন Lebesgue integral কেন একে অনায়াসে \(0\) মান দেয়। এই পার্থক্যটাকে "Riemann domain ভাগ করে, Lebesgue range ভাগ করে" — এই এক-লাইন স্লোগান দিয়ে যুক্ত করুন। (crack C2) Hint: প্রতিটি partition-এ rational ও irrational দুটোই থাকে, তাই upper sum \(U=1\) কিন্তু lower sum \(L=0\) — কখনো মেলে না; Lebesgue জিজ্ঞেস করে "মান \(1\) কোথায়?" — কেবল \(\mathbb Q\)-তে, যার measure \(0\)

খ · গণনামূলক (computational)

প্রশ্ন ৪ (★). \(\mathbb Q\cap[0,1]=\{q_1,q_2,q_3,\dots\}\)-এর প্রতিটি \(q_k\)-কে একটা open interval \(I_k\) দিয়ে ঢাকা হলো, যার দৈর্ঘ্য \(\ell(I_k)=\varepsilon/2^{k}\)। (ক) মোট ঢাকনা-দৈর্ঘ্য \(\sum_{k=1}^\infty \ell(I_k)\) একটা বদ্ধ রূপে লিখুন (geometric series)। (খ) \(\varepsilon=0.01\) হলে সংখ্যাটা কত? (গ) এই মোট দৈর্ঘ্যকে \(10^{-6}\)-এর নিচে নামাতে \(\varepsilon\) কত বড় পর্যন্ত নেওয়া যায়, এবং এ থেকে \(\lambda^*(\mathbb Q\cap[0,1])\) কত — যুক্তি দিন। Hint: \(\sum_{k\ge1}\varepsilon/2^k=\varepsilon\sum_{k\ge1}2^{-k}=\varepsilon\cdot 1=\varepsilon\); \(\varepsilon\) যত খুশি ছোট নেওয়া যায়, তাই infimum \(0\)

প্রশ্ন ৫ (★). moving spike \(f_n(x)=n\,\mathbf 1_{(0,1/n)}(x)\) ধরুন। (ক) \(\int_0^1 f_n\,dx\) বের করুন এবং দেখান এটা \(n\)-নিরপেক্ষভাবে ধ্রুবক। (খ) বিন্দু \(x=0.3\)-এ \(f_n(0.3)\)-এর মান \(n=2,\,5,\,100\)-এর জন্য বের করুন। (গ) এ থেকে \(\lim_n\int_0^1 f_n\,dx\)\(\int_0^1(\lim_n f_n)\,dx\) — দুটো আলাদা করে লিখে দেখান এরা সমান নয়। (crack C4) Hint: \(\int f_n=n\cdot\tfrac1n=1\) সবসময়; \(f_n(0.3)=n\) যতক্ষণ \(1/n>0.3\) (অর্থাৎ \(n\le 3\)), নইলে \(0\) — তাই \(n=2\Rightarrow 2\), \(n=5\Rightarrow 0\), \(n=100\Rightarrow 0\)

প্রশ্ন ৬ (★★). Cantor set \(C\) middle-third অপসারণে তৈরি। \(k\) ধাপের পর: (ক) কতগুলো interval টিকে আছে এবং প্রতিটির দৈর্ঘ্য কত? (খ) মোট অবশিষ্ট দৈর্ঘ্য \(\lambda(C_k)\) এবং মোট অপসারিত দৈর্ঘ্য \(k\)-এর function হিসেবে লিখুন। (গ) \(k=3\)\(k=10\)-এ অবশিষ্ট ও অপসারিত দৈর্ঘ্যের সংখ্যামান দিন (চার দশমিক), এবং \(k\to\infty\)-এ \(\lambda(C)\) বের করুন। (C3-এর গভীর রূপ) Hint: ধাপ \(k\)-এ \(2^k\)টি interval, প্রতিটি দৈর্ঘ্য \(3^{-k}\), তাই \(\lambda(C_k)=(2/3)^k\) আর অপসারিত \(=1-(2/3)^k\); \((2/3)^3\approx 0.2963\), \((2/3)^{10}\approx 0.0173\)

গ · প্রমাণভিত্তিক (proof-based)

প্রশ্ন ৭ (★★). প্রমাণ করুন একটা singleton \(\{a\}\subseteq\mathbb R\)-এর outer measure শূন্য: \(\lambda^*(\{a\})=0\)। তারপর countable subadditivity ব্যবহার করে দেখান যেকোনো countable set \(A=\{a_1,a_2,a_3,\dots\}\)-এরও \(\lambda^*(A)=0\)। এই ফলকে \(\mathbb Q\cap[0,1]\)-এ প্রয়োগ করুন। Hint: \(\{a\}\)-কে একটামাত্র interval \((a-\varepsilon/2,\,a+\varepsilon/2)\) দিয়ে ঢাকুন, দৈর্ঘ্য \(\varepsilon\)\(\varepsilon\downarrow 0\) নিন; countable union-এ \(a_k\)-কে দৈর্ঘ্য \(\varepsilon/2^k\)-এর interval দিন, যোগফল \(\varepsilon\)

প্রশ্ন ৮ (★★). Vitali-নির্মাণের একটা মূল উপ-ফল প্রমাণ করুন: সম্পর্ক \(x\sim y\iff x-y\in\mathbb Q\) ব্যবহার করে প্রতিটি equivalence class থেকে একটি প্রতিনিধি নিয়ে \(V\subseteq[0,1]\) গঠন করুন; \(\mathbb Q\cap[-1,1]=\{q_1,q_2,\dots\}\), \(V_k=V+q_k\)। প্রমাণ করুন (ক) \(j\ne k\) হলে \(V_j\cap V_k=\varnothing\) (translate-গুলো disjoint), এবং (খ) sandwich: \([0,1]\subseteq\bigcup_k V_k\subseteq[-1,2]\)। (পূর্ণ non-measurability নয় — কেবল এই দুই উপ-ফল।) Hint: (ক) \(z\in V_j\cap V_k\) ধরলে দুই প্রতিনিধি \(v,v'\) একই class-এ পড়ে, কিন্তু \(V\) class-প্রতি ঠিক একটি নেয় \(\Rightarrow v=v'\Rightarrow j=k\); (খ) যেকোনো \(x\in[0,1]\)-এর class-প্রতিনিধি \(v\in V\), \(x-v\in[-1,1]\cap\mathbb Q\) কোনো \(q_k\)

প্রশ্ন ৯ (★★). Darboux sum-এর সংজ্ঞা থেকে সরাসরি দেখান যে \([0,1]\)-এ Dirichlet function \(D=\mathbf 1_{\mathbb Q}\)-এর জন্য প্রতিটি partition \(P\)-এ upper Darboux sum \(U(D,P)=1\) এবং lower Darboux sum \(L(D,P)=0\)। এ থেকে উপসংহার টানুন: upper Darboux integral \(\overline{\int}D=1\), lower \(\underline{\int}D=0\), এবং দুটো অসমান হওয়ায় \(D\) Riemann-integrable নয়। (crack C2) Hint: প্রতিটি subinterval \([x_{i-1},x_i]\)-তে \(\sup D=1\) (ভেতরে rational আছে) আর \(\inf D=0\) (irrational আছে), তাই \(U=\sum 1\cdot\Delta x_i=1\), \(L=\sum 0\cdot\Delta x_i=0\) — partition-নিরপেক্ষ।

ঘ · কোডিং (coding)

প্রশ্ন ১০ (★). numpy দিয়ে Monte-Carlo পদ্ধতিতে \(\lambda\big([0,0.3]\cup[0.5,0.9]\big)\) আনুমান করুন: default_rng(20260619) থেকে \(N=10^6\)টি Uniform\((0,1)\) নমুনা টেনে set-এ পড়া ভগ্নাংশ বের করুন। আনুমানিক মানটি সঠিক উত্তর \(0.7\)-এর সাথে তুলনা করুন এবং পার্থক্য (Monte-Carlo error) ছাপুন। Hint: x = rng.uniform(0,1,10**6); inA = ((x<=0.3)|((x>=0.5)&(x<=0.9))); inA.mean() দেবে \(\approx 0.7003\), সত্য \(0.3+0.4=0.7\)

প্রশ্ন ১১ (★★). moving spike \(f_n=n\,\mathbf 1_{(0,1/n)}\)-এর দ্বৈত আচরণ সংখ্যায় দেখান: (ক) একটা সূক্ষ্ম grid-এ \(\int_0^1 f_n\,dx\) আনুমান করে দেখান এটা সব \(n\)-এ \(\approx 1\); (খ) একই সঙ্গে একটা স্থির বিন্দু (যেমন \(x=0.3\))-এ \(f_n(x)\) ছাপিয়ে দেখান \(n\) বাড়লে তা \(0\)-তে নামে। দুটো কলাম পাশাপাশি একটা টেবিলে ছাপুন (\(n=1,2,5,10,100,1000\)) — "integral অটল \(1\), pointwise ভেঙে \(0\)" গল্পটা ফুটিয়ে তুলুন। Hint: xs=np.linspace(0,1,2_000_001); fn=np.where((xs>0)&(xs<1/n), n, 0.0); np.trapezoid(fn,xs) \(\approx 1\); স্থির বিন্দুতে n if 0<0.3<1/n else 0

প্রশ্ন ১২ (★★). Cantor set-এর অবশিষ্ট-দৈর্ঘ্যের ক্ষয় সিমুলেট করুন: \(k=0,1,\dots,15\)-এর জন্য \(\lambda(C_k)=(2/3)^k\) গণনা করে (ক) একটা টেবিলে অবশিষ্ট ও অপসারিত দৈর্ঘ্য ছাপুন, এবং (খ) \(k\) বনাম \(\lambda(C_k)\) একটা semi-log plot-এ আঁকুন। চাইলে interval-সীমাগুলো বাস্তবিকভাবে গড়ে (প্রতিটি \([a,b]\)-কে \([a,a+\tfrac{b-a}{3}]\cup[b-\tfrac{b-a}{3},b]\)-এ ভেঙে) মোট দৈর্ঘ্য যোগ করে \((2/3)^k\)-এর সাথে মিলিয়ে দেখান। Hint: বিশ্লেষণী মান (2/3)**k; constructive-এ interval-তালিকা segs=[(0,1)] থেকে প্রতি ধাপে দুই টুকরোয় ভাঙুন, sum(b-a for a,b in segs) দেবে ঠিক \((2/3)^k\)


৮ · সারসংক্ষেপ ও সংযোগ

মূল পয়েন্ট (recap) — চারটি ফাটল ও একটিমাত্র সমাধান। Part II–VI জুড়ে \(\mathbb P(A)\)\(\mathbb E[X]=\int x f(x)\,dx\) সুন্দর discrete/continuous ক্ষেত্রে নিখুঁত কাজ করেছে, কিন্তু এই naive ভিত্তির নিচে চারটে ফাটল আছে — চারটে নিরীহ প্রশ্ন থেকে উন্মোচিত:

  • (C1) random স্বাভাবিক সংখ্যা। \(\mathbb N\)-এ কোনো fair uniform probability নেই: countable additivity-র অধীনে \(1=\sum_{k}c\) হয় \(0\) (যদি \(c=0\)) নয়তো \(\infty\) (যদি \(c>0\)), কখনোই \(1\) নয়। সসীম জগতে \(\sum_{k=1}^n\tfrac1n=1\) ঠিকঠাক — গোলমাল কেবল গণনাযোগ্য-অসীমে।
  • (C2) ক্ষেত্রফল-হীন function। Dirichlet \(D=\mathbf 1_{\mathbb Q}\) Riemann-integrable নয়: প্রতিটি partition-এ upper sum \(U=1\), lower sum \(L=0\) — কখনো মেলে না। অথচ Lebesgue integral একে শান্ত করে: \(\int_0^1 \mathbf 1_{\mathbb Q}\,d\lambda=0\)
  • (C3) না-ওজন-করা-যাওয়া set। Axiom of Choice দিয়ে গড়া Vitali set non-measurable — তাই \([0,1]\)-এর প্রতিটি subset (\(2^\Omega\))-কে translation-invariant, countably-additive "দৈর্ঘ্য" দেওয়া অসম্ভব; event-দের একটা \(\sigma\)-algebra-তে সীমিত করতেই হবে। (সহায়ক সত্য: \(\mathbb Q\cap[0,1]\) dense তবু \(\lambda^*=0\); Cantor set uncountable তবু \(\lambda=0\) — অর্থাৎ "measure zero \(\ne\) countable, \(\ne\) ছোট"।)
  • (C4) অদৃশ্য-হওয়া ভর। moving spike \(f_n=n\,\mathbf 1_{(0,1/n)}\)-এ \(\int f_n=1\) সব \(n\)-এ, অথচ \(f_n\to 0\) pointwise — তাই \(\lim_n\int f_n=1\ne 0=\int\lim_n f_n\)। limit ও integral সবসময় অদলবদল করা যায় না; কখন যায় তা বলবে MCT/Fatou/DCT।

একটিমাত্র ধারণায় সমাধান (Kolmogorov 1933): চার ফাটলের চিকিৎসা একই — probability হলো একটা \(\sigma\)-algebra-র উপর একটা measure, random variable হলো একটা measurable function, আর expectation হলো একটা Lebesgue integral। এই একক কাঠামো discrete + continuous + singular সবকিছুকে এক সুতোয় বাঁধে।

মূল সমীকরণ / তথ্য (mini-list)। - C1: \(1=\sum_{k=1}^\infty c\ \Rightarrow\ c=0\) (যোগফল \(0\)) বা \(c>0\) (যোগফল \(\infty\)) — কখনো \(1\) নয়। - C2: \(U(\mathbf 1_{\mathbb Q})=1,\ L(\mathbf 1_{\mathbb Q})=0\ \Rightarrow\) Riemann-অসম্ভব; কিন্তু \(\displaystyle\int_0^1\mathbf 1_{\mathbb Q}\,d\lambda=0\)। - C3: \(\lambda^*(\mathbb Q\cap[0,1])=0\) (ঢাকনা-দৈর্ঘ্য \(\le\varepsilon\)); Cantor: \(\lambda(C)=0\) অথচ \(\lvert C\rvert=2^{\aleph_0}\); Vitali \(V\): \(1\le\sum_k\lambda(V)\le 3\) অসম্ভব। - C4: \(\displaystyle\int_0^1 f_n\,dx=1\ \forall n\), কিন্তু \(f_n\to 0\ \Rightarrow\ \lim\textstyle\int\ne\int\lim\)। - একীকরণ: \((\Omega,\mathcal F,\mathbb P)\) — measure space; \(X:\Omega\to\mathbb R\) measurable; \(\mathbb E[X]=\int_\Omega X\,d\mathbb P\)

পূর্ববর্তী সংযোগ (back): - ← 2.1 — Kolmogorov-এর probability axiom (\(\mathbb P(A)\ge0\), \(\mathbb P(\Omega)=1\), additivity): এই অধ্যায় ঠিক সেই naive axiom-গুলোর সীমা (finite বনাম countable additivity, \(2^\Omega\) বনাম \(\sigma\)-algebra) উন্মোচন করল। - ← 2.4 — continuous density-তে probability = ক্ষেত্রফল (\(\mathbb P(a\le X\le b)=\int_a^b f\), কার্যত Riemann): C2/C4 দেখাল ঠিক এই Riemann-ভিত্তিক ক্ষেত্রফল-ভাবনা কোথায় ভাঙে। - ← 3.2 / 3.4 — modes of convergence ও CLT: C4-এর limit↔integral অদলবদলের প্রশ্ন সরাসরি pointwise-বনাম-integral পার্থক্যের উপর দাঁড়ায়; rigorous CLT (7.10) এরই উত্তরসূরি। - ← 4.4 — estimator-এর MSE/expectation (\(\mathbb E[(\hat\theta-\theta)^2]\)): সেই \(\mathbb E[\cdot]\)-কেই এখন Lebesgue integral হিসেবে পুনঃসংজ্ঞায়িত করার প্রেরণা।

পরবর্তী সংযোগ (forward): - → 7.2\(\sigma\)-algebra ও Carathéodory extension: C3-এর সমাধান — outer measure থেকে "ভদ্র" set-পরিবারের উপর প্রকৃত measure-নির্মাণ। - → 7.3measurable map / random variable: C2-এর সমাধান — কোন function-গুলো বৈধ random variable তার সঠিক সংজ্ঞা। - → 7.4Lebesgue integralMCT / Fatou / DCT: C2 ও C4-এর সমাধান — range-partition দিয়ে integral, এবং limit↔integral অদলবদলের নির্ভুল শর্ত। - → 7.10rigorous CLT: পুরো measure-তাত্ত্বিক যন্ত্র (characteristic function, convergence theorem) দিয়ে 3.4-এর CLT-এর কঠোর প্রমাণ।

সূত্র (sources): Klenke, Probability Theory: A Comprehensive Course, Ch. 1 (Basic Measure Theory — কেন naive probability অপর্যাপ্ত, \(\sigma\)-algebra ও measure-এর প্রয়োজন, Kolmogorov-এর axiomatic ভিত্তি); Kolmogorov, Grundbegriffe der Wahrscheinlichkeitsrechnung (1933) — ঐতিহাসিক মূল উৎস যেখানে probability প্রথম measure-তত্ত্বের স্বতঃসিদ্ধ কাঠামোয় বসানো হয়।

এক বাক্যে। চারটে নিরীহ প্রশ্ন — random স্বাভাবিক সংখ্যা (C1), ক্ষেত্রফল-হীন function (C2), না-ওজন-করা-যাওয়া set (C3), অদৃশ্য-হওয়া ভর (C4) — naive probability-এর ভিত্তিতে চারটে ফাটল দেখায়, আর একটিমাত্র ধারণা সবকটা বোজায়: probability হলো \(\sigma\)-algebra-র উপর measure, random variable হলো measurable function, expectation হলো Lebesgue integral।