האם גוגולפלקס הוא הסמל של סוף המספרים? (לא)

לפני מספר ימים נתקלתי בספר בשם "מתמטיקסם" של יעל רוטנברג. למי שרוצים להתרשם ממנו, הנה לינק לצילומי מסך ממנו בעמוד הפייסבוק של הספריה הלאומית. כפי שניתן לראות שם, וכפי שגם אני התרשמתי בעלעול שלי, מדובר על ספר נחמד מאוד שמציג דברים יפים במתמטיקה עבור ילדים, ובאופן כללי עושה את זה היטב. זו הסיבה שבגללה כל כך הזדעזעתי (לא באמת הזדעזעתי, אין צורך לדבר על כך בתגובות) כשהגעתי לדף שכותרתו "גוגולפלקס – הסמל של סוף המספרים".

כבר הכותרת מעלה דאגות, עבור מי שמכיר את המושגים, והטקסט הוא אכן בעייתי מאוד, ברמה שאני אוהב לכנות Not even wrong (בפרפראזה לא מדויקת על הציטוט הידוע של פאולי). אצטט אותו, ואז אסביר מה הבעיות שם. כרגיל, המטרה של הפוסט הזה היא לא (רק) להגיד "מה לא" אלא גם להגיד "מה כן", וכאן יש נושא מעניין למדי שאפשר לדבר עליו. למען הסר ספק – אני לא רוצה שיתקבל מהפוסט הזה הרושם שלא כדאי להורים לקנות לילדיהם את הספר; מהתרשמותי ממנו אני חושב שבהחלט כדאי שהם יקנו את הספר; רק שיקפידו לתלוש את הדף על גוגולפלקס.

מה שהולך שם הוא דיאלוג בין שני דוברים, אחד כתוב באדום ואחד בכחול; אני אקרא להם אליס ובוב. והנה הוא:

אליס: מי יודע מהו המספר האחרון?

בוב: אני יודע: מיליארד!

אליס: מה פתאום? בכלל לא! תמיד אפשר לספר מיליארד ואחת, מיליארד ושתים, מיליארד ושלוש, מיליארד וארבע… ככה בלי סוף.

בוב: אז אולי טריליון?

אליס: לא נכון! הרי שוב: תמיד אפשר לספר טריליון ואחת, טריליון ושתים, טריליון ושלוש, טריליון וארבע…

בוב: אה… רגע… אז בעצם אין סוף למספרים, כי לכל מספר אפשר להוסיף עוד מספרים, שיגדילו אותו…

אליס: אתה צודק. באמת אין סוף למספרים!

בוב: אז למה קודם שאלת מהו המספר האחרון? הרי אין כזה דבר – "המספר האחרון"!

אליס: נכון, אין כזה דבר "המספר האחרון". הוא לא קיים. אבל יש לו כינוי.

בוב: ומה הכינוי הזה?

אליס: "גוגולפלקס"

בוב: גוגולפלקס? חה-חה-חה! איזה כינוי מצחיק!

אליס: הנה, ככה הוא נראה:

10,000,000,000,000,000,000,0

00,000,000,000,000,000,000,0

00,000,000,000,000,000,000,0

00,000,000,000,000,000

בוב: וואי וואי וואי… מה זה?

אליס: זה המספר 10 ואחריו מאה אפסים… זה גוגולפלקס.

בוב: אז בכל פעם שארצה לכתוב "גוגולפלקס" אצטרך לציר מאה אפסים? זה מאוד קשה!

אליס: אכן זה מאוד קשה. לכן במקום זה אפשר לכתוב עשר בחזקת מאה, כך: \(10^{100}\).

בוב: אני עדיין לא מבין איך אפשר לתת שם למשהו שלא קים. חוץ מזה, כיצד ייתכן שגוגולפלקס הוא המספר האחרון? הרי אחריו בא גוגולפלקס ואחת, גוגולפלקס ושתים, גוגולפלקס ושלוש, כמו שהסברת לי קודם…

אליס: הבן: גוגולפלקס אינו מספר; הוא סמל. אכן, לכל מספר אפשר להוסיף עוד מספרים, אבל לסמל הזה, גוגולפלקס, אי אפשר להוסיף עוד מספרים. לכן אין גוגולפלקס ואחת! הבנת?

בוב: אני חושב שכן, אבל תגידי לי: יש כזה דבר – גוגולפלקס ואחת, גוגולפלקס ושתיים, גוגולפלקס ושלוש?

זהו, כאן זה נגמר. מרגיש לכם קטוע? גם לי. ההשערה שלי היא שכל הטקסט היה טיוטא שהתפרסמה בטעות; וטיוטא שעירבבה בטעות שני נושאים לחלוטין לא קשורים. אחד מהם הוא המספר גוגולפלקס, והשני הוא השאלה האם קיים סוף למספרים. בטיפול בכל אחד מהנושאים נפלו טעויות, אבל הטעויות שקשורות לגוגולפלקס הן שוליות, בעוד הטעויות שקשורות לסוף המספרים… ובכן, אוי ואבוי.

נתחיל מגוגולפלקס. בטקסט זה השם שנותנים בטעות למספר גוגול, שהוא \(10^{100}\), כלומר 1 ואז מאה אפסים אחרי (ולא 10 ואז מאה אפסים אחריו כפי שאומרים בטעות בטקסט). את השם "גוגול" המציא ילד בן 9, מילטון סירוטה, בשיחה עם דודו המתמטיקאי אדוארד קסנר. אין לגוגול חשיבות מיוחדת במתמטיקה או פיזיקה (הוא "עגול" מדי ומתאים מדי לבסיס 10 בשביל להיות משהו שצץ באופן טבעי כמו \(e\) או \(\pi\)) והמטרה שלו היא פופולריזציה שלה אצל ילדים, ואת זה הוא עושה נפלא כי זה מספר מעניין עם שם מוצלח. וכן, כמובן שהדמיון לשמה של חברת גוגל אינו מקרי – גוגל היא שיבוש (בטעות, אם איני טועה) של גוגול.

ומה הוא גוגולפלקס? מילטון המציא גם אותו, בתור "1 ואז לכתוב אפסים עד שאתה מתעייף". קסנר הלך על הגדרה קצת יותר פורמלית (שמגדירה מספר הרבה, הרבה יותר גדול מאשר זה של מילטון): 10 בחזקת גוגול, כלומר \(10^{\left(10^{100}\right)}\). אם גוגול הוא אדיר ממדים, גוגולפלקס הוא אדיר ברמות שלא יאומנו. את גוגול כתבתי במלואו למעלה; את גוגולפלקס לא יהיה ניתן לכתוב גם אם כל היקום הידוע יהיה הנייר שלנו.

גוגול תואר בצורה נפלאה ב"אני שונא מתמטיקה" של מרילין ברנס, שהוא הספר הראשון שגרם לי, כילד קטן, להתעניין במתמטיקה; הנה מה שהולך בגרסה העברית:

googol1 googol2

ככה עושים את זה נכון.

וחזרה למתמטיקסם – מה הקשר בין גוגול, או גוגולפלקס, ו"סוף המספרים"? אין שום קשר! אני ממש לא מבין מה גוגולפלקס עושה שם בכלל. אבל זו לא הבעיה העיקרית. הבעיה העיקרית היא שהספר עושה מיש-מש אחד גדול מכל שאלת סוף המספרים.

ההתחלה דווקא טובה – הדיון של אליס ובוב נוגע בדיוק בלב העניין. לא משנה איזה מספר ניקח בתור מועמד להיות "המספר האחרון", תמיד אפשר להוסיף לו 1 והתוצאה תהיה מספר גדול יותר. זו הדרך לשכנע ילדים שאין מספר גדול ביותר. אבל אחרי השלב הזה בדיאלוג, אנחנו פתאום לומדים כל מני דברים:

  1. שבמתמטיקה יש דברים שלא קיימים אבל יש להם כינוי.
  2. שמספר שלא קיים יכול להיכתב בצורה קונקרטית בתור מספר אמיתי (\(10^{100}\)).
  3. שיש הבדל בין "מספר" ובין "סמל", ולסמל "אי אפשר להוסיף" מספרים (כלומר, \(10^{100}+1\) אינו מספר?)

גם סגנון הכתיבה פתאום הופך להיות פסקני ומעיק. מה זה ה"הבן" הזה? מי מדבר ככה? ומה זו הנחרצות של "לסמל הזה אי אפשר להוסיף עוד מספרים"? למה אי אפשר? איזו מין דרך זו להציג דברים במתמטיקה, לומר "אי אפשר כי אי אפשר וזהו"?

אני מנחש שמה שרצו לדבר עליו כאן במקור הוא \(\omega\). מה זה \(\omega\)? זה משהו שמכונה במתמטיקה מספר סודר. יש לי פוסטים על הפורמליזם של סודרים ולא אכנס אליו כאן. הרעיון האינטואיטיבי הוא שסודרים משמשים אותנו בשביל ספירה מסודרת, לא של כמות אלא של סדר: נאמר, בתור כלשהו יש את המקום הראשון, השני, השלישי, הרביעי וכן הלאה; המספרים הטבעיים משמשים אותנו כדי לתאר את הסדר של האיברים בתור. על כן, המספרים הטבעיים נקראים סודרים. השאלה היא רק האם יש משהו שמגיע "אחרי" כל המספרים הטבעיים – מספר כלשהו שגדול מכולם. התשובה היא שאין מספר טבעי שגדול מכל הטבעיים, כי אם \(n\) הוא מספר טבעי, גם \(n+1\) הוא מספר טבעי, אבל שאפשר לתת הגדרה כללית יותר למספרים סודרים, ובה נקבל שאכן, קיימים מספרים סודרים שגדולים מכל הטבעיים. למספר הסודר הקטן ביותר שמקיים את זה קוראים \(\omega\) (אומגה ביוונית). אם אתם תוהים איך אפשר לדעת שמשהו כמו אומגה קיים בכלל – הרעיון האינטואיטיבי הוא שכל סודר שווה לקבוצת כל הסודרים שקטנים ממנו, כך שאומגה הוא בסך הכל קבוצת המספרים הטבעיים; בפוסטים שקישרתי אליהם נכנסים אל העניין בצורה יותר מסודרת.

האם \(\omega\) הוא "הסוף של המספרים"? ובכן, לא; אפשר להוסיף גם לו 1! כלומר, \(\omega+1\) גם הוא סודר חוקי (פורמלית זו הקבוצה שכוללת את כל המספרים הטבעיים ואת \(\omega\)), וגם לסודר הזה אפשר להוסיף 1, וכן הלאה. למעשה, טריק ה"אפשר להוסיף 1" שגם ילדים ללא ידע במתמטיקה מסוגלים להבין הוא גם ההוכחה הפורמלית שאפשר לתת לכך שאין סודר גדול ביותר – אין ולא יהיה "מספר אחרון".

מה שנכון הוא שאפשר לחשוב על \(\omega\) בתור "סוף המספרים הטבעיים", במובן זה שכל המספרים הטבעיים קטנים מ-\(\omega\) ואין עוד מספרים סודרים בין \(\omega\) ובין הטבעיים. חשבו על \(\omega\) בתור מעין "קו גבול" שהוא בעצמו אינו מספר טבעי, והטבעיים הולכים ומתקרבים אליו אבל אף פעם אינם מגיעים אליו – הגבול הזה הוא ה"סוף" עבור המספרים הטבעיים. אבל זה שונה מהדיון על "המספר הטבעי האחרון" מכיוון ש-\(\omega\) אינו מספר טבעי, ולכן בוודאי שאינו המספר הטבעי האחרון; פשוט לא קיים מספר טבעי אחרון.

זו תחושת ההחמצה העיקרית שלי לגבי מה שהספר עשה – הייתה לו הזדמנות להציג את הרעיון הכל כך יפה ומגניב ונפלא הזה של \(\omega\), והוא לא עשה את זה. מילא שלא עשה את זה (נראה לי קשה להציג את \(\omega\) לילדים בצורה טובה) אבל מה שהוא עשה במקום זה…

אה, וגם לא ראיתי שמדברים בספר על המלון של הילברט. וזה באמת חבל.

התעלומה המסתורית של הנער המבריק, יחס הזהב והנוסחה השגויה במוזיאון

העיתונים – גם אתר Nrg, אבל גם אתרים לא ישראליים – מספרים סיפור יפה. נער בן 15 (יהודי, טורחים לציין ב-Nrg, איך לא) מבקר במוזיאון המדע בבוסטון. מגיע לתערוכה על מתמטיקה, ומזהה שם משוואה שנראית לו – הצעיר המבריק – לא נכונה. הוא מודיע למוזיאון, ובכך מתקן שגיאה בת 35 שנים. נפלא! צעיר מבריק! עתיד מבטיח! כל הכבוד!

האמת העגומה היא שהסיפור הזה לא נכון. הנער בן ה-15 אכן ביקר במוזיאון וראה משהו שנראה לו כמו שגיאה והודיע על כך, והמוזיאון גם אמר שיתקן, אבל חיש קל התברר שבעצם לא הייתה פה שום שגיאה. פשוט, כפי שקורה לפעמים במתמטיקה, יש יותר מדרך אחת להציג דברים. הנער הכיר את אחת הדרכים, המוזיאון הציג דרך אחרת (מקובלת פחות, יש לציין), ומכאן והלאה התקשורת השתוללה.

אני לא הולך לדבר על הנער מכאן ואילך, כי אני לא רוצה להעביר עליו ביקורת, בטח כשאני לא יודע מה בדיוק הוא אמר; לי נראה שהוא דווקא יוצא טוב מכל הסיפור. הוא גם התעניין, גם בדק שמה שהוא מכיר אכן שונה ממה שנכתב במוצג במוזיאון, וגם התריע. אחלה! בגילו בכלל לא הכרתי את המושגים הרלוונטיים. אז הוא לא הבין שהטעות אינה באמת טעות, אז מה? זה לא מתפקידו לדעת את זה; אם כבר, המוזיאון יצא מוזר מאוד בכך שמיהר להגיד שיתקן את הטעות, והעיתונים יצאו עצלנים מאוד, כרגיל.

בואו נראה תמונה של המוצג, כפי שהנער צילם אותה:

golden_ratio_museum

כפי שאפשר להבין, התמונה עוסקת בקבוע מתמטי מפורסם ואהוב מאוד: יחס הזהב. מעולם לא כתבתי פוסט על יחס הזהב וגם כעת איני חש צורך לעשות את זה, כי לדעתי זה יחס שזוכה ליותר מדי תשומת לב ומנסים למצוא אותו יותר מדי במקומות שלא לגמרי קשורים. עם זאת, הוא צץ במתמטיקה במספר הקשרים נחמדים, ולכן יצא לי כבר לכתוב פוסטים על נושאים שבהם הוא הופיע: למשל זה, זה וזה. כיאה למספר שמופיע במקומות שונים רבים, יש כמה דרכים שונות להגדיר אותו. הנה אחת שמשתמשת במוצג שבתערוכה: מלבן זהב (Golden Rectangle). הרעיון במלבן זהב הוא פשוט ויפה: זה מלבן שאם מפרקים אותו לריבוע ומלבן נוסף, המלבן החדש שקיבלנו הוא בעל אותן פרופורציות כמו המלבן שממנו התחלנו (כלומר, היחס בין הצלע הארוכה והקצרה במלבן החדש שווה לזה של המלבן הישן). מהן הפרופורציות הללו? ובכן, זה תרגיל חשבוני קל. נסמן את הצלע הארוכה של המלבן ב-\(x\) ואת הצלע הקצרה שלו ב-1, כך שהיחס שאנחנו מחפשים הוא בדיוק \(x\); אז הריבוע שאנחנו גוזרים מהמלבן הוא בעל אורך צלע 1, ולכן המלבן החדש שנקבל יהיה בעל צלעות מאורך \(1\) (הארוכה) ו-\(x-1\) (הקצרה). אם הפרופורציות שוות, אז קיבלנו את המשוואה \(\frac{x}{1}=\frac{1}{x-1}\), שממנה מקבלים את המשוואה הריבועית \(x^{2}-x-1=0\) (בניסוח קצת יותר נוח, \(x^{2}=x+1\)).

golden_rectangle

את המשוואה הזו אפשר לפתור עם נוסחת השורשים, ומקבלים את הפתרונות \(\frac{1\pm\sqrt{5}}{2}\). מכיוון ש-\(\sqrt{5}\) הוא גדול מ-1, פתרון אחד יוצא שלילי ופתרון אחר יוצא חיובי. הפתרון החיובי מסומן ב-\(\phi\) (האות היוונית פי קטנה), והוא שווה ל-\(1.6180\dots\), כאשר שלוש הנקודות פירושן שהמספר ממשיך מכאן הלאה; אין להמשך חוקיות ברורה כי זה מספר אי רציונלי ולכן לא ניתן להצגה מחזורית (אבל יש לו הצגה מחזורית פשוטה במיוחד בתור שבר משולב; לא נדבר על זה כאן).

אם כן, \(\phi=\frac{1+\sqrt{5}}{2}\). מה ראה הנער במוזיאון? מוצג שכנראה מנסה להדגים איך ניתן לבנות מלבן זהב בעזרת סרגל ומחוגה. קשה לראות את הטכניקה עצמה בתמונה. הנה הסבר שנלקח מויקיפדיה העברית:

Golden_Rectangle_Construction.svg

בנייה של מלבן זהב:
1. בנה ריבוע שצלעו יחידה.(מודגש באדום)
2. חצה אותו לשני מלבנים.
3. השתמש באלכסון של אחד המלבנים כרדיוס לבניית מלבן הזהב

הנער ראה שבכיתוב במוזיאון כותבים \(\frac{\sqrt{5}-1}{2}\) בתור \(\Phi\), וקפצה לו נורת אזהרה לראש כי מה זה המינוס הזה, הרי יחס הזהב הוא \(\frac{\sqrt{5}+1}{2}\). גם אני נוהג לחפש טעויות כשאני מסתכל על מוצגים מתמטיים במוזיאון (כי נושא טוב לבלוג!) ויכול להבין מה עבר לו בראש. הפספוס שלו הוא הטקסט הקצת מוזר שכתוב במוצג: היחס בין הצלע הקצרה של המלבן והארוכה הוא \(\frac{\sqrt{5}-1}{2}\).

נזכיר: יחס הזהב הוא היחס בין הצלע הארוכה והקצרה, לא הקצרה והארוכה. אם יש לי צלע מאורך 6 וצלע מאורך 3, אז היחס בין הארוכה והקצרה הוא 2, בזמן שהיחס בין הקצרה והארוכה הוא \(\frac{1}{2}\). דהיינו, המספר שהם כתבו במוצג הוא לא \(\phi\) אלא \(\frac{1}{\phi}\). אלא שחישוב קצר יראה לכם שבאמת מתקיים \(\frac{1}{\phi}=\frac{\sqrt{5}-1}{2}\): פשוט תכפלו את \(\phi\) ב-\(\frac{\sqrt{5}-1}{2}\) ותקבלו \(\frac{5-1}{4}\). בקיצור, אין טעות בכיתוב.

אבל רגע, מה עם הסימן \(\Phi\)? יש לכל הפחות טעות בסימן, לא? ובכן, כך גם אני חשבתי הבוקר כשראיתי את הידיעה, אבל מסתבר שטעיתי – הסימון \(\Phi\) הוא דווקא סימון מקובל עבור \(\frac{1}{\phi}\), לפחות אצל וולפרם (לא בדקתי את הרפרנסים שלו). שימו לב להבדל: \(\phi\) היא אות קטנה, בעוד \(\Phi\) היא אות גדולה (זו אותה האות ביוונית – פי, phi). אז אפילו בסימון הזה הכיתוב צודק.

אני לא מתלונן, כמובן; כל דבר שמעלה את המתמטיקה לכותרות זה אחלה. עדיין, יש שני דברים שמעצבנים אותי בדיווח הזה. ראשית, הוא תורם לסטריאוטיפ של "רק גאונים יכולים להתעסק במתמטיקה", כי הנה, הייתה טעות במוזיאון במשך עשרות שנים שחיכתה שיבוא הגאון (ונער הוא תמיד גאון יותר מוצלח ממבוגר; ויהודי, אז בכלל) שיגלה אותה. סתם אנשים לא יכולים להבין (וכמובן, כמעט בשום מקום לא מראים מה הייתה הטעות בכלל). הדבר השני שמעצבן אותי הוא הניסוחים המקושקשים לגמרי שכתב Nrg הרשה לעצמו להשתמש בהם (בכתבות לא מהארץ שקראתי על הנושא הניסוחים היו טובים בהרבה):

במשך 35 שנים עמדו מבקרים במוזיאון המדע בבוסטון מול התערוכה "מתמטיקה – עולם של מספרים, ומעבר לכך" וניסו לפתור את המשוואות המתמטיות שהציגה התערוכה. מרביתם נתקלו בקשיים רבים, עד שהגיע תלמיד התיכון היהודי ג'וזף רוזנפלד בן ה-15 וגילה כי אחת המשוואות לא ניתנת לפיתרון פשוט משום שהיא מכילה טעות.

איזה משוואה הייתה כאן לפתור? שום דבר! מה לא ניתן לפתרון כאן? שום דבר! אז למה, הו למה, כתב Nrg נחמד, למה אתה חייב להמציא דברים לא קשורים? אתה הרי מבין שאתה לא מבין על מה מדובר, ולא טרחת לברר פרטים מעבר למה שפורסם במקומות אחרים, אז בחייך, אל תתחיל להמציא שטויות. בקצב הזה עוד נגיע למסקנה שבעיתונות כותבים דברים לא נכונים.

על משחקים ומספרים (חלק ב': מספרים. וקצת משחקים)

בפוסט הקודם התחלתי לבנות קבוצה של מספרים שהמוטיבציה אליהם הגיעה איכשהו מתוך משחקים קומבינטוריים. כזכור, הבניה הייתה פשוטה להפליא: כל מספר מיוצג על ידי אובייקט מהצורה \(\left\{ L|R\right\} \) כאשר \(L,R\) הן קבוצות, וכלל הבניה שלנו הוא ש"מספר" הוא אובייקט כזה כך ש-\(L,R\) הן שתיהן קבוצות של מספרים וכל איבר של \(L\) קטן ממש מכל איבר של \(R\), כאשר "קטן" מוגדר באמצעות היחס \(y\le x\) אם ורק אם לא קיים \(x^{R}\le y\) ולא קיים \(x\le y^{L}\).

ההגדרה הפשוטה להפליא הזו יוצרת קבוצה אדירה של מספרים. אבל לפני שנצלול לעומק העניין, בואו נחשוב לרגע על הגדרות דומות לה שאנחנו מכירים מהמתמטיקה ה"רגילה". יש שתי הגדרות שקופצות מייד לראש – הגדרת הממשיים באמצעות חתכי דדקינד, והגדרת המספרים הסודרים בשיטה של ג'ון פון-נוימן.

המספרים של קונווי הם באופן כמעט מובהק הכללה של חתכי דדקינד (קונווי מתייחס לכך בעצמו, כמובן). כזכור, חתך דדקינד מתקבל מכך שאנחנו לוקחים את הרציונליים, \(\mathbb{Q}\), ומחלקים אותם לשתי קבוצות, \(L,R\), כך שכל איבר של \(L\) קטן מכל איבר של \(R\) (אפשר גם סתם לציין את \(L\) ולדרוש שהיא תהיה בעלת התכונה שאם \(x\in L\) ו-\(y\le x\) אז \(y\in L\)) ול-\(L\) אין איבר מקסימלי (תמיד אפשר להעביר את האיבר המקסימלי אל \(R\)). אינטואיטיבית הרעיון הוא שחתך כזה מגדיר את המספר הממשי שהוא הסופרמום של \(L\) (ואם הסופרמום הוא רציונלי, אז הוא יהיה האיבר המינימלי ב-\(R\)). המספר שחתך מגדיר הוא מה שתקוע בדיוק "בין" \(L,R\).

איך זה שונה ממה שקונווי עושה? ראשית, אצל דדקינד המספרים הרציונליים כבר קיימים; קונווי לא מניח קיום של שום דבר. שנית, אצל דדקינד \(L,R\) ביחד חייבות לכלול את כל הרציונליים ורק אותם, ואילו אצל קונווי הן יכולות להיות חלקיות ביותר, ויכולות גם לכלול מספרים לא רציונליים, כל עוד הם נבנו קודם. כך אצל קונווי אנחנו מקבלים ש-\(\left\{ -4|5,17\right\} \) הוא ייצוג שונה ל-0 (שהוגדר, כזכור, בתור \(\left\{ \ |\ \right\} \)) למרות שאין סיבה מיוחדת לומר שדווקא 0 הוא מה ש"תקוע" בין \(-4\) ובין 5 ו-17. עדיין, אם איברי \(L\) ישאפו למספר כלשהו מלמטה, ואברי \(R\) ישאפו למספר כלשהו מלמעלה, אז \(\left\{ L|R\right\} \) הולך לייצג את המספר הזה, ואנחנו ננצל את זה בקרוב.

ומה פון-נוימן עושה? הוא מגדיר מספרים סודרים בתור קבוצת כל המספרים הקטנים מהם. כך 0 הוא \(\emptyset\), ואילו \(1=\left\{ 0\right\} \), ו-\(2=\left\{ 0,1\right\} \) וכן הלאה. בצורה הזו נבנים כל המספרים הטבעיים, ואז אפשר להמשיך עם זה הלאה: \(\omega=\left\{ 0,1,2,\dots\right\} \) ו-\(\omega+1=\left\{ 0,1,2,\dots,\omega\right\} \) וכך עד אינסוף ומעבר לו. הרעיונות הללו מתורגמים בצורה מיידית לגישה של קונווי, אם משאירים את \(L\) ריקה ומסתכלים על \(R\): \(0=\left\{ \ |\ \right\} \) ו-\(1=\left\{ \ |0\right\} \) ו-\(2=\left\{ \ |0,1\right\} \) וכן הלאה; וגם פה אפשר להגדיר \(\omega=\left\{ \ |0,1,2,\dots\right\} \) ולהמשיך עם זה הלאה. אלא שאצל קונווי ה-\(\omega\) הזה חי באותו יקום כמו שאר המספרים, למשל \(\frac{1}{2}\), ולכן אפשר לחבר ולכפול אותם; ואפשר גם למצוא הופכי, כלומר קיים מספר שמתאים ל-\(\frac{1}{\omega}\) (והוא לא 0), כך שאנחנו מקבלים גם ייצוג פורמלי עבור אינפיניטסימלים; בקיצור, כיף חיים.

אבל לפני שנגיע לדברים הגרנדיוזיים הללו, אני צריך לפתור בעיה פשוטה – איפה \(\frac{1}{3}\)? טרם הצלחתי להגדיר אותו בכלל.

את מי כן הצלחתי להגדיר? את השלמים, וגם את \(\frac{1}{2}=\left\{ 0|1\right\} \) ואת \(\frac{1}{4}=\left\{ 0|\frac{1}{2}\right\} \) וכן הלאה עבור כל המספרים מהצורה \(\frac{1}{2^{n}}\). ומכיוון שיש לי גם חיבור, אז גם סכומים שלהם. זה טוב – זה ממש ממש טוב, מכיוון שלכל מספר ממשי קיים ייצוג בינארי, כלומר ייצוג בתור סכום של חזקות של 2 (כולל חזקות שליליות, כלומר \(\frac{1}{2^{n}}\)). בתור אימון, בואו נמצא את הייצוג הזה עבור \(\frac{1}{3}\).

איך בכלל מוצאים ייצוג בינארי עבור שבר? אולי יהיה לכם קל להיזכר קודם באופן שבו מבצעים חילוק ארוך בבסיס 10. אנחנו מחלקים את 1 ב-3: בתור התחלה, אנחנו בודקים כמה פעמים 3 נכנס ב-1 (0 פעמים) וכותבים את המספר 0, ואחריו את הנקודה העשרונית. עכשיו אנחנו לוקחים את השארית שלנו (שהיא 1, כי החילוק הניב מנה 0 ושארית 1). וכופלים אותה ב-10, כי 10 הוא בסיס הספירה שלנו. עכשיו אנחנו שוב מחלקים-עם-שארית את ה-10 הזה ב-3 ומקבלים מנה 3 ושארית 1. את המנה אנחנו כותבים בתור הספרה הבאה בייצוג, ואת 1 אנחנו שוב כופלים ב-10, וכן הלאה. כך מתקבל \(0.333\dots\).

עבור בסיס 2 ההבדל היחיד הוא שאנחנו כופלים ב-2 במקום ב-10. לכן הספרה שלפני הנקודה העשרונית עדיין תהיה 0; אחריה נקבל עוד 0 (כי אחרי כפל ב-2 נקבל 2 שהוא קטן מ-3). אחרי כפל נוסף ב-2 נקבל 4, ולכן אחרי חלוקה ב-3 נקבל מנה 1 ושארית 1. שוב הגענו למחזוריות (שארית 1) ולכן קל כבר לראות שנקבל את הייצוג הבינארי \(0.01010101\dots\). אם נכתוב את זה בתור טור, נקבל \(\frac{1}{4}+\frac{1}{16}+\frac{1}{64}+\dots\) – כלומר, כל פעם כופלים את החזקה ב-4. זה טור הנדסי פשוט מאוד ואם אתם עוד לא משוכנעים שאני צודק, קל מאוד לחשב את סכומו:

\(\frac{1}{4}+\frac{1}{16}+\frac{1}{64}+\dots=\frac{1}{4}\left(\sum_{n=0}^{\infty}\left(\frac{1}{4}\right)^{n}\right)=\frac{1}{4}\frac{1}{1-1/4}=\frac{1}{4}\frac{1}{3/4}=\frac{1}{3}\)

מסקנה: נגדיר את \(L\) שלנו להיות הקבוצה שכוללת את כל הסכומים החלקיים בפיתוח הזה: \(\frac{1}{4},\frac{1}{4}+\frac{1}{16},\dots\). אנחנו עדיין צריכים להגדיר את \(R\), כי לא לגמרי ברור לנו מה נקבל אם ניקח רק את \(L\) בזמן ש-\(R\) נותרת ריקה (התשובה, שאגיע אליה בהמשך, היא 1). בשביל \(R\) נראה לשאוף אל \(\frac{1}{3}\) "מלמעלה". לצורך כך נתחיל עם \(\frac{1}{2}\) ונתחיל להחסיר. אם \(\frac{1}{2}-x=\frac{1}{3}\) אז

\(x=\frac{1}{2}-\frac{1}{3}=\frac{1}{6}=\frac{1}{2}\cdot\frac{1}{3}=\frac{1}{2}\left(\frac{1}{4}+\frac{1}{16}+\dots\right)\)

מסקנה:

\(\frac{1}{3}=\frac{1}{2}-\left(\frac{1}{8}-\frac{1}{32}-\dots\right)\)

ולכן קיבלנו את ההגדרה של \(\frac{1}{3}\) כמספר-סטיל-קונווי: \(\frac{1}{3}=\left\{ \frac{1}{4},\frac{1}{4}+\frac{1}{16},\frac{1}{4}+\frac{1}{16}+\frac{1}{64},\dots|\frac{1}{2},\frac{1}{2}-\frac{1}{8},\frac{1}{2}-\frac{1}{8}-\frac{1}{32},\dots\right\} \)

את \(\frac{1}{3}\) עשיתי בפירוט, אבל אני מקווה שאתם כבר משוכנעים שאפשר לקבל כך כל מספר רציונלי. אבל אם אפשר לקבל כל מספר רציונלי, אפשר לקבל כל מספר ממשי, כי הרציונליים צפופים בממשיים; ולכן באמצעות המספרים שהם חזקות של 2 שבנינו עד כה, אפשר לקבל את כל המספרים הממשיים.

קונווי מציג את הבניה כמתרחשת ב"ימים". ביום הראשון בונים את 0; ביום השני את 1 ואת \(-1\); ביום השלישי את \(2\) ו-\(-2\) וגם את \(\frac{1}{2}\) ו-\(-\frac{1}{2}\) וכן הלאה. היום המעניין הבא בבניה הוא \(\omega\) (היום ה"אינסופי" הראשון) – ביום הזה מקבלים בבת אחת כל כל הממשיים שאינם חזקות של 2. אבל מקבלים בו יותר מזה – גם את \(\omega=\left\{ \ |0,1,2,\dots\right\} \) שתיארתי קודם.

ומה קורה אחר כך? ובכן, לכל מספר סודר יש יום בבניה שמתאים לו. ביום הזה ייבנה, באופן לא מפתיע, המספר הסודר הזה, אבל נבנים עוד דברים: למשל, מה זה \(\left\{ 0,1,2,\dots|\omega\right\} \)? זה מספר מוזר שאמור להיות גדול מכל הטבעיים אבל קטן מ-\(\omega\). זה משהו שלא קיים עבור סודרים; אנחנו קוראים בשם \(\omega\) לסודר הראשון שגדול מכל הטבעיים. אבל בבניה של קונווי המספר \(\left\{ 0,1,2,\dots|\omega\right\} \) הוא יצור חי וקיים, ואם חוקרים אותו קצת מגלים שהוא אמור להיות \(\omega-1\) (כלומר, זה מספר שאם מחברים לו 1 מקבלים את \(\omega\)). ואז אפשר לבנות את \(\omega-2=\left\{ 0,1,2,\dots|\omega-1\right\} \), וכן הלאה את \(\omega-n\) לכל \(n\) טבעי.

אוקיי, זה קצת מוזר.

זה לא לגמרי מוזר – האובייקט שקונווי בונה אמור להיות שדה, ולכן פעולת החיסור חייבת להיות מוגדרת עבור כל שני איברים שלו. עדיין, זה לא אינטואיטיבי למי שהתרגל לסודרים במתכונת הסטנדרטית שלהם.

בואו נמשיך עם זה קצת ונראה לאן נגיע. מה יהיה המספר \(\left\{ 0,1,2,\dots|\omega,\omega-1,\omega-2,\dots\right\} =\left\{ n|\omega-n\right\} \)? מצד אחד הוא גדול מכל הטבעיים, מצד שני הוא קטן מכל ה-\(\omega-n\)-ים האפשריים. ובכן, מתברר שהוא \(\frac{\omega}{2}\) – אם נחבר אותו לעצמו נקבל \(\omega\). על פי ההגדרה הפורמלית של החיבור, אם נסמן לרגע את המספר הזה בתור \(x\), נקבל \(\left\{ x,x+1,x+2,\dots|\omega+x,\omega+\left(x-1\right),\omega+\left(x-2\right),\dots\right\} =\left\{ x+n|\omega+\left(x-n\right)\right\} \); אז איך אפשר לדעת שהיצור הזה שווה ל-\(\omega=\left\{ 0,1,2,\dots|\ \right\} \)?

ובכן, זכרו את האופן שבו הוגדר שוויון – צריך להוכיח אי-שוויון דו כיווני. כלומר, להוכיח ש-\(2x\le\omega\) וגם \(\omega\le2x\). כדי שהדבר הראשון יתקיים אנחנו צריכים לוודא שאין "דוגמה נגדית" לאי השוויון – כלומר, שלא מתקיים \(\omega\le2x^{L}\) ולא מתקיים \(\omega^{R}\le2x\) (קחו רגע ונסו להזכיר לעצמכם למה דווקא שני אי השוויונים הללו). אי השוויון \(\omega\le2x^{L}\) הוא קל, כי כל איבר מהצורה \(2x^{L}\) הוא מהצורה \(x+n\) כאשר \(n\) טבעי, אבל אנחנו יודעים ש-\(x<\omega-n\) (מהגדרתו) ולכן נקבל ש-\(x+n<\omega\) (כמובן, אתם צריכים להאמין לכך שכללי האריתמטיקה מתקיימים, אבל לא לדאוג – קונווי מוכיח את זה). כעת, \(\omega^{R}\le2x\) עוד יותר קל כי אין בכלל איברים מהצורה \(\omega^{R}\). זה מוכיח ש-\(2x\le\omega\).

בשביל הכיוון השני צריך להוכיח שלא מתקיים \(2x\le\omega^{L}\) ושלא מתקיים \(2x^{R}\le\omega\). הראשון ברור – כל \(\omega^{L}\) הוא מספר טבעי \(n\), ואנו יודעים ש-\(x+n<2x\). עבור השני, זה נובע מכך שכל \(2x^{R}\) הוא מהצורה \(\omega+\left(x-n\right)\) כאשר אנו יודעים ש-\(n<x\) לכל \(n\) טבעי, ולכן (שוב, עם אמונה בכללי אריתמטיקה כלשהם) מקבלים את המסקנה.

כרגיל, הוידוא הזה היה קצת מציק. האם אין דרך יותר טבעית להסתכל על הגדרה כלשהי של מספר ולראות בקלות שהוא זהה למספר קיים? ובכן, יש, והגיע הזמן שנראה אותה. קונווי מכנה את הכלל הזה "כלל הפשטות", לא בגלל שהוא פשוט (הניסוח קצת מבלבל) אלא בגלל שהוא אומר שבהינתן מספר כללי \(\left\{ L|R\right\} \) ואנו רוצים לדעת לאיזה מהמספרים שקונווי בנה הוא שוה, אז המספר הנכון יהיה המספר הכי פשוט שמתאים, כאשר "פשטות" כאן נקבעת על פי ה"יום" שבו המספר נבנה אצל קונווי. אמרתי שזה מבלבל, נכון? אבל 0 פשוט יותר מ-1, ו-1 פשוט יותר מ-2 וכדומה. וכל המספרים הממשיים שנבנו ביום ה-\(\omega\) הם פשוטים באותה מידה, אבל מסובכים יותר מכל אלו שבאו לפניהם. הרעיון הוא שמספר "מסובך יותר" נבנה מתוך מספרים פשוטים יותר – הם יהיו האופציות שמופיעות באגף ימין ושמאל שלו.

הנה הניסוח המדויק של המשפט: אם \(x=\left\{ x^{L}|x^{R}\right\} \) ו-\(z\) הוא מספר כלשהו כך ש-\(x^{L}<z\) וגם \(z<x^{R}\) לכל \(x^{L},x^{R}\), אבל התכונה הזו לא מתקיימת על ידי אף אופציה של \(z\) (כלומר, לא על ידי אף \(z^{L}\) או \(z^{R}\)), אז \(x=z\).

ההוכחה די קלה, ודי דומה למה שעשינו לפני רגע. נוכיח ש-\(z\le x\). האפשרויות שצריך לשלול הן ש-\(x^{R}\le z\) (נשלל, כי ההנחה היא ש-\(z<x^{R}\)) וש-\(x\le z^{L}\). כדי לשלול את האפשרות הזו נרצה להראות שנובע ממנה ש-\(z^{L}\) מקיים את אותה תכונה כמו \(z\) המקורי, כלומר ש-\(x^{L}<z^{L}\) וגם \(z^{L}<x^{R}\). הראשון מבין שני אלו נובע מיד, כי \(x^{L}<x\); עבור השני, נשתמש בכך ש-\(z^{L}<z<x^{R}\).

נשאר להוכיח ש-\(x\le z\). כאן האפשרויות שצריך לשלול הן ש-\(z\le x^{L}\) (נשלל מייד כי \(x^{L}<z\)) וש-\(z^{R}\le x\); את זה שוללים באופן סימטרי לקודם. זה מסיים את המשפט.

עכשיו ברור מייד מיהו \(\left\{ x+n|\omega+\left(x-n\right)\right\} \): מצד אחד, \(\omega\) מתאים, כי הוא קטן מכל מי שבאגף ימין וגדול מכל מי שבאגף שמאל; מצד שני, כל האופציות של \(\omega\) הן טבעיים, וכולם קטנים ממישהו מאגף שמאל, כך שזה מסיים את הסיפור. עכשיו, באופן דומה, אפשר להסתכל על \(\left\{ n|\frac{\omega}{2}-n\right\} \) ולקבל שהוא שווה ל-\(\frac{\omega}{4}\), כי אם נסמן אותו ב-\(x\) ונחבר אותו עם עצמו, נקבל את \(\left\{ x+n|\frac{\omega}{2}+\left(x-n\right)\right\} \), וכאן בבירור \(\frac{\omega}{2}\) מתאים אבל אף מספר טבעי לא, וגם אף מספר מהצורה \(\omega-n\) לא, כי \(x<\frac{\omega}{2}\) ולכן נקבל ש-\(\frac{\omega}{2}+\left(x-n\right)<\frac{\omega}{2}+\frac{\omega}{2}-n=\omega-n\).

אז אנחנו יודעים להגדיר את \(\frac{\omega}{4}\), ובדרך דומה נקבל את \(\frac{\omega}{2^{n}}\) לכל \(n\) טבעי. וכבר ברור לנו איך מכאן מקבלים את \(\frac{\omega}{3}\) וכדומה.

עכשיו זה זמן טוב לעצור ולפרמל עוד יותר את ההגדרות, להוכיח שהחיבור והכפל אכן מתנהגים כמו שצריך, שאנחנו מקבלים שדה, וכדומה. אבל זו לא עבודה טריוויאלית וקונווי עושה אותה מצויין ב-On Numbers and Games, כך שאני ממליץ למי שהצלחתי לסקרן אותו לנסות ולקרוא את הספר. גם את הדיון המתבקש בשאלה האם הבניה של קונווי "טובה" יותר מהבניות הקיימות אני משאיר לספר – קונווי מדבר על יתרונות וחסרונות (ולא חורץ דין לשום כיוון, לתשומת לב הטרחנים המתמטיים). דבר אחד שקונווי מציין בתור יתרון ולדעתי הוא דווקא חסרון הוא האופן שבו נדרשת רק הגדרה אחת כדי לקבל את כל המספרים בבת אחת. מצד אחד, אין ספק שזה מגניב בצורה פסיכית; מצד שני, זה לא האופן שבו אני חושב על מספרים, ואני בהחלט חושב שיש יתרון בביצוע הפרדות חדות יחסית בין הטבעיים, השלמים, הרציונליים והממשיים, ובבניה של כל אחד מהם מתוך הקודמים על ידי טכניקות שונות. בשורה התחתונה לא הייתי הופך את המספרים של קונווי למשהו שאני מציג למי שרואה את בניית המספרים בפעם הראשונה, אבל זה בהחלט משהו שכדאי מאוד לראות מתישהו, ולא בשלב מתקדם מדי.

בואו נחזור קצת למשחקים, לסיום. ראשית, הנה שאלה מתבקשת: האם \(\omega\) וחבריו צצים מאליו גם בניתוח משחקים? התשובה חיובית, אבל המשחק צריך להיות אינסופי במובן כלשהו – לכל הפחות, צריך שיהיו אינסוף מהלכים התחלתיים אפשריים במשחק עבור אחד השחקנים (אפילו את \(\frac{1}{3}\) אי אפשר לקבל במשחק שבו יש רק מספר סופי של מהלכים). את \(\omega\) ספציפית אפשר לקבל על ידי לוח פשוט מאוד של הקנבוש – כזה שיש בו מגדל אינסופי של קווים שכולם בצבע של אליס. המהלך היחיד של אליס יסלק את כל המגדל חוץ מאשר מספר סופי של קווים שלו, כלומר יעביר אותנו לאחד מהמספרים הטבעיים, ולכן ברור שקיבלנו את \(\omega\).

עכשיו אני רוצה לדבר על משחקים קומבינטוריים שיש בהם מצבים שלא ניתנים לתיאור על ידי מספרים – כלומר, שנראה איך \(\left\{ L|R\right\} \) משמש גם בתור סימון של משחק. כבר אמרנו בפוסט הקודם ש-\(L\) היא קבוצת המהלכים של אליס ו-\(R\) הוא קבוצת המהלכים של בוב, כאשר כאן מהלך מזוהה עם המשחק החדש שהוא מייצר מתוך המשחק הקיים (כאן "משחק" מתבטא גם במצב הנוכחי של ה"לוח"). בשביל שליצור הזה נקרא מספר היה חייב להתקיים שכל איבר של \(L\) קטן מכל איבר של \(R\), אבל במשחק כמו \(\left\{ 1|-1\right\} \) זה לא קורה. המשמעות של המשחק הזה פשוטה – אם אליס מתחילה, היא יכולה לנצח תמיד, בלי תלות בבוב; ואם בוב מתחיל, הוא יכול לנצח תמיד, בלי תלות באליס ("לכפות נצחון"). זה בבירור לא מתאים למספרים שראינו עד כה: 0 תיאר משחק שבו מי שמתחיל, מפסיד, ואילו כל מספר אחר תיאר משחק שבו אחד משני השחקנים יכול לכפות נצחון (אם המספר חיובי, אליס יכולה לכפות נצחון, ואם הוא שלילי אז בוב יכול).

קונווי מסמן את זה כך: אם \(G\) הוא משחק, אז \(G>0\) אם אליס יכולה לכפות נצחון; \(G<0\) אם בוב יכול לכפות נצחון; \(G=0\) אם השחקן השני (לא זה שמתחיל) יכול לכפות נצחון; ו-\(G||0\) אם השחקן הראשון יכול לכפות נצחון: לסיטואציה כזו הוא קורא Fuzzy. הדרך הכי טובה להבין את ההתנהגות המוזרה שלה היא באמצעות משחק לדוגמה. במקרה הזה, וריאציה על הקנבוש. כזכור, בהקנבוש לאליס מותר למחוק רק קשתות אדומות, ולבוב מותר למחוק רק קשתות כחולות; בואו נהפוך את זה למעניין יותר על ידי הוספת קשתות שגם לאליס וגם לבוב מותר למחוק – ירוקות.

הנה משחק לדוגמה:

Hackenbush_8

כאן בבירור מי שמתחיל יכול לכפות נצחון, על ידי לקיחת ה"גבעול" הירוק, מה שהופך את המשחק הזה למטופש למדי. אבל כרגיל בעניינים כאלו, וריאציה קטנה הופכת אותו למעניין – מה אם היו לנו שני "פרחים"?

Hackenbush_9

עכשיו לקחת את הגבעול של אחד הפרחים זה מתכון בטוח להפסד, כי השחקן השני יקח את הגבעול של הפרח השני. לכן הקרב יתחולל בכלל ב"עלים" של הפרחים, והמפסיד יהיה מי שנשאר בלי עלים בכלל לקחת וחייב לקחת את אחד מהגבעולים. כלומר, קיבלנו את אותו משחק כמו המשחק הבא:

Hackenbush_10והמשחק הזה הוא \(-2\). אז אם נסמן ב-\(G\) את המשחק המקורי, קיבלנו ש-\(G+G=-2\), אבל אי אפשר להסיק מכך ש-\(G=-1\); אנחנו רואים שבהכרח משחקים שהם Fuzzy לא יתנהגו נחמד כמו מספרים. יותר מכך – אם נשנה את התצורה של העלים של \(G\) על ידי כך שנחליף בין הצבעים שלהם נקבל ש-\(G+G=2\), וזאת למרות ש-\(G\) עצמו לא השתנה ונותר משחק שבו המתחיל יכול לנצח בצעד הראשון שלו. זו הסיבה שקונווי משתמש בתיאור Fuzzy למשחקים כאלו – אנחנו יודעים שהם נמצאים בתוך מין "ענן" כזה סביב ציר המספרים, אבל המיקום המדויק שלהם תלוי בפרטים נוספים.

כמובן, בניתוח של רוב המשחקים סביר שיצוצו מצבים שהם Fuzzy, אחרת אלו משחקים די מוזרים – כאלו שהם מוטים מראש לטובת אחד מהשחקנים, ולא משנה אם הוא מתחיל או שני (או, עבור 0, משחקים שבהם מי שמתחיל מפסיד). בהקנבוש הרגיל זה לא קורה, כי המשחק מוטה: יש קשתות שהן רק של אליס וקשתות שהן רק של בוב, בלי קשר לשאלה מי משחק מתי. אם כן, אולי כדאי שנסתכל על משחק שאיננו מוטה בצורה הזו? למשל, נים, שכבר הזכרתי בפוסט הקודם אבל נמנעתי מלדבר עליו עד כה כי בניתוח שלו לא צצים המספרים הסוריאליסטיים כפי שהם צצים עם הקנבוש. כמובן, הדיכוטומיה נים-או-הקנבוש היא קצת שקרית; הקנבוש המוכלל, עם הקשתות הירוקות, כולל את נים בתור מקרה פרטי: משחק הקנבוש הוא בעצם נים אם כל הקשתות שלו ירוקות והוא מורכב ממספר מסלולים זרים (אין "התפצלות").

למי מכם שלא מכירים את נים או זוכרים אותו, יש לי פוסט על הנושא שגם נותן ניתוח יפה של האסטרטגיות במשחק. הפעם אני רוצה להתמקד באספקט ה"מספרי" של המשחק. בואו נמשיך לנקוט בגישה של קונווי, ונסמן ב-\(*n\) את המשחק שמתאים לנים בעל ערימה אחת עם \(n\) גפרורים (קונווי קורא להם Nimbers, אבל בעברית זה כבר לא עובד – "מספנים"?). פורמלית, \(*0=\left\{ \ |\ \right\} \) ו-\(*1=\left\{ *0\ |*0\right\} \) ובאופן כללי \(*n=\left\{ *0,*1,\dots*\left(n-1\right)|*0,*1,\dots*\left(n-1\right)\right\} \).

ה"מספרים" הללו מתנהגים בצורה מוזרה, כמובן. בתור התחלה, קל לראות שמתקיים \(*n+*n=*0\) (חיבור, כזכור, הוא מה שמקבלים אם לוקחים את שני המשחקים ושמים אותם זה ליד זה, כך שכל אחד בתורו יכול לבחור באיזה משחק לשחק). כלומר, מי שמתחיל לשחק על משחק מהצורה \(*n+*n\) מפסיד, כי הצד השני יכול לבצע "תמונת ראי" לכל מה שהוא עושה על המשחק המקביל (דהיינו, בכל רגע נתון במשחק, אחרי שהשחקן הראשון ביצע מהלך השני יכול לעשות מהלך שבסופו עדיין יהיו שתי ערימות מאותו גודל). לעומת זאת, אם \(n\ne k\) אז \(*n+*k\) הוא משחק שבו השחקן הראשון מנצח תמיד (מהלך הפתיחה המבריק הוא לאזן את גדלי שתי הערימות), כלומר \(*n+*k\) הוא משחק Fuzzy ואינו ניתן לתיאור בידי מספר רגיל. אבל מה המספרנים שמתאים לו? ובכן, אין לי כרגע סט כללים נחמד, אבל בואו נלך בעקבות קונווי ונראה כמה דוגמאות.

בתור התחלה, מהו \(*1+*2\)? אנחנו רוצים למצוא ערימה שלישית שאם נשים ליד שני אלו, נקבל משחק שערכו 0. ברור שלהוסיף ערימה מגודל 1 או 2 לא יעבוד, כי המתחיל יסלק את הערימה מהגודל יוצא הדופן ונישאר עם שתי ערימות מאוזנות (משחק שבו המתחיל מפסיד, ומכאן שהמתחיל במשחק המקורי ניצח). לעומת זאת ערימה מגודל 3 תעבוד – לא משנה מה מהלך הפתיחה של השחקן הראשון, השחקן השני יוכל להביא אותנו למצב של שתי ערימות מאוזנות. 4 כבר לא מתאים כי לשחקן הראשון יש מהלך פתיחה של צמצום ערימת ה-4 לערימת 3; באופן דומה גם כל גודל הגדול מ-4 לא יעבוד. מכאן שערימה בגודל 3 היא המועמד המתאים היחיד כאן, וקיבלנו ש-\(*1+*2=*3\).

כמובן, כבר אנחנו רואים שקורה כאן משהו מוזר. השוויון שלעיל נובע מכך ש-\(*1+*2+*3=0\), ומכך ש-\(*3=-*3\); אבל באותה המידה היינו יכולים לכתוב גם \(*2+*3=*1\). אז תשכחו מחוקי החשבון הרגילים.

בואו ננסה עוד דוגמה שיש אצל קונווי: \(*1+*4+*5\). גם כאן הטענה היא שמי שמתחיל, מפסיד. למה? סילוק ערימת ה-1 בוודאי מוביל להפסיד. הקטנה של ערימת ה-4 ל-2 או 3 תאפשר לשחקן השני להעיף את ערימת ה-5 ולהעביר את המשחק ל-1,2,3 שכבר ראינו שהמתחיל מפסיד בו, והקטנה של ערימת ה-4 ל-1 תיצור שתי ערימות זהות. אותו דבר קורה עם 5 – הקטנה שלה ל-4 תיצור שתי ערימות זהות, והקטנה רצינית יותר תיצור את \(1,2,3\). קיבלנו ש-\(*1+*4=*5\).

כאן זו נקודה טובה לעצור – בינתיים. מן הסתם אני רק מגרד את קצה הקרחון של התחום הזה, אבל בעיה עיקרית היא שקשה לי להתחרות עם קונווי; שני הספרים שאני מסתמך עליהם הם מופת של כתיבה, ואני ממליץ לכם לקרוא אותם אם התעניינתם במה שהוצג עד כה. כאמור, On Numbers and Games הוא המתמטי-פורמלי יותר, בזמן ש-Winning Ways הוא יותר קליל באופיו, אבל שניהם מאוד מומלצים.

על משחקים ומספרים (חלק א': משחקים. וקצת מספרים)

בראשית ימי הבלוג, חלק מהפוסטים הראשונים שפרסמתי עסקו או בתורת המשחקים, או בבנייה השיטתית של מערכות המספרים המרכזיות במתמטיקה (הטבעיים, השלמים, הרציונליים, הממשיים והמרוכבים). אני רוצה עכשיו לחזור לנושאים הללו באופן שאיכשהו מצליח לחבר את שניהם, בהתבסס על שני ספרים שכתב המתמטיקאי ג'ון קונווי – הראשון, On Numbers and Games, והשני (שאותו כתב עם עוד אנשים), Winning Ways for your Mathematical Plays. בשני הספרים הללו יש ניתוחים של סוגים מסויימים של משחקים לשני שחקנים, ומה שכל כך יפה בזה הוא שבאופן טבעי למדי, מהניתוחים הללו צצה לה מערכת מספרים יפה ומעניינת במיוחד, שאבריה מכונים לפעמים (לא על ידי קונווי בספרים אלו) "מספרים סוריאליסטיים". מערכת המספרים הזו כוללת בתוכה את המספרים הממשיים, אבל גם איברים נוספים – למשל, את כל המספרים הסודרים. אבל יותר מזה – גם הופכיים עבור המספרים הסודרים, שזה כבר בוודאי נשמע מוזר לחלקכם, ועוד כל מני דברים מעניינים. מה שבאמת יפה הוא שהמערכת הזו מתקבלת על ידי הגדרה פשוטה ביותר, שאציג מייד עכשיו כדי לא לעשות טיזינג מיותר:

אם \(L,R\) הן שתי קבוצות של מספרים כך שאין איבר של \(L\) הגדול או שווה לאיבר של \(R\) אז \(\left\{ L|R\right\} \) הוא מספר. כל המספרים נבנים בצורה זו.

זו ההגדרה, אבל מה הולך כאן? למה אלו מספרים? איך מקבלים פה מספרים ממשיים? איך מקבלים את \(\pi\)? מה זו השטות הזו שיש לסודרים הופכי? מה למען ג'ון פון-נוימן הקשר למשחקים? הרבה שאלות, ואענה על כולן. יהיה כיף; זה נושא שחביב עלי מאוד ואני בטוח שגם אלו מכם שלא מכירים הרבה מתמטיקה יוכלו ליהנות ממנו. כמובן, אני הולך לחפף; אני ממליץ על קריאת הספרים למי שלא יהיה מרוצה מהדילוגים שלי (מבין שניהם, On Numbers and Games הוא המתמטי-פורמלי יותר, לטוב ולרע, אבל גם הוא כתוב בצורה קלילה יחסית).

בואו נתחיל מלדבר על משחקים. משחק, אצלנו, תמיד יהיה משחק לשני שחקנים, שאקרא להם אליס ובוב או שמאל וימין (אליס תהיה שמאל, בוב יהיה ימין, ונהיה לטובת אליס). אנחנו מניחים שבמשחק יש ידיעה שלמה – אין מידע חסוי (כמו שיש למשל ב"צוללות") או אלמנטים אקראיים (כמו הטלות קוביה בשש-בש, שאפשר לחשוב עליהן בתור סוג של מידע חסוי). עד כאן סטנדרטי, ומוביל למשחקים שנקראים "משחקים דמויי-שחמט". אבל אנחנו מגבילים את עצמנו עוד יותר – אין תוצאות תיקו, והמשחקים תמיד מתנהלים באופן הבא: אחד השחקנים מבצע מהלך, ואז השחקן השני מבצע מהלך, וכן הלאה לסירוגין, עד אשר שחקן כלשהו לא יכול לבצע מהלך חוקי כלשהו ואז הוא מפסיד. דבר כזה לא קורה בשחמט. בשחמט, שחקן מפסיד אם המלך שלו מאויים ואין לו דרך להגן עליו; בהחלט ייתכן שתהיה סיטואציה שבה שחקן כלשהו לא יכול לבצע אף מהלך חוקי אבל לא להפסיד – אם כל מהלך שהשחקן יבצע יגרום למלך שלו להיות מאויים, אסור לו לבצע אף מהלך. לסיטואציה הזו קוראים "פט" והיא נחשבת לתיקו. כך שאנחנו רואים שהוצאנו את שחמט מהמשחק. אל תדאגו, יש עוד מספיק משחקים מעניינים לדבר עליהם.

ההנחה האחרונה שלנו היא שהמשחקים הם סופיים – כלומר, שתמיד אחרי מספר סופי של מהלכים המשחק יסתיים בניצחון של אחד השחקנים. זה לא אומר שמספר המהלכים החוקיים של כל שחקן בכל שלב חייב להיות סופי; בהחלט ייתכנו משחקים שבהם יש סיטוצאיות שבהם השחקנים יכולים לבצע אינסוף מהלכים.

בבלוג כבר דיברתי על מספר משחקים שמתאימים לכל הדרישות הללו – נים וצ'ומפ הן שתי דוגמאות (צריך קצת להיזהר עם ההגדרה של מתי אין יותר פעולה חוקית). עם זאת, אני לא אדבר על המשחקים הללו (לפחות לא כרגע) כי הם מסובכים מדי. בשלב הראשון אני רוצה להראות איך ניתוח של משחקים מוביל להגדרה של מספרים סוריאליסטיים, אבל בניתוח של משחק כמו נים יווצרו עוד כל מני דברים שאינם מספרים בכלל. לכן אני בוחר להתחיל ממשחק שאולי נראה קצת מוזר במבט ראשון אבל הוא מתאים בול בתור מבוא לנושא (ולכן הוא מה שמופיע ראשון גם ב-Winning Ways) – הקנבוש (Hackenbush).

"לוח המשחק" בהקנבוש הוא ציור שכולל "קרקע" בצבע ירוק, ועוד כל מני קווים בצבעי אדום וכחול ("קו" אצלנו הוא קו ישר – אם הקו "נשבר" לשני חלקים בזוויות שונות, אלו שני קווים שונים מבחינתנו). מכל קו אפשר להגיע דרך קווים אחרים אל הקרקע – אין קו "מנותק". המשחק מתנהל כך: אליס בתורה בוחרת קו אדום כלשהו ומוחקת אותו מהלוח. בוב, בדומה, בוחר קו כחול ומוחק מהלוח. אם מחיקת קו כזו גרמה לניתוק של חלק מהקווים מן הקרקע, כל הקווים המנותקים נמחקים. אליס מפסידה אם תורה לשחק ולא נותרו קווים אדומים, ובוב מפסיד אם תורו ולא נותרו קווים כחולים. הנה לוח לדוגמא:

Hackenbush basicבפועל יותר נוח לדבר על גרף מאשר על "ציור" – ובכן, לוח הקנבוש הוא גרף שבו הקשתות צבועות באדום וכחול, וחלק מהצמתים מסומנים כ"מחוברים לקרקע", ואפשר למחוק קשתות, ואחרי מחיקת קשת מוחקים את כל הצמתים שהפכו למנותקים מהקרקע ואת כל הקשתות שמחוברות אליהם.

מה שנחמד בהקנבוש הוא שניתן לכל לוח משחק להתאים מספר שאומר לאיזה שחקן יש יתרון. אם המספר יהיה חיובי אז היתרון יהיה של אליס, אם הוא יהיה שלילי היתרון יהיה של בוב, ואם הוא יהיה 0 זה אומר שמי שמתחיל, מפסיד (כלומר, היתרון הוא אצל השחקן שלא מתחיל). מה שעוד יותר נחמד הוא שהיתרון הזה לאו דווקא יהיה מספר שלם, ושעוד מעט נבין גם את ההגיון שמאחורי זה.

אני אאמץ את שיטת הסימון הבאה לתיאור לוח הקנבוש: אני אכתוב אותו בתור \(\left\{ L|R\right\} \) כאשר \(L\) תהיה רשימת הלוחות שיכולים להתקבל מהלוח הנוכחי אחרי מהלך שאליס תבצע, ואילו \(R\) תהיה רשימת הלוחות שיכולים להתקבל מהנוכחי אחרי מהלך שבוב יבצע. בואו נתחיל מהסיטואציה הכי פשוטה: לוח ריק. מה שאני אצייר רק בתור קו ירוק ותו לא. במקרה הזה, אין לא לאליס ולא לבוב מהלכים חוקיים, כלומר המצב הוא \(\left\{ \ |\ \right\} \). מי מבין השניים שמתחיל, מפסיד מייד כי אין לו מה לעשות, ואז השני מנצח. לכן אסמן \(\left\{ \ |\ \right\} =0\) (זוהי הגדרה של 0, אם תרצו).

נתבונן כעת על לוח שכולל קו אדום יחיד ותו לא:

Hackenbush_1אם אליס מתחילה לשחק, אז המהלך היחיד שלה הוא למחוק את הקו האדום, מה שמעביר אותנו ללוח ריק שאנחנו כבר מכירים – זה 0. לעומת זאת, אם בוב מתחיל לשחק אין לו מהלכים חוקיים בכלל והוא מייד מפסיד. לכן אסמן את הלוח הזה ב-\(\left\{ 0|\ \right\} \). אינטואיטיבית, אליס מובילה כאן על בוב במהלך אחד (כי יש לה קו אחד יותר מאשר יש לו) ולכן נסמן \(\left\{ 0|\ \right\} =1\). באופן דומה, הלוח שבו יש קו יחיד שהוא כחול מתאים לסימון \(\left\{ \ |0\right\} \), ומכיוון שהוא מתאר יתרון של מהלך אחד של בוב על אליס, נסמן אותו במספר שלילי (כלומר, אליס בחיסרון של מהלך אחד מול בוב), כלומר \(\left\{ \ |0\right\} =-1\).

קל לנחש איך אפשר להמשיך מכאן: לוח שבו יש \(n\) קווים אדומים (שכולם מחוברים לקרקע) ואף קו כחול מתאים ל-\(\left\{ n-1|\ \right\} =n\) ולוח שבו יש \(n\) קווים כחולים ואף קו אדום מתאים ל-\(\left\{ \ |-\left(n-1\right)\right\} =-n\). כבר קיבלנו את כל המספרים השלמים, אבל עד כה טרם ראינו משהו מתוחכם.

בואו נסתכל עכשיו על לוח שבו יש קו אדום וקו כחול אחד, ששניהם מחוברים לקרקע:

Hackenbush_2הלוח הזה מתאים ל-\(\left\{ -1|1\right\} \), כי המהלך היחיד של אליס ישאיר קו כחול יחיד, והמהלך היחיד של בוב ישאיר קו אדום יחיד, ואת שתי הסיטואציות הללו כבר ניתחנו ונתנו להן שמות. המשחק הזה הוא עוד דוגמה למשחק שבו המתחיל מפסיד, מה שקראנו לו 0. כלומר, אני רוצה לסמן \(\left\{ -1|1\right\} =0\). מצד שני, הסימון \(0\) כבר שמור ללוח אחר, \(\left\{ \ |\ \right\} \). אלו שני לוחות שונים, אבל בשורה התחתונה המשחק שהם מגדירים הוא זהה באספקט שמעניין אותנו, שהוא מה גודל היתרון שיש לשחקן אחד על פני השני. לכן אפשר לומר ש-\(\left\{ \ |\ \right\} \) ו-\(\left\{ -1|1\right\} \) הם שני ייצוגים שונים של אותו מספר ולהתייחס אליהם כשווים. למי שנפנוף הידיים הזה מפריע לו – אל דאגה, בהמשך ניתן הגדרה פורמלית של השוויון הזה.

דרך מעניינת אחרת לחשוב על המשחק הזה הוא בתור שני משחקים נפרדים שבמקרה יושבים אחד ליד השני:

Hackenbush_3באופן כללי אפשר לחשוב על "הרכבה" של משחק מתוך כמה משחקים בלתי תלויים זה בזה, כשהחוקים הם המתבקשים: כל שחקן, בתורו, בוחר את אחד מלוחות המשחק ומבצע צעד אחד באותו לוח. מפסיד השחקן שבתורו לא יכול לבצע מהלך באף לוח. כעת מתבקש להגדיר חיבור של משחקים בתור "המשחק שמתקבל מההרכבה הזו". במקרה שלנו, נקבל ש-\(1+\left(-1\right)=0\) – לא מפתיע! (ושוב, לא לדאוג, הגדרות פורמליות יגיעו בהמשך).

עכשיו בואו נעבור למשהו שונה ממה שראינו עד כה: לוח שבו יש קו אדום אחד שמחובר לקרקע, ומעליו יש קו כחול:

Hackenbush_4כאן בבירור זה משחק "אטומי" שלא ניתן לפרק לתת-משחקים פשוטים יותר שאחר כך מחברים, כי שני הקווים הם לא בלתי תלויים זה בזה – אם אליס תסיר את הקו האדום, אז היא תגרום גם למחיקת הקו הכחול, ובוב יפסיד. לכן המהלך היחיד של אליס מעביר את הלוח למצב 0, בעוד המהלך היחיד של בוב מעביר את הלוח למצב 1 (קו אדום בודד לאליס). כלומר, המשחק הזה הוא \(\left\{ 0|1\right\} \). לאיזה ערך מספרי הוא מתאים?

בבירור הערך המספרי הזה צריך להיות חיובי, הרי לאליס יש יתרון במשחק הזה. אבל כמה גדול היתרון? האם זה יתרון של מהלך אחד, כמו שהיה במשחק שבו לאליס היה קו אדום יחיד ולבוב כלום (או, למשל, שני קווים אדומים לאליס וקו כחול אחד לבוב)? ובכן, לא, זה יתרון קטן יותר, כי בכל זאת אם בוב מתחיל הפעם הוא יצליח לשרוד עד שלאליס לא יישארו קווים בעצמה (בעוד שבמשחק עם יתרון 1, הוא ישרוד רק עד שלאליס יישאר קו אחד). אז כמה? אני טוען שהיתרון הוא בדיוק \(\frac{1}{2}\), כלומר ש-\(\left\{ 0|1\right\} =\frac{1}{2}\). אבל איך להוכיח דבר כזה?

ובכן, \(\frac{1}{2}+\frac{1}{2}=1\), או בניסוח אחר \(\frac{1}{2}+\frac{1}{2}+\left(-1\right)=0\). יותר מכך: אם \(x\) הוא מספר ממשי כלשהו כך ש-\(x+x+\left(-1\right)=0\) אז נובע מכך ש-\(x=\frac{1}{2}\). אז כדי להוכיח ש-\(\left\{ 0|1\right\} =\frac{1}{2}\) (בהנחה – שלא הוכחתי – שאכן המשחק הזה מתואר על ידי מספר ממשי) די לי להוכיח ש-\(\left\{ 0|1\right\} +\left\{ 0|1\right\} +\left\{ \ |0\right\} =0\) – כלומר, שהמשחק הבא:

Hackenbush_5הוא כזה שבו מי שמתחיל, מפסיד (בפרט, שנדרשים שני עותקים של \(\left\{ 0|1\right\} \) כדי "לקזז" את \(\left\{ \ |0\right\} \)).

כדי לראות שמי שמתחיל במשחק מפסיד, בואו פשוט נחשוב איך משחק כזה יתנהל. נניח שאליס מתחילה. היא חייבת לקחת את אחד משני הקווים האדומים שלה. בוב יקח את הכחול שמעל הקו האדום השני. אליס תיקח את האדום האחרון שלה. בוב יקח את הכחול האחרון שלו. הופס! אליס הפסידה.

נניח שבוב מתחיל: אם הוא לוקח את הכחול המבודד שלו, אז אליס לוקחת אדום ומעבירה את המשחק למצב \(\left\{ 0|1\right\} \) שבו בוב תמיד מפסיד. אם כן, לא שווה לבוב לקחת את הכחול המבודד שלו. הוא ייקח את הכחול שמעל אחד מהקווים האדומים, אבל אז אליס תיקח את הקו האדום השני ותשאיר לבוב רק את הכחול המבודד שלו. הוא ייקח אותו, אליס תיקח את האדום השני שלה והופס! בוב הפסיד.

אם כן, \(\left\{ 0|1\right\} =\frac{1}{2}\). רוצים לנחש למה יהיה שווה \(\left\{ 0|\frac{1}{2}\right\} \)? מן הסתם \(\frac{1}{4}\) נראה כמו בחירה הגיונית. לשם כך צריך להראות ש-\(\left\{ 0|\frac{1}{2}\right\} +\left\{ 0|\frac{1}{2}\right\} +\left\{ 0|1\right\} =0\). נסו לשחק את המשחק ולראות מה קורה.

Hackenbush_6שימו לב ללוח שמייצג את \(\left\{ 0|\frac{1}{2}\right\} \): קו אדום, ומעליו שני קווים כחולים. אם נדקדק בהגדרה הפורמלית, הלוח הזה הוא בעצם \(\left\{ 0|\frac{1}{2},1\right\} \): לאליס יש רק אפשרות אחת, של סילוק הקו האדום; בעוד שלבוב יש שתי אפשרויות, לסלק את הקו הכחול העליון (ולעבור אל \(\frac{1}{2}\) או את הקו הכחול התחתון (ולעבור ל-1), אבל שוב – נראה עוד מעט ש-\(\left\{ 0|\frac{1}{2},1\right\} =\left\{ 0|\frac{1}{2}\right\} \).

עכשיו כבר ברור שעל ידי הוספה של עוד ועוד קווים כחולים למעלה נוכל לקבל גם את \(\frac{1}{8}\), ואת \(\frac{1}{16}\), וכן הלאה וכן הלאה – כל שבר מהצורה \(\frac{1}{2^{n}}\). זה מוביל אותנו בצורה טבעית לשתי שאלות: ראשית, מה קורה אם מוסיפים למעלה לא רק קווים כחולים אלא גם אדומים? ושנית, האם אפשר לקבל איכשהו שברים עם מכנה שאינו חזקה של 2?

נתחיל מהשאלה הראשונה עם הלוח הזה:

Hackenbush_7מה המהלכים האפשריים בלוח? אליס יכול להעיף את הקו התחתון, ולהישאר עם 0, או להעיף את הקו העליון ולהישאר עם \(\frac{1}{2}\). בוב יכול להעיף רק את הקו האמצעי ולהישאר עם \(1\). כלומר, אנחנו ב-\(\left\{ 0,\frac{1}{2}|1\right\} \). אם כבר יש לכם אינטואיציה לא רעה לגבי מה שהולך כאן, כנראה תנחשו שהמצב הזה שווה ל-\(\left\{ \frac{1}{2}|1\right\} =\frac{3}{4}\). כלומר, לא נראה שנקבל משהו ממש חדש מהוספה של קווים אדומים על כחולים על אדומים על כחולים וכן הלאה. כדי להגיע לשבר עם מכנה שונה מחזקה של 2, למשל \(\frac{1}{3}\), נצטרך משהו שונה לגמרי.

אבל בואו נעזוב את זה לרגע, ונעבור לנסיון להבין את הדקויות של הסימון המוזר שבו אנחנו משתמשים. על פניו, כדי להבין מה המספר שמיוצג על ידי \(\left\{ L|R\right\} \), אנחנו נוקטים בשיטה הבאה: מוצאים את המספר הגדול ביותר ב-\(L\) והקטן ביותר ב-\(R\) ומחשבים את הממוצע החשבוני שלהם. זה המקום הראשון שבו האינטואיציה שלנו לא עובדת – האמת היא שהסיטואציה מסובכת יותר. הנה דוגמה פשוטה: \(\left\{ -1|2\right\} \). לכאורה, המשחק הזה אמור להתאים לערך המספרי \(\frac{1}{2}\), שנמצא באמצע הדרך בין \(-1\) ובין \(2\); אבל אם תחשבו שניה, ברור שהמשחק הזה הוא 0. למה? כי אם אליס מתחילה, המהלך היחיד שלה מעביר את המשחק ל-\(-1\), שהוא משחק שבו בוב מנצח בודאות; ואם בוב מתחיל, המהלך היחיד שלו מעביר את המשחק ל-\(2\), שבו אליס מנצחת בודאות. אז יש לנו משחק שבו מי שמתחיל, מפסיד: כבר אמרנו שזה המשחק 0 (ו-\(\frac{1}{2}\) הוא משחק שבו אליס מנצחת). בקיצור, לא משנה כמה חזק מבחינת אליס המצב שבוב מעביר אליו את המשחק, כל עוד אליס מעבירה את המשחק למצב שהוא מפסיד מבחינתה.

לכן יש לנו כמה שאלות שחייבים לענות עליהן לפני שממשיכים:

  1. מתי בעצם ביטוי כמו \(\left\{ L|R\right\} \) מגדיר מספר?
  2. איך מגדירים מספר חדש מתוך מספרים קיימים?
  3. איך בודקים ששני ביטויים שונים מגדירים את אותו המספר?
  4. מה הכלל שמאפשר לנו למצוא את המספר שמתאים לביטוי \(\left\{ L|R\right\} \)?

בואו נשכח לרגע ממשחקים ונעבור להגדרות פורמליות. תשובה לשתי השאלות הראשונות מתקבלת מייד מההגדרה שנתתי בראשית הפוסט, ועכשיו נשחק איתה:

אם \(L,R\) הן שתי קבוצות של מספרים כך שאין איבר של \(L\) הגדול או שווה לאיבר של \(R\) אז \(\left\{ L|R\right\} \) הוא מספר. כל המספרים נבנים בצורה זו.

זו דוגמה להגדרה אינדוקטיבית (או רקורסיבית, מה שבא לכם): אנחנו מתארים איך לבנות מספרים חדשים מתוך מספרים שכבר קיימים. נקודה שחשוב לי להדגיש, לפני שנתחיל להשתמש בה כדי לייצר מספרים, היא שההגדרה הזו עדיין לא מאפשרת לנו לראות ש-0 ו-\(\left\{ -1|1\right\} \) הם אותו מספר; לשם כך נצטרך לתת הגדרה מפורשת של שוויון, שתבוא בהמשך.

עוד דבר שכמובן חסר הוא הגדרה של המושג "גדול" כאן. כדי לתאר אותו, סימון: אם \(x=\left\{ L|R\right\} \) אני משתמש בסימון \(x^{L}\) כדי לתאר "איבר כלשהו מתוך \(L\)" וב-\(x^{R}\) כדי לתאר "איבר כלשהו מתוך \(R\)". האינטואיציה תהיה תמיד ש-\(x^{R}\) הם מספרים שגדולים מ-\(x\) ואילו \(x^{L}\) הם מספרים שקטנים מ-\(x\) (אבל לא בהכרח כל המספרים הגדולים/קטנים מ-\(x\)). תחת האינטואיציה הזו, מתי \(x\ge y\)? ובכן, אם לא קיים מספר שגדול מ-\(x\) אבל קטן מ-\(y\), ולא קיים מספר שקטן מ-\(y\) אבל גדול מ-\(x\).

פורמלית, נגדיר ש-\(x\ge y\) אם לא קיים \(x^{R}\le y\) ולא קיים \(x\le y^{L}\). גם זו הגדרה אינדוקטיבית, אבל נראה שהכל יסתדר לנו. באופן מתבקש נגדיר שוויון של מספרים על פי ההגדרה הזו: \(x=y\) אם \(x\le y\) וגם \(y\le x\).

אם כן, איך אפשר "לעבוד" עם ההגדרה כדי לייצר מספרים? ההתחלה נראית קשה – הרי אין לנו שום מספר שהוגדר עד כה, מאיפה נתחיל? ובכן, מהמצב שבו \(L=R=\emptyset\) – שתי הקבוצות ריקות. מכיוון ששתי הקבוצות ריקות, התנאי של "אין איבר של \(L\) הגדול או שווה לאיבר של \(R\)" מתקיים באופן ריק, וקיבלנו מספר, שאנו מסמנים \(0=\left\{ \ |\ \right\} \).

מה עכשיו? אפשר "לשתול" את 0 הזה בתוך אגף ימין או שמאל, אבל לא שניהם: \(\left\{ 0|0\right\} \) הוא לא מספר, כי \(0\le0\) (בדקו זאת!). לכן אנחנו יכולים לבנות רק שני מספרים חדשים בינתיים: \(\left\{ \ |0\right\} \) ו-\(\left\{ 0|\ \right\} \), שנסמן \(-1\) ו-\(1\), בהתאמה. העובדה שהם מספרים נובעת מכך שתנאי ה-"אין איבר של \(L\) הגדול או שווה לאיבר של \(R\)" עדיין מתקיים באופן ריק. עכשיו בואו ננסה להבין מי גדול ממי.

ראשית, לא ייתכן ש-\(\left\{ \ |0\right\} \ge0\) כי קיים באגף ימין של \(\left\{ \ |0\right\} \) איבר 0 כך ש-\(0\le0\). ההפך כן עובד, ולכן אנחנו מקבלים ש-\(-1\le0\). באופן סימטרי מקבלים ש-\(0\le1\). כמו כן מקבלים בקלות ש-\(-1\le1\) על ידי בדיקה ישירה, בלי הסתמכות על טרנזיטיביות או משהו דומה.

נמשיך ונגדיר \(2=\left\{ 1|\ \right\} \). עכשיו מעניין לבדוק האם \(1\ge2\) מתקיים. בואו נעשה את זה פורמלית. אני שואל את עצמי שתי שאלות. ראשית, האם קיים \(1^{R}\le2\)? לא, מכיוון שה-\(R\) של 1 הוא קבוצה ריקה. שנית, האם קיים \(1\le2^{L}\)? ובכן, כן, כי \(1\) הוא איבר מהצורה \(2^{L}\). מכאן מקבלים שלא מתקיים \(1\ge2\).

ומה עם \(1\le2\)? כאן הבדיקה הפוכה. ראשית, האם קיים \(2^{R}\le1\)? לא, כי \(R\) של 2 ריק. והאם קיים \(2\le1^{L}\)? לא, כי ב-\(1^{L}\) יש רק את 0, ולא מתקיים \(2\le0\). כדי לראות את זה, צריך לבצע אינדוקטיבית את הבדיקה גם עבור \(2\le0\); מכיוון ש-\(0\le2^{L}\) מתקיים עבור הבחירה של 1 בתוך האיבר מ-\(L\) של 2, מקבלים ש-\(2\le0\) לא מתקיים, כנדרש.

כמו שהבנתם, אין מנוס מכל מני בדיקות קטנות וקטנוניות כדי לוודא דברים עם ההגדרות הללו – זה לא באמת שונה ממה שקורה בהגדרות בסיסיות אחרות. מכאן ואילך לא אטרח להוכיח את רוב הטענות שלי, אבל אתם יכולים לבדוק אותן בתור תרגיל.

עכשיו אפשר לראות למה \(\left\{ -1|1\right\} =0\), כלומר למה יש לנו שני ייצוגים שונים לאותו מספר (או, אם להיות ממש פורמליים, שני מספרים שונים שמתקיים עבורם יחס השווין; אבל זו צורת חשיבה שגויה, כי למשל עבור מספרים רציונליים כולנו מסכימים ש-\(\frac{1}{2}\) ו-\(\frac{2}{4}\) הם שני ייצוגים שונים של אותו מספר). הם פשוט מקיימים \(\left\{ -1|1\right\} \le0\) (כי הסיכוי היחיד של זה לא להתקיים הוא אם \(-1>0\)) וגם \(0\le\left\{ -1|1\right\} \) (כי הסיכוי היחיד של זה לא להתקיים הוא אם \(0>1\)). באותו אופן בדיוק מקבלים גם ש-\(\left\{ -1|2\right\} =0\) ובאופן כללי שאם \(L\) כוללת כולה מספרים קטנים מ-0 ו-\(R\) כולה מספרים גדולים מ-0, אז \(\left\{ L|R\right\} \) הוא 0. זה אמור להיות שכנוע פורמלי עבורכם, אבל האינטואיציה כבר אמורה להיות ברורה לכם בזכות הגישה ה"משחקית" שהצגתי קודם.

קיבלנו את המספרים השלמים. בואו נגדיר חיבור! ההגדרה די אינטואיטיבית: \(x+y\triangleq\left\{ x^{L}+y,x+y^{L}|x^{R}+y,x+y^{R}\right\} \). כמו קודם, צריך קצת עבודת הכנה כדי שאפשר יהיה להתחיל להשתמש בה – למשל, לראות קודם כל ש-\(0+0=0\), ואז ש-\(0+x=x\) לכל מספר \(x\), באופן אינדוקטיבי, וכן הלאה – אבל מהר מאוד אפשר כבר לראות דברים בסגנון \(1+\left(-1\right)=0\) ו-\(1+1=2\) וכדומה. ועכשיו אפשר להתחיל לדבר על מספרים כמו \(\left\{ 0|1\right\} \) ולהוכיח ש-\(\left\{ 0|1\right\} +\left\{ 0|1\right\} =1\), מה שנותן לנו הצדקה לסימון \(\left\{ 0|1\right\} =\frac{1}{2}\). שימו לב – כפי שאיימתי, אני מדלג בקלילות מעל ההוכחה הזו, שדווקא דורשת עבודה.

בהינתן חיבור, חיסור מוגדר על ידי חיבור עם הנגדי – כאן הגדרת הנגדי היא פשוטה: \(-x=\left\{ -x^{R}|-x^{L}\right\} \). קחו רגע לחשוב למה זה נכון.

טוב, אם יש לנו חיבור, צריך גם כפל, נכון? ההגדרה המתבקשת לכפל היא \(xy\triangleq\left\{ x^{L}y,xy^{L}|x^{R}y,xy^{R}\right\} \). ההגדרה הזו לא עובדת. למעשה, היא נכשלת בצורה מחפירה לחלוטין שבוודאי תשעשע אתכם אם תבינו בעצמכם למה. אז קחו רגע לחשוב ואל תקראו את השורה הבאה.

חשבתם? אוקיי. ההגדרה לא עובדת פשוט כי זו ההגדרה של חיבור. אותו דבר בדיוק. רק הסימבול שבו אני משתמש (או ליתר דיוק, לא משתמש, כי כפל מתואר כאן בלי סימבול) שונה.

אז צריך הגדרה אחרת. וההגדרה של קונווי היא לא פשוטה, אבל הוא מסביר אותה יפה בספר. אני רק אביא אותה כאן לצורך שלמות:

\(xy\triangleq\left\{ x^{L}y+xy^{L}-x^{L}y^{L},x^{R}y+xy^{R}-x^{R}y^{R}|x^{L}y+xy^{R}-x^{L}y^{R},x^{R}y+xy^{L}-x^{R}y^{L}\right\} \)

עכשיו יש לנו את כל ההגדרות הבסיסיות ואת האינטואיציה הראשונית, ואפשר להתחיל להתקדם אל היעד הנכסף הבא שלנו: המספר \(\frac{1}{3}\)! זאת, בפוסט הבא.

המחט של בופון

היום חל "יום פאי", כלומר תאריך היום הוא ה-14/3, שבארצות פחות מתוקנות נכתב כ-3.14, כלומר כמו התחלת הפיתוח העשרוני של הקבוע \(\pi\), פאי (היחס בין היקף מעגל לקוטרו בגאומטריה האוקלידית) – ומכאן, תירוץ לחגוג ולאכול פאי עם פאי.

pi pie

מבחינתי זה תירוץ לכתוב פוסט על משהו שבו מופיע \(\pi\), ורצוי משהו קליל יחסית. דוגמה נפלאה ל"משהו" כזה שטרם הופיע בבלוג בשום צורה היא בעיית המחט של בופון. בפשטות, הבעיה אומרת את הדבר הבא: יש לנו מחברת שורות ואנחנו זורקים עליה מחט. מה ההסתברות שהמחט תיפול על קו מפריד כלשהו במחברת?

ברור שהשאלה הזו תלויה בשני פרמטרים – אורך המחט, והרוחב של כל שורה (דהיינו, מה המרחק בין כל שני קווים מפרידים של שורות). נסמן את אורך המחט ב-\(l\) ואת הרוחב של שורה ב-\(d\). בציור הבא אפשר לראות את השורות ברוחב \(d\) ושני מחטים באורך \(l\), שאחת מהן לא נפלה על אף קו מפריד, ואחת כן נפלה:

needles1

קל להגיע למסקנה שיש הבדל כלשהו בין הסיטואציה שבה \(l>d\), כלומר המחט גדולה מרוחב שורה ולכן אם היא נופלת בזווית שמאונכת לקווים המפרידים היא על בטוח חוצה קו מפריד שכזה, ובין הסיטואציה שבה \(l\le d\). אני הולך לדבר רק על הסיטואציה השניה, מהטעם הפשוט שהנוסחה יוצאת הרבה יותר פשוטה ונחמדה בה, והרעיון עבור \(l>d\) הוא אותו רעיון, עם עוד פרטים טכניים.

איך זה קשור לפאי? פשוט מאוד – התשובה הולכת לערב את פאי איכשהו, למרות שאין לו רמז בניסוח השאלה, ואפילו אין בשאלה מעגלים (מעגלים הם המקור הטבעי לפאי). אז מאיפה פאי הגיע? נראה די מהר שבאופן די טבעי אפשר לערב מעגלים בשאלה ואפילו כדאי, ושפאי מגיע מהם.

אני רוצה להראות בפוסט הזה שני פתרונות לבעיה. הראשון יהיה שימוש סטנדרטי בחשבון אינפיניטסימלי – מסוג הדברים שסביר לתת לסטודנטים להסתברות לעשות. במילים אחרות, זה יהיה פתרון נכון ופשוט, אבל הוא לא יהיה כל כך מעניין. הפתרון השני הוא מגניב משמעותית מהראשון וגם נלמד עוד דברים מתוך ההוכחה שלו, אבל אני מעדיף "להוציא מהמערכת" את הפתרון הסטנדרטי קודם כל. למי שלא מתעניין בפתרון הזה או שהפרטים הטכניים מרתיעים אותו – פשוט תקפצו מעליו, לא אכפת לי. אני אשב עם האינטגרל שלי לבד, בחושך. הכל בסדר.

אוקיי, אז מה עושים? ראשית כל צריך לחדד עניינים כמו מה מרחב ההסתברות שלנו וכדומה. כשאנחנו "זורקים" מחט, מה אנחנו בעצם מגרילים? שני דברים – את הזווית שלה (ביחס לציר \(x\), כפי שבדרך כלל מחשבים זווית של ישרים) ואת המיקום שלה. אני אסתכל על אחת מהקצוות של המחט בתור ה"ראשית" שלה, והמיקום של המחט יהיה המיקום של הראשית הזו. הזווית תימדד ביחס לסיבוב שבו משאירים את הראשית קבועה (כלומר, מסובבים את המחט סביב הראשית ובודקים כמה סיבוב עם כיוון השעון נדרש כדי "להחזיר" אותה למצב שבו היא מתלכדת עם ציר \(x\)). לא קשה לראות שהמיקום האופקי של המחט, או השאלה באיזו שורה במחברת הראשית של המחט נפלה, הן חסרות חשיבות – כל מה שחשוב הוא הזווית, שהיא מספר \(0\le\theta\le2\pi\) (הנה פאי!) והגובה של הראשית מעל הקו המפריד התחתון בשורה, \(0\le h\le d\). הנה ציור שמבהיר את זה:

needles2

המספרים \(\theta,h\) הללו נבחרים בהתפלגות אחידה מתוך התחומים שלהם. לכן (מנימוקים סטנדרטיים בהסתברות), ההסתברות שהמחט תחצה קו מפריד היא בדיוק היחס בין שטח של קבוצת כל הנקודות \(\left(\theta,h\right)\) שעבורן המחט חוצה קו מפריד ובין השטח של כל הנקודות \(\left(\theta,h\right)\) הרלוונטיות בכלל. אם כן, נשאלת השאלה: בהינתן \(\theta\), מה הערכים של \(h\) שעבורם יש חצייה?

ובכן, בהינתן \(\theta,h\), השאלה היא מה גובה הקצה של המחט שאינו הראשית. התשובה היא שימוש סטנדרטי בטריגונומטריה: \(h+l\sin\theta\).

כאשר \(\theta>\pi\) הגובה הוא נמוך יותר מאשר \(h\). כדי לחסוך לעצמי פירוק למקרים, פשוט אצביע על כך שהמקרה הזה סימטרי למקרה של \(0\le\theta\le\pi\) ולכן מעכשיו אסתפק בהנחה ש-\(0\le\theta\le\pi\). במקרה זה, על מנת שהמחט תחצה קו מפריד, צריך להתקיים \(h+l\sin\theta>d\) (אגב, כל הדיבורים על "לחצות" את הקו המפריד מיותרים – גם אם נרשה למחט לגעת בלי לחצות החישובים שלנו לא ישתנו, מכיווון שההסתברות של כל מאורעות ה"נגיעה" הללו היא אפס – אין להם "שטח" – אבל נעזוב את זה). במילים אחרות, צריך להתקיים \(h>d-l\sin\theta\). מכאן אנחנו מקבלים את החישוב הבא של שטח קבוצת כל הנקודות שעבורן יש חציה:

\(\int_{0}^{\pi}\left(\int_{d-l\sin\theta}^{d}dh\right)d\theta=\int_{0}^{\pi}\left(d-\left(d-l\sin\theta\right)\right)d\theta=l\int_{0}^{\pi}\sin\theta d\theta=l\left(-\cos\pi+\cos0\right)=2l\)

והשטח של קבוצת כל הנקודות הרלווניטות הוא שטח המלבן שאורכי צלעותיו \(\pi\) ו-\(d\), כלומר \(d\pi\). בסך הכל אנחנו מקבלים את הנוסחה \(\frac{2}{\pi}\frac{l}{d}\) – וזו אכן הנוסחה הנכונה. לא קשה לראות שהחישוב הזה נשבר אם \(d<l\) וזה תרגיל טוב למצוא את הנוסחה במקרה הזה, אבל היא יוצאת מזעזעת, כאמור, וחבל.

אוקיי, אז סיימנו עם הפתרון הפשוט, ועכשיו אפשר לדבר בשקט על הפתרון המסובך בלי שאף אחד מהקהל יציץ וישאל "אבל למה לא פתרת עם אינטגרלים וזהו?!". אני רוצה לפתור בלי אינטגרלים כי הפתרון המסורבל יותר הוא פשוט יותר יפה ומהנה.

לפני שאציג אותו, קוריוז חביב שקשור לנוסחה שכבר מצאנו. כפי שאנחנו רואים, \(\pi\) נמצא בנוסחה הזו בצורה פשוטה מאוד. זה מצביע על כך שאם נצליח, עבור \(l,d\) נתונים, לחשב מספרית את ההסתברות לכך שהסיכה תחצה קו, נוכל לקבל מכך קירוב של פאי. איך אפשר לבצע את החישוב הזה? ובכן, פשוט תזרקו סיכות ותראו מה קורה! לטכניקת חישוב הסתברותית שכזו קוראים "שיטת מונטה-קרלו" (אין שיטה ספציפית שנקראת "מונטה-קרלו"; זה שם כללי להרבה שיטות חישוב שונות). בשנת 1901, מתמטיקאי בשם לזאריני טען שהוא באמת עשה את זה – השליך סיכות על מחברת וספר בכמה פעמים הסיכה נפלה על הקו. הוא זרק 3408 סיכות, כך ש-\(\frac{l}{d}\) היה \(\frac{5}{6}\), ומצא שבדיוק ב-1808 מהפעמים הסיכות נפלו על הקו. אז מה הקירוב של פאי שנקבל כאן? \(\frac{2}{\pi}\frac{5}{6}\approx\frac{1808}{3408}\), כלומר

\(\pi\approx\frac{10}{6}\cdot\frac{3408}{1808}=\frac{355}{113}=3.1415929\dots\)

זה קירוב די פנטסטי. למעשה, פנטסטי מדי. \(\frac{355}{113}\) הוא הקירוב הטוב ביותר לפאי באמצעות מספר רציונלי עם מונה ומכנה קטנים (הקירוב המפורסם האחר הוא \(\frac{22}{7}\) שגם הוא מצויין אבל פחות טוב). זה מתחיל להסביר לנו למה לזאריני הטיל סיכה בדיוק 3408 פעמים – מספר מוזר ולא עגול לכל הדעות – ולמה הוא בחר את \(l,d\) בצורה שנותנת \(\frac{l}{d}=\frac{5}{6}\) הוא ניסה להנדס את הקירוב \(\frac{355}{113}\)!

בואו נראה את זה מתמטית. אם \(p\) היא ההסתברות להפיל מחט על קו מפריד, אז \(\frac{2}{\pi}\frac{l}{d}=p\), כלומר \(\pi=\frac{2}{p}\frac{l}{d}\). אם אנחנו רוצים לקבל את הקירוב \(\pi\approx\frac{355}{113}\), אנחנו צריכים שיתקיים \(\frac{355}{113}=\frac{2l}{d}\cdot\frac{T}{a}\), כאשר \(T\) הוא מספר הנסיונות הכולל שלנו ו-\(a\) הוא מספר ההצלחות. עכשיו, מספר ההצלחות הוא תמיד מספר שלם, וצריך להתקיים \(a=\frac{113}{355}\cdot\frac{2l}{d}T\) – שוויון ממש! במילים אחרות, הסיכוי לקבל את הקירוב הנפלא הזה ל-\(\pi\) הוא רק אם \(a\) יוצא "בסדר" כאשר \(T\) כפול \(\frac{113}{355}\cdot\frac{2l}{d}\) יוצא מספר שלם. לכן, אם לזאריני רוצה לעבוד כמה שפחות קשה, הוא רוצה לבחור את \(\frac{113}{355}\cdot\frac{2l}{d}\) בצורה שבה המכנה יהיה קטן. \(355=5\cdot71\) ולכן מתבקש לבחור \(l=5\) כדי לנטרל את ה-5 שב-355. נקבל \(\frac{113}{71}\cdot\frac{2}{d}\). אנחנו חייבים לבחור את \(d\) להיות גדול מ-\(l\), וככל שהוא יותר גדול כך זה מקשה עלינו יותר, אז נבחר \(d=6\) ונקל \(\frac{113}{71}\cdot\frac{1}{3}=\frac{113}{213}\).

מה יוצא מכל זה בפועל? שעל כל 213 השלכות סיכה שלזאריני מבצע, יש לו סיכוי לקבל את הקירוב הנפלא \(\frac{355}{113}\) לפאי, אם רק יתמזל מזלו ויתקיים שב-\(T\) השלכות הסיבה שבוצעו עד כה, בדיוק \(\frac{113}{213}T\) מההשלכות נפלו על הקו. כעת, \(\frac{3408}{213}=16\), כלומר ללזאריני היו 16 "הזדמנויות" כאלו לפני שהוא קיבל את מבוקשו, ואז הפסיק מייד (כל השלכה נוספת הייתה מקלקלת לו את הקירוב הנפלא). זה כמובן מסביר את המספר המוזר והלא עגול \(3408\) ואת הבחירה של \(l,d\). לטעמי לזאריני אמנם יצא רמאי, אבל רמאי משעשע והניתוח של הרמאות שלו הוא מהנה, אז אני שמח שהוא רימה ככה.

כעת בואו נעבור לפתרון היפה יותר לבעיית המחט. הרעיון הוא לפתור בעיה כללית יותר: אנחנו זורקים מחט מאורך \(l\) כלשהו (גם \(l>d\)) בצורה אקראית ושואלים כמה קווים המחט הולכת לחתוך. במילים אחרות, אנחנו מגדירים משתנה מקרי \(X\) שסופר את החיתוכים של המחט עם הקווים המפרידים, ותוהים מה התוחלת של המשתנה הזה, \(E\left[X\right]\). פתרון כללי לשאלה הזו נותן גם פתרון כללי לשאלת ההסתברות במקרה של \(l<d\), מכיוון שאז מספר החיתוכים הוא או 1 או 0, כלומר המשתנה המקרי הוא מה שנקרא אינדיקטור והתוחלת שלו שווה להסתברות שהוא יקבל 1.

ולמה כל כך מועיל לעבור לדבר על תוחלת? בגלל שיש לתוחלת תכונה נפלאה, קסם של ממש, שנקראת לינאריות. אם \(X,Y\) הם שני משתנים מקריים, אז מתקיים \(E\left[X+Y\right]=E\left[X\right]+E\left[Y\right]\), וזה נכון גם אם המשתנים תלויים הסתברותית.

איך ננצל את תכונת התוחלת הזו? על ידי התעלול הבא: נניח שאנחנו זורקים מחט באורך \(l\) באקראי, אבל חושבים על המחט בתור שתי מחטים ש"הודבקו" אחת לשניה – מחט אחת מאורך \(x\) והמחט השניה מאורך \(y\). אז \(E\left[l\right]=E\left[x+y\right]=E\left[x\right]+E\left[y\right]\) (כאן אני עושה מה שמכונה Abuse of notation – אני כותב את אורכי המחטים במקום לטרוח ולכתוב שמות של משתנים מקריים שמייצגים את המחטים מהאורך הזה).

אז מה קיבלנו? תשכחו לשניה מהסתברות ותוחלות וכאלה. יש לנו פונקציה \(f\) שמוגדרת על כל הממשיים החיוביים, ומקיימת \(f\left(x+y\right)=f\left(x\right)+f\left(y\right)\). משוואה כזו נקראת משוואה פונקציונלית, כי הנעלם בה הוא בכלל \(f\) – אנחנו מבקשים לדעת אילו פונקציות \(f\) הן פתרון למשוואה הזו. המשוואה הספציפית הזו היא מפורסמת – היא נקראת "המשוואה הפונקציונלית של קושי". בעבר כבר הראיתי בבלוג איך פותרים משוואה פונקציונלית דומה ("המשוואה הפונקציונלית האקספוננציאלית של קושי), המשוואה \(f\left(x+y\right)=f\left(x\right)\cdot f\left(y\right)\). טכניקת הפתרון כאן היא דומה:

ראשית, שימו לב לכך ש-\(f\left(2x\right)=f\left(x\right)+f\left(x\right)=2f\left(x\right)\). כעת תעשו אותו דבר עם \(n\) עותקים של \(x\) ותקבלו \(f\left(nx\right)=nf\left(x\right)\) לכל \(n\) טבעי (אפשר להוכיח פורמלית באינדוקציה). השלב הבא הוא לשים לב לכך ש-\(f\left(x\right)=f\left(\frac{x}{m}+\dots+\frac{x}{m}\right)=mf\left(\frac{x}{m}\right)\), אז קיבלנו \(f\left(\frac{x}{m}\right)=\frac{1}{m}f\left(x\right)\). על כן, \(f\left(\frac{n}{m}x\right)=nf\left(\frac{1}{m}x\right)=\frac{n}{m}f\left(x\right)\), או במילים אחרות – \(f\left(rx\right)=rf\left(x\right)\) לכל \(r\) רציונלי. אם נסמן \(f\left(1\right)=c\), אז קיבלנו \(f\left(r\right)=f\left(1\cdot r\right)=rf\left(1\right)=cr\) לכל \(r\) רציונלי. מה קורה עם מספרים אי רציונליים? באופן כללי צריך עוד הנחה על האופי של \(f\).

במקרה שלנו אנחנו יודעים ש-\(f\) היא מונוטונית, כלומר מקיימת שאם \(x<y\) אז \(f\left(x\right)\le f\left(y\right)\) (למה? כי במקרה שלנו, אם \(x<y\) אז \(y=x+z\) כאשר גם \(z\) חיובי, ואז \(E\left[y\right]=E\left[x+y\right]=E\left[x\right]+E\left[z\right]\ge E\left[x\right]\)). זה מסיים את הסיפור לכל \(x\) ממשי ומוכיח ש-\(f\left(x\right)=cx\). שכן אפשר לקחת שני רציונליים \(r_{1},r_{2}\) כך ש-\(r_{1}<x<r_{2}\) והם קרובים ל-\(x\) כרצוננו, ויתקיים \(f\left(r_{1}\right)\le f\left(x\right)\le f\left(r_{2}\right)\), דהיינו \(cr_{1}\le f\left(x\right)\le cr_{2}\). כאשר \(r_{1}\) ו-\(r_{2}\) שואפים ל-\(x\), הביטויים משמאל ומימין שואפים ל-\(cx\) ולכן הפונקציה באמצע שואפת ל-\(cx\) גם כן ("כלל הסנדוויץ'").

אם לחזור למחט של בופון, קיבלנו ש-\(E\left[l\right]=c\cdot l\). רק נותר להבין מיהו \(c\) המדובר. אנחנו כבר יודעים שהוא אמור להיות \(c=\frac{2}{\pi d}\), אבל איך מגיעים אל זה?

כאן מגיע הקסם הנפלא, שבזכותו ההוכחה הזו כל כך אדירה. כבר ראינו קודם שמחט ארוכה אפשר לקחת ולחשוב עליה כעל שתי מחטים קטנות יותר "דבוקות" זו לזו – כל מה שחשוב הוא שסכום אורכי המחטים הוא אורך המחט המקורית. הנקודה היא שאפשר לעשות את זה גם בצורה קיצונית יותר – גם אם המחט שלנו היא לא קו ישר אלא אוסף של קווים ישרים מחוברים – "עקום פוליגונלי". למשל זה:

needles3

זה לא משנה איך ה"מחטים" שמהם מורכב העקום מחוברות זו לזו – כל מה שחשוב הוא סכומי האורכים שלהן. אפשר לחשוב על ניסוי השלכת הצורה הפוליגונלית על המחברת בתור אוסף של השלכות של כל המחטים האינדיבידואליות; כמובן, בגלל שהמחטים דבוקות זו לזו אז הניסויים הללו תלויים מבחינה הסתברותית, אבל כבר אמרתי שהקטע עם "התוחלת היא סכום התוחלות" לא מושפע מזה.

ועכשיו הפאנץ': בואו ניקח בתור ה"מחט" שלנו מעגל. כמובן, מעגל הוא לא עקום פוליגונלי, אבל אפשר לקרב אותו כרצוננו עם עקומים פוליגונליים כך שכדי להוכיח את מה שאטען כרגע על מעגל רק צריך עוד קצת ביסוס טכני שלא אכנס אליו (הוא תרגיל מצויין כדי לוודא שהבנתם מה קורה פה). אז חזרה למעגל – אני אקח מעגל שקוטרו הוא בדיוק \(d\). מעגל כזה, לא משנה איך תשימו אותו, הולך להכיל בדיוק שני חיתוכים עם קווים מפרידים (שוב, ייתכן שהוא רק ישיק לשניהם, אבל זה מקרה עם הסתברות 0 ואפשר גם לדבר על "נגיעה בקווים מפרידים" במקום "חיתוך" אם זה מפריע למישהו). הנה, תראו הוכחה על ידי תמונה:

needles4

אם כן, אנחנו יודעים שעבור \(l=\pi d\) (היקף מעגל שקוטרו \(d\), כמובן) מתקיים \(E\left[\pi d\right]=c\pi d=2\), כלומר \(c=\frac{2}{\pi d}\) וסיימנו. לא יודע מה איתכם, אותי הטיעון הזה, עם המעגל שבא משום מקום, פשוט הפיל לקרקע מרוב שהוא אדיר.

מי שהמציא/גילה את ההוכחה הנפלאה הזו הוא המתמטיקאי הצרפתי Joseph-Émile Barbier. אבל הוא לא עצר כאן – למעשה, מה שעשינו כאן הוא הוכחה לתוצאה עוד יותר מעניינת, שמושגת כאשר הופכים את מה שעשינו כאן על פיו. לצורך כך, בואו נאמר שצורה קמורה היא בעלת רוחב קבוע \(d\) אם לכל שני קווים מקבילים שמשיקים לצורה, המרחק ביניהם הוא \(d\). מעגל הוא בבירור צורה כזו, עם רוחב ששווה לקוטר שלה, אבל יש עוד צורות, למשל "משולש רולו":

triangle

כעת, בהוכחה של הנוסחה עבור המחט של בופון השתמשנו במעגל עם קוטר \(d\) כי זו צורה פשוטה ונחמדה, אבל כל צורה קמורה עם רוחב קבוע \(d\) הייתה עובדת באותה המידה. הרוחב הקבוע אומר שלא משנה איך נשליך אותה על המחברת שלנו (כלומר, איך "סובבנו" אותה), או ששני קווי גבול במחברת ישיקו לה, או שבדיוק קו גבול אחד יעבור דרכה – ומכיוון שהיא קמורה, המשמעות היא שהוא יחתוך אותה בדיוק בשתי נקודות (לצורות לא קמורות זה לא עובד).

אם כן, ניקח צורה קמורה כלשהי מרוחב קבוע \(d\) ועם היקף \(l\). תוחלת מספר החיתוכים כשמשליכים אותה על המחברת הוא מצד אחד 2 מהסיבה שפירטתי כרגע, ומצד שני על פי הנוסחה הוא \(\frac{2l}{\pi d}\). מסקנה: \(\frac{2l}{\pi d}=2\), או \(l=\pi d\). כלומר, ההיקף של הצורה הוא תמיד \(\pi d\), בין אם היא מעגל ובין אם לאו. להציב \(d=1\) נותן את התוצאה הזו בצורה אפילו יותר ברורה, למי שפספס אותי לרגע:

כל צורה קמורה בעלת רוחב קבוע 1 היא בעלת היקף \(\pi\).

לא רק מעגלים.

את יום פאי הבא נחגוג עם פאי בצורת משולש רולו?

הפנטגרמה והפיתגוראים

על מה אתם חושבים כשאתם רואים את הסמל הבא?

Pentagram1

באופן מצער למדי, הסמל הזה – פנטגרמה – הפך בימינו למזוהה עם כת השטן והפך למעט מוקצה מחמת מיאוס (כמובן, הרבה פחות מאשר סמל אחר, ההוא שההודים משתמשים בו זה אלפי שנים). זה חבל הן מסיבות תרבותיות, שכן פנטגרמה מופיעה בשלל הקשרים תרבותיים אחרים שכלל אינם קשורים לכת השטן (ויש גם ניואנסים; אם קודקוד הפנטגרמה כלפי מטה זו כת השטן, ואם הוא מעלה זה פאגניזם וכיוצא בזה), אבל גם בגלל שמבחינה מתמטית מדובר על צורה גיאומטרית מגניבה ביותר, ובפוסט הזה אני רוצה להראות את אחת מהדרכים שבהן היא מגניבה – הוכחת קיום של מספרים אי רציונליים, כלומר כאלו שאינם ניתנים להצגה כיחס בין שני מספרים שלמים.

עוד בראשית ימי הבלוג הצגתי הוכחה לכך שהשורש של 2 אינו רציונלי, וזמן מה לאחר מכן גם הצגתי הוכחה כללית לכך ששורש של מספר שלם הוא או מספר שלם בעצמו או אי רציונלי. הוכחה כללית שכזו הייתה ידועה כבר למתמטיקאים היוונים הקדמונים ומופיעה אצל אוקלידס, ב-300 לפנה"ס, אבל הגילוי כנראה בוצע הרבה קודם, ונהוג לייחס אותו לפיתגורס, שחי בסביבות 600 לפנה"ס. האגדות אוהבות לספר שפיתגורס וחסידיו האמינו כי כל דבר ניתן לתיאור בידי מספרים רציונליים, והגילוי שיש דברים שלא ניתן לתאר כך זעזע אותם כל כך עד שהטביעו את היפסוס, הפיתגוראי שגילה זאת (גרסה אלטרנטיבית: הוא טבע כעונש מהאלים. גרסה אלטרנטיבית: הוא הוטבע/טבע כעונש על כך שחשף את דבר הגילוי לעולם החיצון, מה שהפר את קוד השתיקה הכללי של הפיתגוראים בלי קשר לאי רציונלית; גרסה אלטרנטיבית: הוא הוטבע בכלל בגלל ויכוח עם פיתגורס על דודקהדרון; גרסה אלטרנטיבית: הוא מת בשיבה טובה. היסטוריה של המתמטיקה זה עסק מסובך).

נשאלת השאלה, מה היפסוס בעצם גילה? מה המספר האי רציונלי שלו? לרוב חושבים שמדובר על שורש 2 ושההוכחה של היפסוס דומה להוכחה ה"סטנדרטית" שהצגתי בבלוג, אבל יש גם דעות אלטרנטיביות. אמנם, שורש 2 צץ מעצמו כשאנחנו מסתכלים על ריבוע עם אורך צלע 1 ומפעילים את משפט פיתגורס כדי לחשב את אורך האלכסון שלו, אבל אין סיבה להניח שמשפט פיתגורס היה חשוב באופן מיוחד לפיתגוראים; השם שלו הוא בסך הכל תוצר של נסיבות היסטוריות. לעומת זאת, הפנטגרמה הייתה סמל קדוש לפיתגוראים, ולכן הוכחה שמוצאת בה משהו אי רציונלי נראית יותר סבירה (אבל כמובן, את האמת אין לדעת – לא נותרו ממצאים כתובים של פיתגורס עצמו). ההוכחה הזו היא גם גיאומטרית יותר באופיה מההוכחה ששורש 2 אינו רציונלי, והתעלול המרכזי בה הוא יפהפה לחלוטין, כך שיש בה ערך גם אם אנחנו כבר מכירים את ההוכחה על שורש 2.

ראשית כל יש להבין כיצד פנטגרמה נוצרת. אנחנו מתחילים מצורה פשוטה יותר – מחומש משוכלל:

Pentagram2

הרעיון במחומש משוכלל הוא שזהו מצולע בעל 5 צלעות שוות באורכן, שכל הזוויות בו שוות.

עכשיו, בהינתן מחומש אפשר לקבל ממנו פנטגרמה באופן הבא – פשוט מציירים את כל האלכסונים, כלומר את כל הקווים שמחברים קודקודים שאינם סמוכים:

Basis

בעצם, הציור שלעיל הוא מה שקורה כשלוקחים את חמשת הקודקודים של מחומש ומחברים כל קודקוד לכל הקודקודים האחרים האפשריים. זו צורה מעניינת באופן כללי – בתורת הגרפים היא אחד משני הגרפים הבסיסיים ביותר שאינם מישוריים, אבל לא אדבר על כך הפעם.

עכשיו, אם נסתכל בתוך הפנטגרמה, נראה שמתחבא בתוכה מחומש משוכלל קטן יותר, הפוך:

Pentagram3

אבל אם קיבלנו מחומש משוכלל, אפשר למתוח את האלכסונים שלו, ולקבל עוד פנטגרמה:

Pentagram4

וכפי שאתם מנחשים, אפשר להמשיך את התהליך הזה עד לאינסוף – בונים מחומש, ובתוכו פנטגרמה, ובתוכה מחומש, ובתוכו פנטגרמה, ובתוכה מחומש… ובכל פעם נקבל מחומשים ופנטגרמות קטנים יותר ויותר. זה יהיה רעיון המפתח בהוכחה שלנו.

בואו נסתכל לרגע על אחד מהמשולשים שמופיעים בתוך המחומש-עם-פנטגרמה:

Pentagram5

זה בבירור משולש שווה שוקיים, שאורך כל שוק בו הוא אורך צלע הפנטגרמה – בואו נסמן אותה ב-\(A\), ואורך הבסיס שלו הוא אורך צלע המחומש – בואו נסמן אותה ב-\(B\). בכל מחומש-עם-פנטגרמה שנצייר, היחס \(\frac{A}{B}\) בין אורך צלע הפנטגרמה ואורך צלע המחומש יהיה זהה (זה נובע מדמיון משולשים על המשולש שציירתי למעלה). כעת יש שתי שאלות: מהו היחס הזה, והאם הוא מספר רציונלי? לשאלה מהו היחס הזה אחזור בסוף הפוסט; כרגע אני רוצה לשכנע אתכם שהוא מספר אי רציונלי, כלומר שלא ניתן לתאר אותו על ידי מנה של שני מספרים שלמים.

הצעד הראשון הוא לשים לב לאבחנה הפשוטה הבאה: הטענה שהיחס \(\frac{A}{B}\) הוא רציונלי שקולה לטענה שאפשר לצייר מחומש-עם-פנטגרמה באופן כזה שגם אורך צלע הפנטגרמה וגם אורך צלע המחומש שניהם מספרים טבעיים. כיוון אחד הוא ברור – אם נצליח לצייר מחומש-עם-פנטגרמה שכזה, אז \(A\) יהיה מספר טבעי וגם \(B\) יהיה מספר טבעי ולכן \(\frac{A}{B}\) יהיה מספר רציונלי. הכיוון השני פחות מיידי: אם \(\frac{A}{B}\) הוא רציונלי זה לא אומר ש-\(A,B\) הם שלמים בהכרח – הביטו למשל על \(\frac{1/4}{1/2}\) (רבע חלקי חצי) ששווה למספר הרציונלי \(\frac{1}{2}\). מה שנכון הוא שאם היחס הוא מספר רציונלי, למשל \(\frac{t}{s}\) עם \(t,s\) שלמים, אז אפשר לצייר מחומש-עם-פנטגרמה כך שאורך צלעו של המחומש היא \(s\) ואורך צלעה של הפנטגרמה הוא \(t\) ולקבל מחומש-עם-פנטגרמה שאורכי צלעותיהם הם טבעיים.

מה שאני הולך להוכיח הוא שההנחה הזו – שיש מחומש-עם-פנטגרמה שאורך הצלעות של שניהם הוא מספר טבעי – היא שגויה, והתעלול פשוט ומקסים: אני אקח מחומש-עם-פנטגרמה שכזה, אצייר בתוכו את המחומש-עם-פנטגרמה הקטן יותר שמוכל בו, ואז אוכיח שאם אורכי הצלעות של המחומש-עם-פנטגרמה הגדול הם מספרים טבעיים, אז גם אורכי הצלעות של המחומש-עם-פנטגרמה הקטן יותר הם מספרים טבעיים, קטנים יותר מאלו של המחומש-עם-פנטגרמה הגדול. מכיוון שאפשר להמשיך בתהליך יצירת המחומש-עם-פנטגרמה עד לאינסוף, זה אומר שסדרת אורכי הצלעות של הפנטגרמות שנקבל בדרך תהיה סדרה אינסופית של מספרים טבעיים שהיא יורדת ממש, כלומר שכל איבר בה קטן מהקודם לו. דבר כזה הוא לחלוטין בלתי אפשרי: אם האיבר הראשון בסדרה הוא \(n\), אז אחרי לכל היותר \(n\) איברים בסדרה נגיע אל 0, וזהו; אי אפשר לרדת יותר ועדיין להישאר עם מספר טבעי.

אם כן, האתגר הטכני שלנו הוא להוכיח שאם אורכי הצלעות במחומש-עם-פנטגרמה הגדול הם טבעיים, כך גם אורכי הצלעות במחומש-עם-פנטגרמה הקטן יותר. בשביל זה צריך להפשיל שרוולים וקצת ללכלך ידיים עם פרטים טכניים לא מורכבים מדי.

ספציפית, בואו נסמן את צלע הפנטגרמה הגדולה ב-\(A\), את צלע המחומש הגדול ב-\(B\), את צלע הפנטגרמה הקטנה יותר ב-\(a\) ואת צלע המחומש הקטן יותר ב-\(b\). מה שנוכיח הוא ש-\(a=A-B\) (ולכן בפרט \(a<A\) ואכן נקבל סדרה יורדת) ו-\(b=2B-A\). בבירור אם \(A,B\) היו טבעיים שניהם, כך גם \(a,b\). עכשיו אני מציע לכם לקחת הפסקה מהפוסט, עכשיו משאתם יודעים מה אנחנו מנסים להוכיח, ולנסות להוכיח את זה בעצמכם. גם אם לא תצליחו, המשך הפוסט יהיה כנראה קל יותר לקריאה אחרי שחשבתם קצת על זה עצמאית.

בואו נתחיל עם שאלה פשוטה: במחומש משוכלל כל הזוויות שוות, כבר אמרנו, אבל לכמה שווה כל זווית? דרך פשוטה לגלות זאת היא לפרק את המחומש לחמישה משולשים:

Pentagram6

בגלל הסימטריה של המחומש אנחנו יודעים שכל המשולשים זהים, ושהם כולם שווי שוקיים, ולכן גם זוויות הבסיס שלהם שוות. מהי זווית הראש? סכום זוויות הראש של כל המשולשים יחד מרכיב מעגל שלם, כלומר 360 מעלות, ולכן זווית הראש היא בת \(\frac{360}{5}=72\) מעלות. זה מותיר לשתי זוויות הבסיס \(180-72=108\) מעלות, ולכן כל זווית בסיס שכזו היא בת \(54\) מעלות. כעת, כל זווית במחומש היא סכום של שתי זוויות בסיס ולכן הזווית במחומש היא 108 מעלות.

עכשיו, כל זווית של המחומש מחולקת על ידי הפנטגרמה לשלושה חלקים. שניים מהם בבירור זהים מטעמי סימטריה; בקשר לזווית האמצעית אנחנו קצת פחות בטוחים. בואו נסמן את הזוויות הצדדיות ב-\(\alpha\) ואת הזווית הפנימית ב-\(\beta\):

Pentagram7

אז יש לנו את המשוואה \(2\alpha+\beta=108^{\circ}\). זה לכשעצמו לא מספיק כדי לדעת מהם \(\alpha,\beta\), אבל אפשר למצוא עוד משוואה אם מסתכלים על המשולש:

Pentagram8

זווית הראש במשולש היא \(\beta\), ואילו שתי זוויות הבסיס הן \(\alpha+\beta\). לכן נקבל את המשוואה \(\beta+2\left(\alpha+\beta\right)=180^{\circ}\), כלומר \(2\alpha+3\beta=180^{\circ}\). קיבלנו שתי משוואות בשתי נעלמים, ואת זה קל לפתור – מחסרים את המשוואה הראשונה מהשניה ומקבלים \(2\beta=72^{\circ}\), כלומר \(\beta=36^{\circ}\), ולכן גם \(\alpha=36^{\circ}\). כלומר, הפנטגרמה מחלקת את הזוויות של המחומש לשלושה חלקים שווים שכל אחד מהם הוא \(36^{\circ}\). הסימטריה המושלמת הזו היא המפתח להמשך.

עכשיו, בואו נסתכל לרגע על צלע הפנטגרמה:

Pentagram9

שימו לב לכך שהיא מחולקת לשלושה חלקים. אורך החלק האמצעי הוא בדיוק \(b\) – אורך צלע המחומש הקטן. מה אורך שני החלקים האחרים? מסימטריה ברור שהוא שווה; נסמן אותו \(x\). קיבלנו את המשוואה \(A=b+2x\). כמו קודם, משוואה אחת לא מספיקה לנו, אז בואו נביט במשולש הבא:

Pentagram10

זה נראה כמו משולש שווה שוקיים, ואכן, די קל להשתכנע ששתי זווית הבסיס הן בנות 72 מעלות, בעזרת מה שכבר ראינו על הזוויות במחומש-פנטגרמה (הוכיחו זאת לעצמכם!). אחת השוקיים היא באורך \(B\) ואילו השניה היא באורך \(b+x\), כך שקיבלנו את המשוואה \(B=b+x\). נכפול את המשוואה הזו ב-2 ונחסר ממנה את הראשונה, ונקבל \(b=2B-A\), כפי שהבטחתי למעלה.

עכשיו הגיע הזמן לטפל בפנטגרמה-שבתוך-המחומש-שבתוך-הפנטגרמה. מה אורך הצלע שלה? ובכן, כבר היכרנו אותו – זה בדיוק מה שסימנתי בתור \(x\):

Pentagram11

בציור הזה אנחנו רואים עוד משולש שווה שוקיים, שבו השוקיים הן בדיוק צלע הפנטגרמה הקטנה, והחלק של צלע הפנטגרמה הגדולה שסימנתי בתור \(x\). זוויות הבסיס של המשולש הן בנות 36 מעלות – שוב, זה נובע ממה שכבר ראינו עליהן – ולכן זה אכן משולש שווה שוקיים. המסקנה: \(A=2a+b\), אבל אנחנו כבר יודעים מהו \(b\) במונחים של \(A,B\): \(b=2B-A\). נציב ונקבל: \(2a+2B-A=A\), כלומר \(2a=2A-2B\), כלומר \(a=A-B\) – שוב, כמו שהבטחתי. זה מסיים את ההוכחה.

עכשיו אפשר לחזור לשאלה הנוספת. אנחנו יודעים ש-\(\frac{A}{B}\) הוא מספר אי רציונלי, אבל איזה מספר אי רציונלי? לשם כך אנסה למצוא דרך לחשב, אלגברית, את הערך של \(\frac{A}{B}\). אנחנו יודעים מדמיון משולשים שמתקיים \(\frac{A}{B}=\frac{a}{b}\) ואנחנו יודעים לבטא את \(a,b\) בעזרת \(A,B\) – זו נראית כמו נקודת פתיחה טובה. אם כן, נציב:

\(\frac{A}{B}=\frac{A-B}{2B-A}\)

עכשיו אשתמש בתעלול. באגף ימין \(A\) ו-\(B\) מופיעים לבדם וזה לא טוב לי, כי מי שמעניין אותי הוא היחס \(\frac{A}{B}\). לכן אחלק הן את המונה והן את המכנה של אגף ימין ב-\(B\), ואקבל:

\(\frac{A}{B}=\frac{\frac{A}{B}-1}{2-\frac{A}{B}}\)

כעת אסמן \(x=\frac{A}{B}\) ובואו ונראה איזו משוואה קיבלתי:

\(x=\frac{x-1}{2-x}\)

נכפול את שני האגפים ב-\(2-x\) ונקבל:

\(2x-x^{2}=x-1\)

נעביר אגפים:

\(x^{2}-x-1=0\)

למשוואה הזו יש שני פתרונות אלגבריים:

\(x_{1,2}=\frac{1\pm\sqrt{5}}{2}\)

פתרון אחד הוא שלילי ולכן חסר משמעות בשבילנו – בהכרח הפתרון האחר הוא היחס הנכון, \(\frac{1+\sqrt{5}}{2}\). זה מספר מפורסם מאוד – הוא נקרא יחס הזהב ועיקר פרסומו מגיע לו מכך שהוא צץ, לכאורה, בכל מני מקומות בטבע, באדריכלות, באסתטיקה ועוד כהנה וכהנה. התחושה שלי היא שבלא מעט מקרים שבהם "מוצאים" את יחס הזהב במקום כלשהו יש מידה לא קטנה של אילוץ ומשחק עם פרמטרים כדי שיתאימו; עם זאת, בפנטגרמה הוא מופיע באופן הכי טבעי שרק אפשר, ובתפקיד מרכזי. כמובן, אם הייתי יודע שהיחס שאני מחפש הוא יחס הזהב הייתי יכול לוותר על ההוכחה הגיאומטרית ולהסתפק בציון העובדה שהוא אי רציונלי (למשל, כי \(\sqrt{5}\) אי רציונלי), אבל שימו לב לכך שכדי לגלות שהיחס הוא יחס הזהב היה עלי לחשב אלגברית את \(a,b\) ובשלב הזה ההוכחה שלי ממילא נסתיימה. פרט לכך, אין מה לעשות – ההוכחה הגיאומטרית פשוט מגניבה יותר.

למה לא רציונלי לדבר על לא רציונליים (באינסוף)

עיתון "הארץ" עשה מעשה נאה ופרסם מאמר על מושג האינסוף. על כך יבורך; כל מאמר על נושא מדעי/מתמטי הוא דבר רצוי וראוי. המאמר הוא תרגום של מאמר מהניו-יורק טיימס של אחת, נטלי אנג'ייר, שכבר כתבתי בעבר פוסט נזעם על ספר שלה, "הקנון המדעי", שבו במחי כמה פסקות היא הציגה, לטעמי, את המתמטיקה בצורה השגויה ביותר שניתן להעלות על הדעת, כך שבאתי למאמר הנוכחי משוחד לרעה ובמצב רוח של מציאת שגיאות קטנוניות ככל הניתן.

התאכזבתי. המאמר הוא די בסדר, אם כי שטחי ומפוזר למדי לטעמי אפילו בהתחשב בנסיבות של מאמר בעיתון להמונים. אם רוצים להשתעשע, אפשר ללעוג קצת לציטוט הזה:

יש סוגי אינסוף המוכרים לנו מהיומיום, כמו המספר פאי, עם רצף הספרות האינסופי חסר המחזוריות מימין לנקודה. אבל מה יקרה אם נעגל את פאי ל-3.14159, ואז נגיש פאי תפוחים ב-14 במארס בשעה 1:59?

(מה באמת יקרה? כנראה שנאכל פאי תפוחים).

למרות כל זה, אני חושב שבמאמר יש בלבול שהוא נפוץ ביותר וגם אני לקיתי בו בעבר, שכדאי לשים עליו את האצבע. לא כדי ללעוג לאנג'יר על טעויות מביכות, כי זה בלבול נסלח בהחלט; פשוט בגלל שלטעמי הנקודה הזו מעניינת ומי שקורא את המאמר מחמיץ אותה לחלוטין.

המדובר על הציטוט הבא:

ביוון העתיקה "אימצו גישה חשדנית ועוינת למושג האינסוף", אומר א. וו. מור, מרצה לפילוסופיה באוניברסיטת אוקספורד ומחבר הספר The Infinite (1990). היוונים העדיפו מספרים רציונליים, שלפי הגדרתם יכולים להיכתב כשבר, כפי ש-0.75 שווה ל ¾ בדיוק, על פני מספרים אי-רציונליים כמו השורש הריבועי של 2, שהם בעלי עשרות ספרות חסרות מחזוריות.

איני רוצה להיכנס לדיון ההיסטורי על היחס של היוונים למספרים אי רציונליים, בפרט כי איני בקיא בו. אני כן רוצה לתהות על עירוב המספרים הללו יחד עם דיון על מושג האינסוף. ראשית אעיר כי מספרים אי רציונליים סובלים מבעיה "סופית" לחלוטין – אי אפשר להציג אותם כמנה של שני מספרים שלמים, או בניסוח שאולי יותר הולם את גישתם של היוונים, אם יש לנו קטע שאורכו הוא מספר שלם, וקטע שאורכו הוא מספר אי רציונלי, אין לשני הקטעים הללו מידה משותפת – אין קטע שלישי, קטן משניהם, שנכנס בכל אחד מהקטעים מספר פעמים שלם (להבדיל, למשל, מ-¾ ו-5, שהקטע שאורכו רבע הוא מידה משותפת לשניהם כי הוא נכנס שלוש פעמים ב-¾  ועשרים פעמים ב-5). אני סקרן לדעת האם ההתנגדות של היוונים לאי-רציונליים (בהנחה שאכן הייתה כזו – אני יודע על פיתגורס אבל לא יותר) נבעה מנימוקים של חוסר מידה משותפת או מנימוקים של "אינסוף".

מה שאני כן רוצה לטעון כאן הוא שבעייתי מאוד לזהות את המספרים האי-רציונליים עם "אינסוף" בעזרת הטיעון של "אינסוף ספרות" (או "עשרות ספרות" בלשונה הציורית של אנג'יר). נתחיל מכך שאנג'יר עושה לעצמה חיים קלים בכך שהיא מביאה את ¾ כדוגמה. הוא אכן ניתן לכתיבה יפה בתור 0.75, אבל לא כל המספרים הרציונליים כאלו! הדוגמה הפשוטה ביותר היא שליש, 1/3, שכאשר ננסה להציג אותו בבסיס עשרוני נקבל את המספר …0.333 שהוא בעל אינסוף חזרות של 3 על עצמו (זו המשמעות של שלוש הנקודות).

יתר על כן, אין מקריות בתופעה הזו – זה לא שלשליש יש איזו תכונה "רעה" ולשלושת-רבעי יש תכונה "טובה" מקרית. לא קשה להוכיח שבאופן כללי, הייצוג העשרוני של מספר רציונלי הוא סופי אם ורק אם המכנה שלו הוא מכפלה של מספר כלשהו של 2 ו-5 בלבד. למה דווקא 2 ו-5? כי אלו המחלקים הראשוניים של 10, שהוא המספר שבבסיס הספירה העשרונית. זה מעביר אותנו לפאנץ' הראשון: בבסיס ספירה אחר, למשל בבסיס ספירה עם 9 ספרות בלבד, המספר ¾ דווקא יהיה בעל ייצוג האינסופי …0.666, בעוד 1/3 יהיה בעל הייצוג הסופי 0.3 (אגב, אפשר גם להעיר שייצוג "סופי" כמו 0.3 הוא גם כן אינסופי, שהרי אחרי ה-3 מגיעות עוד אינסוף ספרות שכולן 0).

בשלב הזה קרוב לודאי שחלקכם כבר ממש מרוגזים עלי ומתכננים פוסט שישמיץ אותי. הרי בכל הדיון הזה על בסיסי ספירה אני מתעלם מנקודה עקרונית שאנג'יר דווקא כן הזכירה, ומבדילה מספרים רציונליים מאי-רציונליים: לא חשוב אם יש אינסוף ספרות או אין, חשוב אם אותן אינסוף ספרות הן מחזוריות או לא. ואנג'יר מדברת, שחור על גבי לבן, על כך שבמספרים אי רציונליים יש "עשרות ספרות חסרות מחזוריות". בכך היא צודקת לחלוטין – אפשר להוכיח (וזה גם לא קשה במיוחד) שמספר הוא רציונלי אם ורק אם הספרות שלו בפיתוח עשרוני (או פיתוח לפי כל בסיס ספירה אחר) הן מחזוריות החל ממקום מסויים. אבל למה, בעצם, שזה יהיה משנה מבחינת ה"אינסופיות" שלו?

ובכן, אנג'יר כמובן לא נותנת תשובה למהות ההבדל בין אינסוף מחזורי ואינסוף לא מחזורי, מה שלטעמי מעיד על רדידות המאמר שלה ומותיר לי רק את האפשרות של לנחש את הבעיה. אני מנחש שהתשובה הטבעית ביותר היא שאינסוף ספרות שהן מחזוריות אפשר לכתוב בצורה סופית. כך למשל …0.333 היא בעצם שיטת כתיבה סופית בהחלט למספר שליש: שלוש הנקודות אומרות "מכאן והלאה תחזור על התבנית שכבר ראית" (כדי להיות ממש מדוייקים, בכתיבה כללית של מספרים רציונליים שבהם ההתחלה יכולה לכלול חלק לא מחזורי נהוג למתוח קו מעל קבוצת הספרות הסופית שחוזרת על עצמה, אבל זה לא חשוב כרגע).

מה הקאץ'? שגם לשורש 2 קיים ייצוג מחזורי. לא ייצוג עשרוני, כמובן, אלא ייצוג בתור שבר משולב אינסופי. למי שמעוניין לקרוא על שברים משולבים יש לי שני פוסטים שמציגים אותם. כאן לא אכנס לפרטים הטכניים אלא אסתפק בשורה התחתונה: כל מספר ממשי אפשר לייצג על ידי שבר משולב אינסופי, כאשר בתכל'ס הקידוד הזה מבוצע על ידי סדרה של מספרים טבעיים. מספר הוא רציונלי אם ורק אם הסדרה הזו היא סופית; אבל זה לא אומר שלמספרים האי-רציונליים יש בהכרח שבר משולב לא מחזורי: תוצאה יפהפיה של לגראנז' (מתמטיקאי איטלקי-צרפתי בן המאה ה-18 – הרבה אחרי היוונים הקדמונים) מראה כי כל מספר אי רציונלי שהוא פתרון של משוואה ממעלה שניה במספרים רציונליים הוא בעל שבר משולב אינסופי מחזורי, וגם ההפך נכון (כל מספר בעל שבר משולב אינסופי מחזורי הוא פתרון של משוואה שכזו). בפרט שורש 2 הוא פתרון של משוואה שכזו – \(x^2-2=0\) ולכן יש לו הצגה כשבר משולב מחזורי אינסופי, שמיוצג על ידי סדרה פשוטה למדי: …1,2,2,2. אגב, המספר שמיוצג על ידי הסדרה האינסופית-מחזורית הפשוטה ביותר שניתן להעלות על הדעת – …1,1,1,1 – הוא ידידם הטוב ביותר של סופרי המתמטיקה הפופולרית – יחס הזהב (האי-רציונלי למהדרין).

ייתכן שקשה לכם להסכים עם ההכנסה של שברים משולבים למשחק, בפרט אם מעולם לא נתקלתם בהם עד כה. אולי אתם לא מוכנים להכיר בהם בתור ייצוג חוקי בכלל. ובכן, אני מזמין אתכם לקרוא את הפוסטים בנושא ולהבין מדוע לטעמי הם ייצוג לגיטימי; למעשה, במובן מסויים שברים משולבים הם ייצוג יותר טוב ויותר נכון למספרים מאשר הייצוג העשרוני. למשל, גם ייצוג עשרוני וגם ייצוג על ידי שברים משולבים מגדירים בשורה התחתונה סדרה של קירובים רציונליים למספר המיוצג; ניתן להוכיח (ואני עושה זאת בפוסטים) שסדרת הקירובים שהשבר המשולב נותן היא הטובה ביותר האפשרית בעוד שזו של ייצוג עשרוני – לא.

אם כן, עלינו להחליט. האם ייצוג של משהו על ידי אינסוף ספרות הוא רע או טוב? אם אינסוף ספרות זה אוטומטית רע, הרציונליים בבעיה; אם אינסוף ספרות זה לא רע כל עוד הן מחזוריות, אז גם חלק מהאי-רציונליים הם במצב טוב, למשל שורש 2 שאנג'יר השתמשה בו כדוגמה. כדאי גם להעיר שאפילו חלק מהמספרים טרנסנדנטיים כמו e הם בעלי הצגות נחמדות כשברים משולבים: הסדרה שמתאימה ל-e היא …2,1,1,4,1,1,6,1,1 שאיננה מחזורית במובן הפשטני של המילה אבל בבירור היא מתוארת על ידי תבנית קצרה ופשוטה. זה מנוגד לחלוטין לתפיסה הרווחת של המספרים האי-רציונליים ככאלו שאין מנוס מלהציג אותם בצורה "מבולגנת", כפי שעשוי להתקבל הרושם כאשר מסתכלים על הייצוג העשרוני הרגיל של שורש 2, …1.41421356237.

מיותר לציין שבמאמר של אנג'יר כל זה לא מופיע ולו ברמז. קשה להתלונן על כך – זה הרי מאמר שטחי שנוקט בגישת "תפסת מרובה לא תפסת" ומנסה להציג כמה שיותר תחומים וגישות. הוא לא יכול להתעמק באף אחת מהן. מה שרציתי להראות בפוסט הזה הוא שחוסר ההתעמקות הזה מוביל לעתים קרובות לפספוס מוחלט של הפואנטה, להטעיית הקורא, וגרוע מכל – להמנעות מהצגת הדברים המגניבים באמת שנוגעים לתחום שעליו מדברים.

ראשוני מחוץ לחוק

האם מספר ראשוני (או סתם מספר) יכול להיות לא חוקי? בהחלט, וזה הסיפור שאני רוצה לספר היום, שהוא גם משעשע, גם מערב מתמטיקה לא טריוויאלית וגם מערב קצת להטוטי מדעי המחשב. תחילת הסיפור היא עם דיסקי ה-DVD. דיסקים מסחריים מגיעים בדרך כלל עם הגנה כלשהי עליהם, וזו שרלוונטית לנו והייתה פופולרית בתחילת המאה ה-21 נקראת Content Scramble System, או בקיצור CSS.

הרעיון הוא פשוט: התוכן של ה-DVD מוצפן, והמפתח שבעזרתו ניתן לפענח את ההצפנה נמצא על איזור מאוד ספציפי של הדיסק. דיסקים לצריבה שנמכרים בחנויות מגיעים במצב שבו האיזור הזה לא ניתן לכתיבה, או שהצורבים הקנייניים פשוט לא מוכנים לצרוב בו, ולכן גם אם מעתיקים את תוכן הדיסק כמות שהוא, לא ניתן להעתיק את המפתח; זה הופך את ה-CSS להגנה כלשהי בפני שכפולי דיסקים נאיביים (שבהם פשוט מעתיקים את תוכן הדיסק בלי לפענח אותו קודם). בנוסף, CSS מספק יכולת לחלק את נגני ה-DVD ל"איזורי שידור" שונים – נגן שמתאים לאיזור א' לא יודע לקרוא את הססמא שנמצאת בדיסק שנועד לאיזור ב'. אפשר להגיד דברים טובים ורעים על השימוש ב-CSS או באופן כללי על השימוש ב-DRM (קיצור של Digital Rights Management, שבעברית נקרא "ניהול זכויות דיגיטלי" אבל לרוב מעדיפים לתרגם כ-"ניהול זכויות קנין", או בקיצור נז"ק) אבל אני מעדיף להימנע מהדיון הזה כאן. החשיבות של ה-CSS היא בכך שבאופן לא מפתיע בכלל, מהר מאוד צצו אנשים עלומי שם שמצאו דרך לפצח את ההצפנה שלו גם בלי לקרוא את המפתח, ומהר מאוד נכתבה תוכנה בשם DeCSS שעושה בדיוק את זה. באופן לא מפתיע, DeCSS נחשבת לא חוקית במספר מדינות (ושוב, לא ניכנס לדיון על אילו מדינות ומדוע…).

ועכשיו (בשנת 2001) נכנס לתמונה בחור בשם פיל קרמודי. את התיאור שלו להתגלגלות הדברים אפשר לקרוא כאן, אבל הסיפור פשוט ומשעשע למדי לטעמי. פיל חשב על דרך שבה הוא יוכל לגרום לקוד של DeCSS להיות זמין באופן פומבי, בכל מקום בעולם, מבלי שהחוק יוכל לעשות משהו נגד זה. מכיוון שהוא אהב להשתעשע עם מספרים ראשוניים, צץ בראשו הרעיון הבא: נניח שנקודד את הקוד של התוכנית באמצעות מספר (בהמשך אסביר בפירוט איך), אבל לא "סתם" מספר אלא מספר שיהיה מעניין – למשל, מספר שיהיה אחד מהמספרים הראשוניים הגדולים ביותר שנתגלו אי פעם – אז המספר הזה, שהוא בעל תכונה "מעניינת" בפני עצמו, בלי קשר לתוכנית שהוא מקודד, יוכנס כלאחר כבוד אל רשימת "המספרים הראשוניים הגדולים ביותר שנתגלו אי פעם" ושם ישכון לבטח באופן חוקי לחלוטין, למרות שהוא מקודד תוכנית לא חוקית. אמר פיל, ועשה. ליתר דיוק, הוא מצא שני מספרים ראשוניים, אחד שמקודד את הקוד של DeCSS ולא היה מספיק גדול כדי להיכנס לרשימה, ושני שמקודד כבר את קוד המכונה הרלוונטי של התוכנית והיה גדול דיו להיכנס לרשימה. מאז כמובן שפותחו שיטות הגנה חדשות על דיסקים, וגם שיטות אחרות להיפטר מ-CSS, אבל המקרה הזה נחקק בזכרון בתור דוגמה בולטת ל"מספר לא חוקי".

נתחיל מההתחלה – איך תוכנית מחשב יכולה להיות מספר? לשם כך צריך לזכור איך תוכניות מחשב מיוצגות בתוך המחשב: תוכנית מחשב, כמו כל קובץ אחר במחשב, היא בסך הכל רצף של אפסים ואחדים – "ביטים". מטעמים היסטוריים, נהוג לקבץ את הרצפים הללו לקבוצות של שמונה ביטים שנקראות "בייטים". אפשר לחשוב על כל בייט בפני עצמו בתור ייצוג של מספר בין 0 ל-255, בבסיס בינארי. למשל, הבייט 00001011 מייצג את המספר \(1+2+8=11\). כפי שאתם מנחשים, קצת מסורבל לייצג בייטים בבסיס בינארי, אז נהוג לייצג אותם בבסיס 16 – "בסיס הקסדצימלי" – שהיתרון שבו הוא שכל ספרה הקסדצימלית ניתנת לחישוב מיידי מארבעה ביטים רצופים. הבייט שלעיל, בבסיס הקסדצימלי, הוא \(\mbox{0B}\).

האופן שבו רצפים שונים של בייטים מפורשים בתור קבצים הוא עניין שהוא לחלוטין תלוי הקשר – אותו רצף של בייטים יכול להיראות בעל משמעות רבה לתוכנה אחת, וחסר משמעות לתוכנה אחרת. כמה פעמים ניסתם לפתוח קובץ MP3 על ידי עורך תמונות כדי לראות מה יקרה? (לרוב עורך התמונות יצעק שהוא לא מבין כלום; אבל עורכי טקסט לפעמים יצליחו לפתוח את הקובץ ולהציג משהו שנראה כמו ג'יבריש). יש ייצוג סטנדרטי פשוט יחסית לטקסט שנקרא ASCII – בייצוג זה כל בייט מייצג תו מסויים, כאשר אותיות לועזיות מתחילות ב-65 ונגמרות ב-122 (עם עוד כמה סימנים באמצע). כפי שקל להבין, אפשר לייצג בשיטה זו רק 255 תווים ולכן בשביל להציג אלפביתים רבים ושונים משתמשים בשיטות קידוד מחוכמות יותר שלא אכנס אליהן כאן.

בואו נסתכל על קובץ טקסט שמכיל את הפסקה הבאה, פסקת הפתיחה של "סוס הים והנגר" של לואיס קארול:

The sun was shining on the sea,

Shining with all his might:

He did his very best to make

The billows smooth and bright–

And this was odd, because it was

The middle of the night.

אם נפתח את הקובץ עם עורך שיודע לקרוא את הערכים המספריים של הבייטים שלו (עורך כזה נקרא Hex Editor), תחילת הקובץ תיראה כך: 73 20 65 68 54. כאן ה-20 הוא תו ה-ASCII שמייצג רווח, ושאר התווים מייצגים אותיות. זכרו שלא מדובר על ייצוג מספרי אלא על ייצוג הקסדצימלי: כדי לתרגם אותו למספר, הכפילו את הספרה הראשונה ב-16 וחברו לשניה. כלומר, 54 הוא בעצם המספר שמונים וארבע, בעוד ש-68 הוא המספר מאה וארבע. אם נכתוב את הספרות הללו בזו אחר זו, נקבל את 5468 שהוא כבר מספר גדול בהרבה: 8 ועוד 6 כפול 16, ועוד 4 כפול 16 בריבוע, ועוד 5 כפול 16 בשלישית, כלומר המספר \(21608\). ואם ניקח את כל הקובץ של סוס הים והנגר ונחשוב עליו כמספר באופן שתיארתי, נקבל מספר די מפלצתי, בן למעלה מארבעה-מאות ספרות:

153058130896577434476956204244500915089507607276649591136639967347927
634085752721215073631336899232176479844024041004598713736540252717051
491125294738203137728828190962600734620137160806953118745283821570893
504447012198054017464958848902345608456153112106477819772373230961058
745461657368290816729833943072852706505548140495454380685559992935237
417096409099380602636039274560979892769401971212873564491309951693079
602940848141358

כלומר, גם קבצי טקסט קטנים יחסית יהפכו למספרים מפלצתיים בגודלם, אז תוכניות מחשב, גם קטנות, יתפסו עוד יותר מקום. אז מה עושים? ראשית, זה לא נורא במיוחד אם המספר הוא גדול, כי המטרה של קרמודי הייתה ליצור מספר ראשוני גדול; מצד שני, אם המספר הוא גדול מדי, אי אפשר יהיה לבדוק שהוא באמת ראשוני ולכן הוא יהיה חסר ערך. לכן עדיף להתחיל ממספר קטן ככל האפשר ומקסימום להגדיל אותו בצורה מלאכותית (בהמשך נראה איך). הדרך שבה אפשר לבצע הקטנה שכזו כאן היא באמצעות כיווץ. כיווץ של קבצים הוא נושא רחב ומרתק לכשעצמו ולא אכנס אליו כעת, אבל זה היה גם בדיוק מה שקרמודי השתמש בו. הוא לקח את קוד המקור וכיווץ אותו בעזרת gzip (תוכנת כיווץ חינמית שנפוצה בלינוקס ומערכות דומות) ואת התוצאה הוא המיר למספר. אם נפעיל את אותה תוכנה על השיר של סוס הים והנגר, נקבל את המספר הבא:

355941790546066961506342149389258720867004703259858151842931171763230
166556747517269253437195257820204425589941114036432425909398860764878
800593067151962049148381358503674861857798181563071988203782124545041
443302544039699025354442584168547347939973801595105557917155490117291
567168064926333899651600682718875560672206876979350834558577630451895
58969097475577492799488

שהוא בבירור קטן יותר, אם כי לא בצורה יותר מדי משמעותית. בתוכנית מחשב, שבה יש הרבה יותר יתירות (שמות של משתנים שחוזרים על עצמם וכדומה) לרוב כיווץ הוא אפקטיבי יותר.

בואו ניגש לאקשן. הנה פונקציה בשפת רובי שמקבלת כקלט מספר, שנתון כמחרוזת של המספר בייצוג עשרוני שאולי מכילה רווחים (כי הרבה פעמים כשכותבים מספרים גדולים משתילים פנימה רווחים וירידות שורה כדי שיהיה קריא), ממירה אותו לקובץ gz, פותחת אותו ומדפיסה את תוכנו:

def read(n)
hex_string = n.delete(" \n").to_i.to_s(16)
hex_string = "0" + hex_string if hex_string.length % 2 != 0
program_gzip = [hex_string].pack('H*')
File.open("program.gz", "w"){|f| f.write(program_gzip)}
puts `gunzip -c program.gz`
end

מה קורה כאן? בשורה הראשונה מנקים רווחים וירידות שורה מהמספר וממירים אותו לערך מספרי ומייד לאחר מכן ממירים אותו שוב למחרוזת, הפעם כזו שמייצג את המספר בבסיס 16. מכיוון שרובי לא תוסיף 0 מוביל אם אמור להיות כזה, השורה הבאה מוסיפה אותו בעצמה (הסבירו לעצמכם למה צריך לוודא את זה). השורה הבאה היא הקסם השחור הגדול ביותר כאן – הפקודה pack (שמסיבה לא ברורה חייבת לפעול על מערך) ממירה מחרוזת שמייצגת ערך כלשהו לערך האמיתי שלו, בהתאם לסוג המידע שבמחרוזת. כאן H אומר שהערך הוא מספר בבסיס הקסדצימלי והכוכב אומר לקחת את כל הספרות שבמחרוזת. השורה הבאה כותבת את התוכן לתוך קובץ ה-gz, וזו שאחריה פותחת את הקובץ ומוציאה את הפלט. זה הכל. אתם מוזמנים להריץ את הקוד על המספר שנתתי למעלה (לשם כך תצטרכו לעבוד במערכת הפעלה שבה מותקן gunzip בצורה שבה הוא יכול להיות מופעל כך משורת הפקודה, ואני מנחש שאצל רובכם זה לא המצב…) – תקבלו בחזרה את סוס הים והנגר. ואם תעשו את זה על הראשוני של קרמודי, שאפשר לראות כאן, תקבלו את הקוד של DeCSS.

קידוד תוכניות למספרים הוא רק חלק מהסיפור. אחרי הכל, זה לא רעיון חדש; שימוש מבריק ברעיון הזה נעשה כבר על ידי קורט גדל בהוכחת משפטי אי השלמות שלו – גם שם הרעיון היה לקודד תוכניות מחשב באמצעות מספרים טבעיים, ומכיוון שתוכניות המחשב הללו יודעים לפעול על מספרים טבעיים, הן בעצם אמרו משהו על עצמן. גדל כתב תוכנית מחשב שידעה לקחת מספר כזה, לפענח את הייצוג שלו חזרה לתוכנית מחשב ואז לעשות בה דברים מגניבים. רק שקורט גדל עשה את כל אלו לפני שבכלל היו מחשבים או תוכנות מחשב, ומה שאני קורא לו "תוכנת מחשב" אצלו היה בכלל פסוקים בלוגיקה מסויימת (אבל לדעתי מה שהוא עשה איתם היה בדיוק תכנות מהסוג שתיארתי לעיל). אלן טיורינג לקח את הרעיונות של גדל ופירמל אותם עבור מודל של מחשב שכבר אי אפשר היה לטעות בו; ומטיורינג עד קרמודי עברו חמישים שנים של מדעי מחשב שבהן הקשר הזה היה ברור. מה שהפך את התעלול של קרמודי למוצלח היה העובדה שהוא לא מצא "סתם" מספר שמייצג את DeCSS, אלא מספר ראשוני גדול מאוד שעושה את זה, ולכן כדאי לומר כמה מילים על ראשוניים והחיפוש אחריהם.

מספר ראשוני, למי שלא מכיר, הוא מספר שמתחלק רק ב-1 ובעצמו. למשל 7. או 97. ראשוניים הם מעניינים ממגוון סיבות, שרובן נובעות מכך שכל מספר טבעי ניתן לכתוב בצורה יחידה (עד כדי משהו שלא ניכנס אליו) כמכפלה של ראשוניים, והרבה ניתוחים של מספרים טבעיים מתבססים על לקחת את הייצוג הזה כמכפלה ולעשות איתו דברים, תוך שימוש בכך שראשוניים מקיימים שלל תכונות נחמדות שסתם מספרים לא בהכרח מקיימים. דוגמה חשובה לכך היא שיטת ההצפנה RSA: בשיטה זו מגרילים מספר גדול מאוד (מאות ספרות) \(n\) שהוא מכפלה של שני ראשוניים: \(n=pq\). מתוך \(n\) אפשר לייצר שני מספרים, שבאמצעות אחד מהם אפשר להצפין הודעות ובעזרת השני אפשר לפענח אותן; רק שהדרך היחידה שאנו מכירים כיום למצוא את מפתח הפענוח בהינתן מפתח ההצפנה ו-\(n\) היא לדעת את הפירוק של \(n\) לאותו זוג ראשוניים \(p,q\). מי שסתם נותנים לו את \(n\) ביד (וזה מה שנותנים לכל מי שרוצה להצפין) לא יודע לחשב כלום בסגנון הזה, ולמצוא את הראשוניים שמרכיבים את \(n\) זה עניין קשה חישובית. אני חושב שזה עניין מרתק למדי, האופן שבו ההיכרות עם הפירוק של \(n\) לגורמים משנה את כל התמונה.

כעת, כדי לייצר את \(n\) מלכתחילה לא סביר סתם להגריל מספר גדול ולראות אם הוא מתפרק למכפלה של זוג ראשוניים – גם כי לא בהכרח נצליח להגריל מספר כזה, וגם כי כאמור – אנחנו לא באמת יודעים לפרק את \(n\) ואם נצליח לעשות את זה, גם אחרים כנראה יצליחו אז מה השגנו? לכן מה שעושים הוא להגריל מראש את \(p,q\) ולכפול אותם. זו דוגמה לצורך המעשי שלנו להיות מסוגלים למצוא מספרים ראשוניים גדולים. למרות זאת, זה עדיין לא מסביר למה אנחנו מחפשים גם מספרים ראשוניים ממש גדולים, גדולים מכל מספר ראשוני שהכרנו עד אליהם. התשובה היא – אין סיבה, אנחנו עושים את זה בעיקר מתוך סקרנות אינטלקטואלית ומתוך רצון לשפר עוד ועוד את רמת האלגוריתמים-מחפשי-הראשוניים שלנו (אותם אלגוריתמים שבסופו של דבר גם עוזרים למערכות כמו RSA להתקיים).

איך בדרך כלל מוצאים ראשוניים גדולים? אפשר היה לחשוב שיהיו אלגוריתמים מתוחכמים שיודעים בדיוק איך לחפש ראשוניים, אבל כרגע אין ממש כאלו. מה שעושים הוא להגריל מספרים גדולים, ולבדוק אם התמזל מזלנו וקיבלנו ראשוני. אפשר גם להגריל מספר גדול ולהתחיל לעבור סדרתית על המספרים שאחריו – משפט מתמטי בשם "משפט המספרים הראשוניים" מבטיח לנו שבשיטה הזו לא יקח יותר מדי זמן עד שניתקל בראשוני (כמובן שאפשר לעשות אופטימיזציות כמו לבדוק רק מספרים אי זוגיים). אם כן, לב הבעיה הוא פשוט בבדיקה אם מספר הוא ראשוני או לא. איך עושים את זה?

השלב הראשון שבדרך כלל עושים הוא לנסות ולחלק את המספר הנבדק במספרים ראשוניים קטנים יחסית (מספיק לנסות לחלק בראשוניים כי אם מספר מתחלק על ידי מישהו, הוא מתחלק גם על ידי ראשוני שמחלק את ה"מישהו"). רוב המספרים שאינם ראשוניים יפלו כבר בשלב הזה. בשלב הבא אפשר להפעיל אלגוריתם הסתברותי דוגמת אלגוריתם מילר-רבין שכבר הזכרתי בעבר. אם המספר הנבדק אינו ראשוני, לאלגוריתם הזה יש סיכוי גבוה מאוד לגלות זאת. לצרכים פרקטיים כמו RSA זה מספיק בהחלט, אבל מנקודת מבט מתמטית קפדנית זה לא מספיק כדי להכניס את המספר לאף רשימה, כי אנחנו לא בטוחים שהוא ראשוני, רק שאלגוריתם בדיקת הראשוניות האקראי לא הצליח להפיל אותו.

אז השלב הבא הוא הפעלה של אלגוריתם שהוא איטי הרבה יותר מאשר מילר-רבין, אבל אם הוא אומר שמספר הוא ראשוני, אז מובטח לנו שזה אכן המצב. יש אלגוריתם מפורסם כזה: אלגוריתם AKS, רק שזה אלגוריתם מאוד איטי יחסית, ובזמנו של פיל קרמודי הוא בכלל לא היה קיים. אז קרמודי השתמש באלגוריתם מהיר יותר, שהוא בעל התכונה הבאה: אמנם, לא בטוח שהוא יסיים את ריצתו בזמן סביר על כל מספר, אבל אם הוא עוצר על מספר ואומר שהמספר ראשוני, אז מובטח לנו שהמספר אכן ראשוני. האופן שבו האלגוריתם עושה את זה הוא באמצעות אובייקט מתמטי לא טריוויאלי שנקרא "עקום אליפטי", ומכאן שם האלגוריתם: Elliptic Curve Primality Prover, או ECPP. זה אלגוריתם מגניב למדי וגם לא מסובך יותר מדי, בהינתן כמה שכל הנושאים של עקומים אליפטיים הם לא טריוויאליים, ואני מקווה לכתוב עליו פוסט מתישהו.

עכשיו, כדאי להעיר שקצת שיקרתי בתחילת הפוסט כדי למשוך קוראים. הרשימה שאליה הראשוני של קרמודי הוכנס היא "רשימת המספרים הראשוניים הגדולים ביותר שהראשוניות שלהם הוכחה בעזרת ECPP". אפשר לראות את הרשימה הזו כאן; המספר של קרמודי כבר לא שם, כמובן, בכל זאת עברו עשר שנים מאז. הסיבה לכך שיש הגיון בלדבר על רשימה כמו זו ולא פשוט על רשימת "הראשוניים הגדולים ביותר שהוכחו, נקודה" היא שעבור ראשוניים מצורה מסויימת יש אלגוריתמים יעילים יותר לבדיקת ראשוניות. הדוגמה שאני מכיר והיא כנראה החשובה ביותר היא מבחן לוקאס-לאמר למספרי מרסן. מספר מרסן הוא מספר מהצורה \(2^{p}-1\) כאשר \(p\) הוא ראשוני; מבחן לוקאס-לאמר מאפשר לבדוק בצורה יחסית יעילה האם מספר כזה הוא ראשוני, ובשל כך הראשוניים הגדולים ביותר שראשוניותם הוכחה הם מספרי מרסן. זה כמובן יפה מאוד לכשעצמו אבל לא ממש יעיל עבור אלגוריתמים כמו RSA (שבהם חשוב שהראשוניים שמגרילים יהיו מספרים לא ידועים במיוחד; מספרי מרסן ראשוניים אין יותר מדי) ולכן ראוי לתת מקום של כבוד גם לאלגוריתמים "כלליים" לבדיקת ראשוניות, כמו ECPP.

עכשיו אפשר להשלים את התיאור של מה שקרמודי עשה בפועל. ראשית, הוא לקח את המספר שמייצג את קובץ ה-gz של התוכנית; נסמן אותו ב-\(X\). כעת, אין סיבה מיוחדת להניח ש-\(X\) יהיה ראשוני, ובטח לא שיהיה בסדרי הגודל שקרמודי מעוניין בהם. הנקודה היא שאפשר לשנות את המספר הזה ולקבל קובץ gz שהוא אמנם שונה אבל שקול, מבחינה זו שההבדל היחיד הוא שיש בסוף שלו עוד קצת ג'יבריש שממנו gz יודע להתעלם. למי שזה מרגיש להם כמו "רמאות" – ובכן, ראשית כל זכרו שאנחנו מדברים כאן על משהו מעשי לחלוטין, ולכן השאלה החשובה היחידה היא האם זה עובד (וזה עובד, עם הקוד שנתתי לעיל). שנית, גם בתחומים תיאורטיים לגמרי כמו תורת החישוביות יש חשיבות ליכולת להוסיף ג'יבריש למשהו מבלי לשנות את משמעותו. דוגמה נפלאה לכך שהראיתי בעבר בבלוג היא משפט לדנר בתורת הסיבוכיות, שאומר (בערך) שלא ניתן להכריע את בעיית \(\mbox{P=NP}\) באמצעות שיטת הלכסון; שם לב העניין היה לבנות שפה בעל תכונות מוזרות, שנבעו מהוספה של ג'יבריש בכמות מאוד מאוד מסויימת (הפונקציה שמתארת את הכמות הזו הייתה הדבר המורכב ביותר בהוכחה) למילים "חוקיות" של שפה סטנדרטית כלשהי. בקיצור – ג'יבריש זה טוב.

על ידי הארכה של קובץ ה-gz באמצעות הוספת בייט לסופו מכפילים את הערך של המספר שמייצג את התוכנית כולה פי \(256\) (כי אנחנו מוסיפים שתי ספרות הקסדצימליות; אם היינו מוסיפים שתי ספרות עשרוניות בתחילת מספר קיים היינו מכפילים אותו פי 100) ואפשר לשים ערך כרצוננו בבייט האחרון כדי להגדיל עוד טיפה את ערכה המספרי של התוכנית. במילים אחרות, אנחנו מסוגלים לקודד את התוכנית על ידי המספר \(256X+a\), לכל \(0\le a\le255\). זה נתן לקרמודי הרבה מספרים לבדוק את ראשוניותם. בסופו של דבר זה לא הצליח, אז הוא פשוט הוסיף עוד בייט ובדק את המספרים מהצורה \(256^{2}X+a\). איך הוא בדק אותם? באמצעות תוכנת קוד פתוח שנקראת OpenPFGW; על פי התיאור שלו, היא ראשית כל מבצעת בדיקה נאיבית של חלוקה של המספר שאותו בודקים בהמון ראשוניים קטנים, ואז מריצה מבחן ראשוניות אקראי כלשהו (אני מנחש שמילר-רבין, אבל לא בטוח; יש עוד אלגוריתמים נאים). בצורה הזו קרמודי סינן את המספרים הבעייתיים והגיע למספר שבודאות מאוד מאוד גדולה אכן היה ראשוני; הרצה של ECPP עליו (במימוש של תוכנה בשם Titanix) סגרה את הסיפור.

המסקנה מכל הסיפור הזה היא כפולה. ראשית, שבכל מתכנת מצוי מתמטיקאי פסיכי שרק מחכה להזדמנות לתקוף (זה כמובן שקר); ושנית, שלפעמים נושאים מגניבים במתמטיקה הופכים למגניבים הרבה יותר כאשר מנצלים אותם כדי לעשות דווקא ל-DRM.

2=1+1

בואו נדבר על הקלישאה הגדולה ביותר שמשוייכת למתמטיקה: "\(1+1=2\)". אתם תראו את זה בכל מקום, בתור האמת הנצחית הבסיסית ביותר של המתמטיקה. הדבר הזה שאם מתכחשים לו, מתכחשים לאמת האובייקטיבית שאולי קיימת ואולי לא. העקרון הבסיסי ביותר הזה שאין עוררין עליו. המושג העבש הזה שתוקע אנשים בהלכי חשיבה צרים ומדויקים במקום להיפתח לקוסמוס. ועוד ועוד ועוד.

הטריגר הנוכחי לפוסט הוא המאמר הבא של Ynet, שהציטוט הזה מתוכו מעביר היטב את רוח הדברים:

אותו הלילה נדדה שנתי, וחלום על מתמטיקה טרף אותה. בדמיוני עמדתי בודד ליד לוח והסברתי משוואות לקטנטן, פירקתי אותן עד לנימוק הכי בסיסי, עד שהגעתי לתהום שממנה אין מוצא: 1+1=2. השאלה שממנה כל כך חששתי הגיעה גם הגיעה: "אבא'לה, למה אחד ועוד אחד זה שניים?". התפרקתי לגמרי (בחלום) וצרחתי: "ככה! ככה! לא שמעת על אקסיומות?!".

ובכן – לא. זה לא ככה. זו לא אמת בסיסית שאין עוררין ואין חולקין עליה. המתמטיקה ממש לא נעצרת כאן. להשתעשע עם הקלישאה זה טוב ויפה, אבל נדמה לי שיש אנשים שחושבים ברצינות שעמדת המתמטיקה בנוגע ל-\(1+1=2\) היא ש"זה נכון כי ככה". בפוסט הזה ארצה לתת כמה נקודות מבט מתמטיות שונות על העניין.

השאלה הראשונה שיש לי אל מי שלא מוכן לקבל את \(1+1=2\) כפשוטו היא – כשאתם אומרים "2", למה אתם מתכוונים? המתמטיקה שואלת מה ההגדרה שלכם לסימן \(2\). קרוב לודאי שרובכם תענו ש-\(2\) הוא פשוט סימון מקוצר ל-\(1+1\), ולכן ברור ש-\(1+1=2\); אין בשוויון הזה שום דבר עמוק יותר מלהגיד ש-2 הוא הסימן שבו אתם משתמשים כדי לתאר את אחד ועוד אחד (ושימו לב שבכלל אין חשיבות לשאלה מה זה \(1\) בשבילכם, או אפילו מה זה \(+\)בשבילכם).

רק מה, המתמטיקאים לא מסכימים איתכם.

אחת מיצירות המופת המונומנטליות ביותר בתולדות המתמטיקה היא ה-Principia Mathematica שכתבו המתמטיקאים (והפילוסופים) ברטרנד ראסל ואלפרד נורת' וייטהד בתחילת המאה ה-20. מדובר על יצירה עבת כרס ביותר שניסתה לבסס את כל המתמטיקה על הלוגיקה המתמטית שהייתה בחיתוליה באותם ימים, ולעשות זאת בצורה הפורמלית והמדויקת ביותר האפשרית. מעולם לא קראתי אותה. אני לא מכיר אף אחד שעשה זאת. עם זאת, ציטוט אחד מתוכה זכה לתהילת עולם: אי שם בעמוד 379, אחרי הוכחת טענה שהמראה שלה גורם גם לי להתפלץ, השניים אומרים (ללא ספק בהומור עצמי) ש"מטענה זו ינבע, לאחר שחיבור אריתמטי יוגדר, ש-\(1+1=2\)".


הלקח שיש ללמוד מהסיפור הזה הוא שהשוויון הזה לא מובן מאליו למתמטיקאים – הם לאו דווקא חושבים עליו בתור הגדרה. כמובן, נשאלת השאלה איך הם כן מגדירים את 1, את 2 ואת החיבור. אני לא מכיר את הגישה של ראסל ושל וייטהד, אבל גישה מקובלת למדי במתמטיקה של ימינו היא זו: ראשית מגדירים את המספר 0. כעת מגדירים לכל מספר משהו שנקרא "עוקב". אם \(n\) הוא מספר, אז \(S\left(n\right)\) הוא העוקב שלו. אנו משתמשים בסימון \(1\) כדי לתאר את \(S\left(0\right)\) , ובסימון 2 כדי לתאר את \(S\left(S\left(0\right)\right)\) וכן הלאה. אחר כך מגדירים גם את פעולת החיבור באמצעות עוקב: \(a+0=a\) לכל \(a\), וכמו כן \(a+S\left(b\right)=S\left(a+b\right)\) (מבלבל? מצוין! נסו לחשוב על זה עוד קצת).

עם ההגדרות הללו, הטענה \(1+1=2\) היא בעצם משפט מתמטי: המשפט \(S\left(0\right)+S\left(0\right)=S\left(S\left(0\right)\right)\) , שניתן לתת לו הוכחה שהולכת בערך כך: על פי ההגדרה של +, \(a+S\left(b\right)=S\left(a+b\right)\) ולכן אם \(a=S\left(0\right)\) ו-\(b=0\) נקבל ש-\(S\left(0\right)+S\left(0\right)=S\left(S\left(0\right)+0\right)\). כעת, מכיוון שעל פי ההגדרה של + מתקיים \(a+0=a\) לכל \(a\), אז \(S\left(0\right)+0=S\left(0\right)\) ולכן \(S\left(S\left(0\right)+0\right)=S\left(S\left(0\right)\right)\) והנה הגענו אל מה שרצינו להוכיח. במילים אחרות, \(1+1=2\), מנקודת המבט המתמטית, זו בכלל לא אקסיומה או טענה בסיסית שלא מתווכחים עליה; זו טענה שנובעת מהגדרות יותר בסיסיות וקל להוכיח אותה.

לא מסכימים עם ההגדרות היותר בסיסיות הללו? טוב ויפה, אבל זה בערך כמו לבוא למישהו שאומר "אין גשם היום" ולהגיד לו שהוא טועה כי בעברית שלכם המילה "היום" פירושה "מתישהו בחודש האחרון", ו"אין" פירושה בכלל "יש", ו"גשם" הוא בעצם "פלישה מסיבית של חייזרים שכוללת השמדה של הבית הלבן". ולא ידוע לנו על פלישה שכזו לאחרונה. אם אתם בוחרים לא להבין או לא לדבר את השפה זה לגיטימי לחלוטין, אבל לא מועיל במיוחד.

בכל זאת, אולי אפשר לתת פרשנויות שונות לסימנים ולקבל עולם קוהרנטי שבו \(1+1\) לא שווה \(2\)? התשובה היא חד משמעית: כן, אפשר, והמתמטיקאים גם עושים את זה.

נתחיל מעוד קלישאה אהובה: "מה אם \(1+1=3\)?" שמובאת לפעמים כדוגמה לחשיבה פורצת מסגרות. ובכן, אם \(1+1=3\) , ואם אנחנו מסכימים על כך שגם \(1+1+1=3\), אז קיבלנו ש-\(1+1=1+1+1\). אם אנחנו מסכימים שאפשר לחסר, אז קיבלנו מכך ש-\(0=1\) (אחרי שחיסרנו \(1+1\) משני האגפים), וזה בעצם אומר שהכל אפס. גם אפס, וגם אחד, וגם אחד ועוד אחד וגם כל דבר שהוא. לא הגישה הכי פרודקטיבית לחיים. אז אפשר להגיד שאי שם בדרך רימינו – למשל, שאסור לחסר, אבל אז עולה השאלה מה הטעם בחשבון שבו אחת מהפעולות הבסיסיות ביותר היא אסורה; או ש-\(1+1+1\) לא שווה 3, אבל אז נשאלת השאלה למה הוא כן שווה, והאם \(3\) הוא לא סתם סימון מוזר שלנו למספר שבדרך כלל קוראים לו "שתיים". בקיצור, אי אפשר להגיד ש-\(1+1=3\) בלי שתתחייב מכך זריקה לפח של כל מה שאנחנו מכירים בתור חשבון, והחלפתה במשהו שהוא טריוויאלי ולא מעניין כי לא קורה בו כלום. לי אישית נראה שאלו שאומרים \(1+1=3\) לא באמת חושבים מחוץ למסגרת, אלא פשוט לא חושבים – בפרט לא חושבים עד הסוף על ההשלכות של הטענות שלהם.

מה כן כדאי לעשות, והמתמטיקאים עושים? להגיד ש-\(1+1=0\). זה לא מוביל למסקנה ש-\(0=1\), וזה גם לא דורש מאיתנו לזרוק לפח את פעולות החשבון; ההפך, כל ארבע פעולות החשבון תקפות גם עבור העולם הקטן והנחמד שאנחנו מקבלים כשאנחנו מגדירים ש-\(1+1=0\). במתמטיקה קוראים לעולם הזה \(\mathbb{Z}_{2}\) – זו דוגמה לשדה סופי; במקרה זה, השדה הסופי הקטן ביותר שקיים.

בפני עצמו לא נראה שאנחנו יודעים לעשות הרבה עם השדה הזה כי אנחנו יכולים לייצג מעט מאוד דברים כשיש לנו רק את 0 ו-1; אבל מותר לדבר גם על סדרות של היצורים הללו. למשל, יש 8 סדרות מאורך 3 של אפסים ואחדים, כש-\(\left(1,0,1\right)\) ו-\(\left(0,0,0\right)\) הן שתי דוגמאות. באופן כללי יש \(2^{n}\) סדרות מאורך \(n\) של אפסים ואחדים – וזה כבר הרבה. חיש קל, עבור ערכים לא גדולים במיוחד של \(n\), אנחנו מסוגלים לייצג כמויות אדירות של מידע.

בפועל, זה גם מה שקורה בתוך מחשבים: מחשבים לא יודעים לייצג מספרים מגודל שרירותי. מה שהם עושים ברמת החומרה הוא לייצג באופן אלקטרוני כלשהו ביטים – יצורים שיכולים להתפרש כמכילים רק 0 או 1. על הביטים הללו אפשר לבצע פעולות שונות ומשונות ובפרט את פעולת החיבור שהגדרנו, זו שבה \(1+1=0\) (בעולם האמיתי היא נקראת XOR). פרט לכך יש ל-\(\mathbb{Z}_{2}\) גם מקום של כבוד במתמטיקה באופן כללי, אבל לא אכנס ליותר מדי פרטים כרגע. הנקודה החשובה היא שזה קיים, וזה לגיטימי. אף מתמטיקאי לא יטען שבהכרח \(1+1=2\); קרוב לודאי שהוא יוודא קודם כל שמדברים על מספרים טבעיים ועל פעולת החיבור הרגילה.

ורק עוד הערה לסיום: גם "זו אקסיומה" היא בימינו קלישאה שהקשר בין השימוש בה במתמטיקה לשימוש בה בשפת היומיום הוא שגוי. ביוון העתיקה "אקסיומה" הייתה אמת מובנת מאליה שאין עליה עוררין; מאז עברו אי-אלו אלפי שנים, התברר שכל מני דברים שנראים מובנים מאליהם וללא עוררין הם לא כל כך מובנים מאליהם (למשל, אקסיומת המקבילים המפורסמת) ובימינו "אקסיומה" במתמטיקה היא דרך לתאר הנחת יסוד – הנחה שיכולה להיות נכונה או לא נכונה, אבל אנחנו מוכנים לצורך ה"משחק" להניח שהיא נכונה ולראות מה יוצא מזה. בהחלט לגיטימי לעשות גם את ההפך – להניח שהאקסיומה לא נכונה ולראות מה יוצא גם במקרה הזה. רק שימו לב, כשאתם באים להשתעשע שכך, שקרוב לודאי שמתמטיקאים כבר חשבו על זה לפניכם.

מהם המספרים הממשיים?

בהמשך לפוסט הקודם, אני מתחיל כעת בסדרת הפוסטים שתנסה לתאר בצורה פשוטה את יסודות החשבון הדיפרנציאלי והאינטגרלי ברמה שתתאים גם לתלמידי תיכון, ואנחנו חייבים להתחיל מלתאר את ה"עולם" שבו פועל החשבון הזה – עולם שכוכביו הראשיים הם מה שנקרא "המספרים הממשיים" (Real Numbers). כמו שקורה בדרך כלל במתמטיקה, קיימות הכללות רבות של החדו"א לעולמות אחרים, שבהם אין מספרים ממשיים (או שיש הרחבות של המספרים הממשיים – דוגמת המספרים המרוכבים, למי שמכיר) והתוצאה היא תיאוריות יפות ומרתקות; אבל כדי להבין אותן רצוי להבין קודם את המקרה הפשוט של המספרים הממשיים (ואנסה להסביר בהמשך באיזה מובן זהו אכן "המקרה הפשוט ביותר"). הפוסט יהיה ארוך למדי כי אני לא חושב שנכון לפצל אותו לכמה חלקים; אני ממליץ לכם לקחת הפסקה מתישהו.

במושג "מספרים ממשיים" נתקלים כבר בתיכון, ולכן יש לי שאלה לקוראים, בפרט לאלו שחסרים השכלה מתמטית אוניברסיטאית – האם תוכלו להגיד לי מהם המספרים הממשיים? בספרי לימוד תיכוניים לרוב מופיעה הגדרה בסגנון "כל המספרים שעל ציר המספרים" שלא אומרת לנו יותר מדי – מהו ציר המספרים ואיך מחליטים מה מופיע בו בכלל? עם זאת, ההגדרה הזו גם תופסת באופן מסויים תכונה חשובה של המספרים הממשיים – הרצף שלהם, העובדה שאנחנו תופסים את ציר המספרים כולו באמצעותם. גם לזה נחזור מאוחר יותר.

לעת עתה בואו נעשה חזרה מהירה על מהם מספרים בכלל – בראשית ימי הבלוג כתבתי סדרת פוסטים בנושא למעוניינים, וכעת אקצר יותר. המשחק מתחיל עם המספרים \(1,2,3,\dots\) ודומיהם המוכרים לנו כבר מחיי היום יום – אלו הם המספרים הטבעיים. בשלב הבא אפשר להוסיף למשחק את אפס. בתרבות שלנו, שבה רווח המנהג לקרוא לאנשים "אפס", המושג נראה לנו טבעי לגמרי – אבל בעבר הוא לחלוטין לא היה מובן מאליו ואפשר לכתוב פוסטים היסטוריים מרתקים (אפילו ספרים) בעניין זה. התכונה שמעניינת אותנו באפס היא שהוא איבר נייטרלי ביחס לחיבור – כאשר מוסיפים אותו למספר, נאמר \(n\), מקבלים שוב \(n\). השלב הבא הוא הוספת מספרים מוזרים עוד יותר – המספרים השליליים. מינוס \(n\) הוא מספר שהתכונה המאפיינת אותו (אפילו המגדירה אותו, במובן מסויים) הוא שכאשר מחברים לו \(n\) מקבלים אפס. גם המספרים השליליים השתרשו בחיי היום יום שלנו זה לא מכבר – יש לנו חוב בבנק, שהוא יתרה של מינוס כך וכך שקלים; יש לנו קומות שמתחת לקומת הכניסה לבניין, שהן קומות מינוס משהו. בדומה, ים המלח נמצא בגובה מינוס 421 מטר ביחס לפני הים.

משיש לנו את כל המספרים הללו, אנחנו מציירים את "ציר המספרים"- קו ישר שבמרכזו 0, ועליו מסומנות נקודות במרווחים שווים. שתי הנקודות הראשונות סביב 0 הן 1 ומינוס 1 (הנוהג הוא ש-1 יופיע מימין ל-0 ומינוס 1 משמאל). שתי הנקודות הבאות הן 2 ומינוס 2, וכן הלאה. קו הוא יצור "רציף"- ציירנו אותו במשיכת עט בודדת, בלי להרים את העט מהדף. לכן אינטואיטיבית ניתן לחשוב שכל נקודה על ציר המספרים – לא רק אלו שסימנו במיוחד – מסמנת מספר, ולכל המספרים שמתקבלים כך לקרוא "מספרים ממשיים". למי שזה מפריע לו (בצדק…) אפשר לנקוט בגישה קצת יותר פורמלית – להגיד שנקודה כלשהי על חלקו הימני של הציר מסמנת מספר שמתאים לאורך של הקטע שבין נקודה זו ובין 0 (ונקודה על חלקו השמאלי מתאימה למינוס האורך של קטע זה). אם אנחנו יוצאים מנקודת הנחה שאורכים של קווים הם משהו "אמיתי", ושנכון להגדיר מספרים על פיהם, האינטואיציה שלנו מפוייסת מאוד; כמובן שזו עדיין לא הגדרה מתמטית-פורמלית, אבל זו ההגדרה שאליה ספרי הלימוד מכוונים – והיא לא כל כך גרועה, בהתחשב בכמה שהסיפור האמיתי מסובך יותר.

ציר המספרים

כעת אנחנו מרחיבים את המספרים שלנו על ידי הכנסת שברים לתמונה. נניח שניקח בציר המספרים את הקטע שבין 0 ל-1, ונשים בו נקודה חדשה בדיוק באמצע – איזה מספר הנקודה הזו תייצג? אפשר לחשוב על זה כך – היחס שבין מרחק הנקודה הזו מאפס, לבין מרחק הנקודה 1 מאפס, הוא בדיוק 1 ל-2; כלומר, המרחק של הנקודה הזו מאפס נכנס בדיוק פעמיים במרחק של 1 מאפס. כותבים את זה \(\frac{1}{2}\) וקוראים לזה "חצי", או "1 חלקי 2".

באופן דומה אפשר לסמן שתי נקודות במרווחים שווים בקטע שבין 0 ו-1, ולקבל את \(\frac{1}{3}\) ו-\(\frac{2}{3}\) (למה?). ובאופן כללי אפשר לסמן \(n\) נקודות במרווחים שווים ולקבל את המספרים \(\frac{1}{n},\frac{2}{n},\dots,\frac{n-1}{n}\). ולא חייבים להסתפק בקטע שבין 0 ו-1. למשל, אם נסמן נקודה בדיוק באמצע הדרך בין 1 ו-2, נקבל את \(\frac{3}{2}\); הרעיון כאן הוא שאם נחבר קטע זה לעצמו פעמיים, נקבל בדיוק את 3. בצורה הזו קיבלנו את כל השברים מהצורה \(\frac{a}{b}\) כאשר \(a,b\) שניהם מספרים שלמים (אין בעיה עם זה שהם יהיו שליליים), פרט למקרה אחד בעייתי – אין משמעות לכל המשחק הזה אם \(b=0\). למשל, \(\frac{1}{0}\) היה צריך להתפרשן אצלנו בתור "אורך הקטע שכאשר מסתכלים על 0 עותקים סמוכים שלו, מקבלים את 1", אבל לא קיים כזה קטע – 0 עותקים של קטע כלשהו הם 0, ולעולם לא יהיו 1. אם כן, מדוע לא לומר ש-\(\frac{0}{0}=0\), משהו שאוסרים עליו במפורש בתיכון? ובכן, כי הגדרה כזו תשבור את חוקי החשבון שאנחנו מכירים. אם אנחנו רוצים לחבר את \(\frac{a}{b},\frac{x}{y}\) אנחנו משתמשים במה שנקרא "מכנה משותף" – את \(\frac{a}{b}\) אנו כופלים ומחלקים ב-\(y\) ומקבלים \(\frac{ay}{by}\). ל-\(\frac{x}{y}\) אנחנו מעניקים טיפול דומה ומקבלים את \(\frac{bx}{by}\), ועכשיו יש לנו מכנה משותף לשני המספרים ואפשר לחבר אותם "כרגיל"ולקבל \(\frac{ay+bx}{by}\). אם ננסה להפעיל את זה על \(\frac{0}{0}\) יקרה הדבר המוזר הבא: \(\frac{a}{b}=\frac{a}{b}+0=\frac{a}{b}+\frac{0}{0}=\frac{a\cdot0+b\cdot0}{b\cdot0}=\frac{0+0}{0}=\frac{0}{0}=0\). כלומר, קיבלנו שכל מספר שווה לאפס – ואנחנו לא רוצים שדבר כזה יקרה. לכן ההגדרה של \(\frac{0}{0}=0\) היא ממש הרסנית אם אנחנו לא משנים את כללי החשבון שלנו בהתאם – וכללי החשבון שלנו יקרים לנו בהרבה מאשר האפשרות לתת שם אחר לאפס. אגב, שימו לב שהשתמשתי כאן בכך ש-\(a\cdot0=0\) לכל \(a\); האם אתם יכולים להוכיח זאת ממש, על פי כללי החשבון? (אפשר, וההוכחה אפילו אינה כה מסובכת אף כי יכול להיות בעייתי לגלות אותה בלי נסיון קודם בתעלולים כאלו).

נראה ששברים מסיימים לנו את העניין. יש להם את התכונה היפה שבין כל שני שברים קיים עוד שבר (להבדיל, בין המספרים השלמים 1 ו-2 לא קיים עוד מספר טבעי) – למשל, אפשר לקחת את הקו שמחבר את שתי הנקודות על ציר המספרים שמתאימות השברים ואז להסתכל באמצע שלו – גם נקודה זו תהיה שבר. הדעת נותנת שכל נקודה על ציר המספרים תוכל להתקבל באופן שכזה. אלא שזה לחלוטין לא נכון. כאן אני קופץ לחומר שלא בהכרח מראים בבית הספר – לא כל המספרים על ציר המספרים הם שברים. למעשה, רובם לא. עבורי, ההבנה של הדבר הזה (שלא הבנתי כלל בתיכון, וגם לא נתתי עליו את דעתי כלל) הייתה אחת מנקודות הציון החשובות בדרך שלי להתאהבות במתמטיקה.

אם כן, אילו מספרים אינם שברים? למשל, \(\sqrt{2}\) אינו שבר. אם נצייר ריבוע שאורך צלעו הוא 1, אז אורך אלכסונו יהיה \(\sqrt{2}\) (ממשפט פיתגורס), כך שבבירור \(\sqrt{2}\) הוא אורכו של קטע "חוקי" כלשהו, ולכן – על פי ההגדרה שלנו – מספר ממשי. אלא שכל נסיון לכתוב את \(\sqrt{2}\) כשבר יוביל לסתירה. הראיתי בעבר את ההוכחה לכך, והנה תקציר: אם \(\sqrt{2}=\frac{a}{b}\) אז \(2=\frac{a^{2}}{b^{2}}\), כלומר \(a^{2}=2b^{2}\), ומכיוון שהריבוע של \(a\) זוגי גם הוא זוגי, כלומר \(a=2c\), כלומר \(4c^{2}=2b^{2}\), כלומר \(2c^{2}=b^{2}\), ומכיוון שהריבוע של \(b\) זוגי, גם \(b\) זוגי. מכאן שגם \(a\) וגם \(b\) זוגיים. אבל אם כך היה הדבר, אפשר היה לחלק את שניהם ב-2 ולקבל מ-\(\frac{a}{b}\) שבר אחר (שבו המונה והמכנה קטנים יותר) וגם הוא שווה ל-\(\sqrt{2}\), וגם בו המונה והמכנה שניהם מתחלקים ב-2. אבל אי אפשר לחזור על התעלול הזה לנצח כי בכל פעם המונה והמכנה קטנים (ושניהם שלמים חיוביים) ולכן בסוף בהכרח נגיע לסתירה (כלומר, ניווכח שלא ייתכן שגם \(a\) וגם \(b\) זוגיים). ההוכחה הזו היא דוגמה מובהקת להוכחה מתמטית "אמיתית" – יש בה הנחה בשלילה, יש בה תעלול רעיוני מחוכם למדי של "נצא ממצב מסויים ונגיע למצב דומה לו, אבל עם מספרים קטנים יותר – וזה תהליך שאי אפשר לחזור עליו לנצח" (רעיון זה נפוץ מאוד במתמטיקה), וכן – יש בו גם טיפה טכניקה.

באופן דומה ומחוכם קצת יותר אפשר להראות שגם \(\sqrt{n}\) הוא לא שבר עבור כל \(n\) שאיננו ריבוע של מספר טבעי. אבל הסיפור לא נגמר במספרים כאלו בלבד. למשל, גם השורש השלישי של 2 איננו שבר, והרביעי וכן הלאה. והמצב מסובך עוד יותר: שורש של \(n\) הוא בסך הכל פתרון של המשוואה \(x^{2}=n\), ומה שאמרנו כאן הוא שאין למשוואה הזו פתרון שהוא שבר. אבל יש עוד המון משוואות בעולם, למשל \(x^{2}+x-1=0\), וגם למשוואה זו אין פתרון שהוא שבר, אבל הוא כן נמצא על ציר המספרים הממשיים (איך רואים דבר כזה? ובכן, משוואה כזו מגדירה את מה שנקרא פרבולה, שהיא עקומה בעלת צורה מסויימת. אם מציירים אותה במישור רואים שהיא חותכת את ציר המספרים בשתי נקודות – אלו הם ה"פתרונות" של המשוואה). אלו מכם שנוסחת השורשים עוד לא נמאסה עליהם לחלוטין יוכלו לראות שפתרון למשוואה הוא \(\frac{-1+\sqrt{5}}{2}\) – כלומר משהו שמערבב שברים עם שורשים. וגם כאן הסיפור עוד לא נגמר ואפשר לדבר על יצורים מסובכים עוד יותר. הבה וניקח למשל מעגל שאורך קוטרו הוא בדיוק 1 – מהו היקפו? אם מקבלים זה שההיקף גם הוא מספר ממשי, אפשר להראות (וזה כבר קצת מאתגר) שהיקף זה איננו שבר, ואפשר גם להראות (וזה כבר ממש מאתגר) שהיקף זה אפילו איננו פתרון של משוואה (פורמלית – משוואה שמקדמיה הם בעצמם שברים). להיקף זה יש שם שבו הוא מוכר קצת יותר טוב: \(\pi\).

התגלית הזו, שקיימים מספרים שאינם שברים, מיוחסת לפיתגוראים (פיתגורס ותלמידיו – לא ברור מי גילה מה). גרסא אחת מדברת על \(\sqrt{2}\) שמגיע מריבוע; גרסא אחרת מדברת על \(\sqrt{5}\) שמופיע בפנטגרם, ובכל מקרה ההוכחה היא גאומטרית באופיה ולא זהה להוכחה שתיארתי למעלה. האגדה מספרת שאחד מתלמידיו של פיתגורס – היפאסוס – גילה את התגלית הזו לעולם הרחב והוטבע בשל כך על ידי הפיתגוראים; הפיתגוראים ביססו את תפיסת העולם שלהם על כך שכל מספר ניתן להצגה כיחס בין שני שלמים, והתגלית הזו ערערה אותם. כך נוצרה הבדלה בין מספרים שניתן להביע בתור יחס כזה, שנקראו מספרים רציונליים (כאשר רציו כאן פירושו ככל הנראה יחס והשם ככל הנראה אינו מרמז שהמספרים הללו "הגיוניים" יותר מאחרים – אם כי קראתי גם טענות שטוענות אחרת), וכאלו שלא – "אי רציונליים". הממשיים הם המספרים הרציונליים והאי רציונליים יחדיו, אבל זוהי כמובן אמירה ריקה כי לא ברור אילו מספרים אי רציונליים קיימים בכלל. אם אתם תוהים כעת מדוע הממשיים נקראים "ממשיים"- ובכן, ככל הנראה כדי להנגיד אותם למספרים הדמיוניים (למי שלא מכיר – יש דבר כזה), ואם זו אכן הסיבה מדובר בתקלה היסטורית מצערת שכבר מאוחר מדי לשנות.

בתקופת היוונים, מספרים נתפסו כאורכים של קטעים, כך שלאפס ולמספרים שליליים לא הייתה משמעות רבה. עם השנים והתהפוכות שהמתמטיקה עברה, גם אופן ההתייחסות למספרים השתנה, כשלמהפך החשוב ביותר אחראית שיטת הספרה שהשתרשה בסופו של דבר – ייצוג מספרים באמצעות ספרות, כאשר הערך שאותו כל ספרה מייצגת תלוי במיקום שלה בייצוג. למשל, 21 פירושו "עשרים ואחד" ואילו 12 פירושו "שניים-עשר" למרות ששני הייצוגים הללו מכילים בדיוק את אותן הספרות. ההבדל הוא ששתיים מייצג את ספרת העשרות בייצוג הראשון, ואת ספרת האחדות בייצוג השני. כיום הדברים הללו די מובנים מאליהם עבורנו, שכן הורגלנו אליהם; אבל בשעתו הייתה זו דרך הצגה חדשנית ורבת עוצמה, שפישטה עד מאוד את היכולת לבצע חישובים אריתמטיים (שעד כה נעשו במהירות באמצעות כלי עזר דוגמת חשבוניה – בציור רואים תחרות של ממש שנערכה בין משתמש חשבוניה ו"אלגוריסט" שהשתמש באריתמטיקה) בעוד ששיטת הייצוג שהייתה רווחת עד אז, באמצעות ספרות רומיות (שבהן אין את הרעיון של קביעת ערך על פי מיקום – \(\mbox{I}\) הוא תמיד המספר 1, אם כי לעתים מופע שלו במספר אומר שצריך לחסר אותו ולא לחבר אותו) הייתה מסורבלת ולא צלחה לכאלו מטלות.

תחרות חישוב בין מפעיל חשבוניה ואריתמטיקאי

ראוי להעיר כאן שהרעיון של ספרות שערכן נקבע לפי מקומן היה ידוע כבר לבבלים ולבני המאיה (הם השתמשו בבסיסי הספירה 60 ו-20 בהתאמה, בעוד שאצלנו משתמשים בבסיס 10; מן הסתם בבסיסים אלו יש המון "ספרות" ולכן כל ספרה יוצגה באופן דומה לשיטה הרומית), אך השיטה "שלנו" הומצאה בידי ההודים אי שם במאה ה-6 לספירה, ורק במאה ה-9 לספירה התגלתה למערב בזכות המתמטיקאי הפרסי אל-ח'ואריזמי – אולי חשוב המתמטיקאים של תקופת ימי הביניים, שבה המתמטיקה האירופאית (שכה פרחה בימי היוונים העתיקים) הייתה מצויה בעידן חושך משלה, בעוד התרבות המוסלמית היא זו שקידמה את המתמטיקה בימים הללו.

בשיטה העשרונית הספרה הראשונה מייצגת אחדות, השנייה מייצגת עשרות וכן הלאה – אבל איך מייצגים שברים? כותבים נקודה בתוך המספר, ואז הספרה הראשונה שמימין לנקודה מייצגת עשיריות, הספרה השניה מייצגת מאיות וכדומה. כך למשל \(0.123\) מייצג את המספר \(\frac{1}{10}+\frac{2}{100}+\frac{3}{1000}=\frac{123}{1000}\). אנחנו לומדים בבית הספר איך לכתוב שברים בצורה עשרונית באמצעות חילוק ארוך עם שארית; ומהר מאוד מגלים שיש מספרים שבהם העסק לא נגמר ויש להם אינסוף ספרות אחרי הנקודה. כך למשל \(\frac{1}{3}=0.333\dots\) (שלוש הנקודות אומרות "כאן המספר לא נגמר אלא ממשיך וממשיך"). תזכורת קצרה לגבי האופן שבו זה קורה עבור \(\frac{1}{3}\): אנחנו לא יכולים לחלק את 1 ב-3 כי 1 קטן מדי, ולכן אנו כותבים 0 (1 נכנס ב-3 0 פעמים) ונותרים עם שארית 1. כעת אנו מכפילים את השארית הזו ב-10 ומקבלים 10; וכעת אפשר לחלק את זה ב-3 ומקבלים 3 (שאותו אנו כותבים מייד אחרי הנקודה) ושארית 1. גם את השארית הזו כופלים שוב ב-10 ומחלקים ב-3, ושוב מקבלים תוצאה 3 ושארית 1, וכן הלאה וכן הלאה; בבירור אפשר להמשיך עם תהליך החלוקה הזה לנצח ובכל פעם נקבל תוצאה 3 ושארית 1. אנחנו "תקועים בלולאה אינסופית".

אפשר להראות שכל מספר רציונלי שננסה לכתוב כשבר עשרוני יתנהג כך – או שהכתיבה שלו תהיה סופית (כמו \(\frac{123}{1000}\) מיודענו) ואז אפשר לחשוב עליו כאילו מרגע מסויים מופיעים בו רק אפסים (כלומר, \(0.123=0.123000\dots\)), או שהכתיבה שלו תהיה אינסופית, אך מחזורית – תהיה קבוצת ספרות כלשהי שפשוט תחזור על עצמה מרגע מסויים ועד אינסוף. אבל כדאי לשים לב שאפשר לכתוב מספרים עשרוניים אינסופיים שאינם מחזוריים באופן הזה, למשל \(0.101100111000\dots\) שבו בהתחלה מופיע \(10\), אחר כך \(1100\) ובאופן כללי – מופיעה סדרה באורך \(n\) של אחדות, אז סדרה באורך \(n\) של אפסים, אז סדרה באורך \(n+1\) של אחדות, וכן הלאה. אתם מוזמנים להציע עוד מספרים לא מחזוריים משל עצמכם (ויש דברים יצירתיים שאפשר להציע למשל, מספר שבו יש 0 אחרי הנקודה למעט בספרות שהמיקום שלהן הוא ראשוני, ושם יש 1), אבל אני מניח שכבר הבנתם את הרעיון – מצאנו דרך תיאור כלשהי למספרים שאינם רציונליים. הגישה של המתמטיקאים במשך שנים רבות הייתה לחשוב על כל סדרה כזו כמספר לגיטימי; ולמעשה, זה המצב גם כיום, אך כבר איננו בוחרים להגדיר את המספרים הממשיים באופן זה, בגלל קשיים טכניים שהדבר יוצר (איך מחברים שני מספרים אינסופיים? הרי החיבור צריך להתחיל מהקצה הימני!).

רק לקראת סוף המאה ה-19, הציעו שני מתמטיקאים דרכים מדוייקות "לבנות" את המספרים הממשיים, ובשני המקרים הבנייה התבססה על המספרים הרציונליים. שניהם הושפעו מהרוח שנשבה במאה ה-19 וכבר תיארתי בפוסט הקודם, של הגברת הדיוק (מילה אהובה על מתמטיקאים בהקשר הזה היא "ריגורוזיות") של המתמטיקה. ריכארד דדקינד המציא את הבניה שלו כבר ב-1858 אך לא טרח לפרסם אותה שכן לא חשב שיש בה עניין גדול לקהילה המתמטית. רק כאשר גאורג קנטור פרסם ב-1872 את הגישה שלו דדקינד חש שגם לו יש מה להציע ופרסם את רעיונותיו. שתי הבניות הן שונות באופיין ולכל אחת הכללות משל עצמה; אציג כאן את זו של דדקינד שכן זו של קנטור מצריכה מושגים שכדי להבין אותם צריך להכיר קצת חדו"א קודם כל. עם זאת, אני רוצה לחכות מעט עם הבניה ולפני כן לשאול את עצמנו – מה בעצם אנחנו רוצים להשיג?

בשורה התחתונה אנחנו רוצים לעשות חדו"א. עוד לא אמרתי מה זה חדו"א, כך שלא ברור מה בעצם אנחנו צריכים, אבל אני יכול לרמוז – במערכת המספרים שבה נעבוד, יהיה הכרחי עבורנו שנוכל לבצע חיבור, חיסור, כפל וחילוק. את זה אי אפשר לעשות רק עם המספרים השלמים, למשל (אי אפשר לחלק את 1 ב-2 ולקבל מספר שלם) אבל בהחלט אפשר לעשות עם הרציונליים. לקבוצה שבה אפשר לבצע את פעולות החשבון הללו והן מתנהגות "כפי שאנחנו מצפים מהן" (כלומר: מקיימות את חוקי החילוף, הקיבוץ והפילוג, 0 הוא נייטרלי לחיבור ו-1 הוא נייטרלי לכפל) קוראים שדה. אם כן, אנו רוצים לעבוד בתוך שדה, לכל הפחות. אפשר היה להגיד כעת שנזדקק גם להוצאות שורש, אבל זה לא כל כך נכון – לא באמת נזדקק להוצאות שורש. אם כן, למה הכרחי למי שעוסק בחדו"א להגדיל את המספרים הרציונליים? זו אינה שאלה טריוויאלית כלל. כדאי להעיר כאן שהרבה דברים יפים במתמטיקה נעשים תוך התמקדות במספרים הרציונליים ובשדות שמקבלים מהם אחרי שמוסיפים להם מספר מוגבל של שורשים (למשל, מסתכלים על שדה כל המספרים מהצורה \(a+b\sqrt{2}\) כאשר \(a,b\) רציונליים). זהו, למשל, התחום שבו עוסקת תורת המספרים האלגברית (שהיא תחום מתקדם יותר במתמטיקה מאשר החדו"א שעליו אדבר). אם כן, הממשיים אינם הכרחיים לצורך עיסוק "כללי" במתמטיקה. אבל בחדו"א מתבססים לעתים קרובות על תכונה של הממשיים שמכונה "אקסיומת החסם העליון". כדי להסביר מדוע מסתמכים עליה ובאיזה מקומות הצורך הזה צץ, צריך להעמיק קצת בחדו"א ולא אוכל לעשות זאת כרגע; בינתיים אתאר את האקסיומה עצמה (לא להתבלבל – "אקסיומה" במובן המתמטי המודרני אינה משהו שהוא מובן מאליו לכל; זהו פשוט דרך להגיד "תכונה שאנו מצפים שתתקיים באובייקט שעליו אנחנו מדברים, ואם הוא לא מקיים אותה אין משחק").

תכונה אחת של המספרים שטרם דיברתי עליה כלל היא קיום סדר עבורם. ניתן להשוות כל שני איברים ולהגיד מי מהם גדול יותר. 1 גדול מ-0 ובוודאי שגדול ממינוס 1, אבל קטן מ-2. מסמנים \(a\le b\) אם \(a\) קטן או שווה ל-\(b\). גם ברציונליים נשמרת תכונת הסדר הזו, ואנו רוצים שגם בממשיים היא תתקיים. כעת, אם נתונה קבוצה כלשהי של מספרים, אז כל מספר שגדול מכל המספרים בקבוצה מכונה "חסם מלמעלה" (או "חסם מלעיל" כמו שאוהבים לומר לפעמים) של הקבוצה. למשל, 0 הוא חסם מלמעלה של קבוצת כל השליליים; לקבוצת כל החיוביים אין חסם מלמעלה; קבוצת "כל השנים שבהן מכבי ת"א זכתה באליפות" חסומה מלמעלה על ידי, נניח, 3,000; אבל גם על ידי 2,100 וכדומה. אם כן, לקבוצה \(A\) יכולים להיות הרבה מאוד חסמים, ואנחנו יכולים לדבר על (זהירות, הגענו לקטע מבלבל) – החסם מלמעלה הקטן ביותר של הקבוצה \(A\). החסם הזה (המינימום של קבוצת כל החסמים מלמעלה של \(A\)) נקרא החסם העליון של \(A\), ובעברית – הסופרמום (קרי: סופרימום) של \(A\), ומסמנים אותו כ-\(\sup A\).

וכעת לפאנץ', עוד לפני שתספיקו לשאול את השאלה. אם אנחנו מגבילים את העולם שלנו למספרים רציונליים, ישנן קבוצות שחסומות מלמעלה אך אין להן חסם עליון. והנה הדוגמה: קבוצת כל המספרים הרציונליים הקטנים מ-\(\sqrt{2}\), ובכתיב מתמטי: \(A=\left\{ a\in\mathbb{Q}|a<\sqrt{2}\right\} \). זהו סימון סטנדרטי אך קשה למי שאינו מכיר – האות \(\mathbb{Q}\), מהמילה Quotient, מייצגת את הרציונליים; \(\in\) מייצג "שייך ל-", והקבוצה מתוארת באמצעות שני חלקים. צריך לקרוא אותה משמאל לימין ואז יוצא משהו בסגנון "כל המספרים הרציונליים אשר מקיימים (ופה מגיע החלק השני) שהם קטנים מ-\(\sqrt{2}\)). קרוב לודאי שחלק מכם יתרגזו כעת, ובצדק, על ההגדרה הטיפשית הזו – אמרתי ש-\(\sqrt{2}\) איננו רציונלי אבל עכשיו אני מתעקש לדבר רק על רציונליים, ולכן "אסור" לי בכלל לאזכר את \(\sqrt{2}\)! אין בעיה, אני אומר, אז נשנה את הגדרת \(A\) באופן הבא: \(A=\left\{ a\in\mathbb{Q}|a^{2}<2\right\} \). עם הגדרה זו אין בעיה של ממש והיא תופסת בדיוק את אותם האיברים פרט למספרים שליליים קטנים מספיק, שממילא לא מעניינים אותנו.

למה אין ל-\(A\) חסם עליון? הבה וניקח מספר רציונלי חיובי כלשהו, \(a>0\). אז אנחנו יודעים ש-\(a^{2}\ne2\). נניח לרגע ש-\(a^{2}<2\), אז אני טוען שקיים \(b\) רציונלי כך ש-\(a<b\) ועם זאת \(b^{2}<2\). והדרך שבה אני הולך להוכיח זאת כבר תהיה דרך חדו"אית למהדרין – זו ההזדמנות הראשונה שלנו לראות את סגנון ההוכחות שהולך בחדו"א.

אני אגדיר את \(b\) להיות המספר הבא: \(b=a+\delta\), כאשר \(\delta\) (האות היוונית דלתא) הוא מספר רציונלי שאני טרם מתחייב על גודלו. בינתיים נחשוב עליו כעל משתנה, ועוד מעט נחליט מה הוא יהיה על פי מה שיהיה לנו נוח; לעת עתה אני רק דורש ש-\(\delta>0\) ולכן אכן מתקיים ש-\(b>a\); וש-\(\delta\) רציונלי ולכן גם \(b\) רציונלי (סכום של שני רציונליים הוא רציונלי). כעת, אני רוצה שיתקיים \(b^{2}<2\), כלומר שיתקיים \(\left(a+\delta\right)^{2}<2\). לאחר פתיחת סוגריים אקבל שאני רוצה שיתקיים \(a^{2}+\delta\left(2a+\delta\right)<2\).

עכשיו אשתמש בתעלול כדי להיפטר מה-\(\delta\) שבסוגריים. עוד לא בחרתי את ערכו של \(\delta\) אבל אתם אולי מרגישים כבר כעת שאני רוצה שהוא יהיה קטן. אם כן, אין לי בעיה להוסיף עוד הנחה למשחק: \(\delta<a\). מכאן ש-\(\delta\left(2a+\delta\right)<\delta\cdot3a\), ולכן אם אראה ש-\(a^{2}+\delta\cdot3a<2\) מתקיים עבור \(\delta\) כלשהו, הראיתי גם ש-\(a^{2}+\delta\left(2a+\delta\right)<2\) מתקיים עבורו. שימו לב להזנחה הזו! היא מקלה עלי את החיים מבחינה טכנית, ולא פוגמת כלל בנכונות ההוכחה. הקושי שב"התרגלות" לביצוע הזנחות שכאלו הוא אחד מהקשיים העיקריים של סטודנטים באוניברסיטה כשהם מתמודדים לראשונה עם חדו"א. בלי לזהות מקומות שבהם אפשר "להקל על החיים" כך, התרגילים הטכניים הקשים של חדו"א אוניברסיטאית הופכים לקשים פי כמה.

נמשיך. אני רוצה למצוא \(\delta\) כך ש-\(a^{2}+\delta\cdot3a<2\). זה כבר תרגיל אי שוויונים תיכוני: מעבירים אגף, מחלקים, ומקבלים \(\delta<\frac{2-a^{2}}{3a}\). מכיוון ש-\(a^{2}<2\) (כך הנחנו – זוכרים?) הרי שהמספר באגף שמאל הוא גדול מאפס. בנוסף, \(a\) רציונלי ולכן גם הוא עצמו רציונלי; לכן אפשר פשוט לבחור \(\delta=\frac{1}{2}\cdot\frac{2-a^{2}}{3a}\) ולקבל את מה שרצינו: \(\delta\) שהוא גם גדול מאפס וגם מקיים את אי השוויון שנדרש בהתחלה. וכעת אפשר… לא, לא, לא! לא כל כך מהר. מה פספסתי? ובכן, שכחתי את ההנחה ש-\(\delta<a\) שהוספתי לעצמי קודם. זו לא בעיה – אני אגדיר את \(\delta\) להיות המספר הקטן יותר מבין זוג המספרים \(\frac{1}{2}\cdot\frac{2-a^{2}}{3a}\) ו-\(\frac{1}{2}\cdot a\). אבל זה בור שצריך להכיר ולא ליפול לתוכו.

תמה לה ההוכחה. מצד אחד, זו הוכחה טכנית. מצד שני, היא שונה מאוד באופייה מתרגיל תיכוני רגיל. בפרט שימו לב להזנחה שביצעתי באמצע, לכך שכל התרגיל הוא עם הפרמטר \(a\) שלא נראה שמשרת מטרה כלשהי, ולכן שהפתרון הסופי נראה מכוער לאללה (\(\frac{1}{2}\cdot\frac{2-a^{2}}{3a}\)) וזה ממש לא מפריע לי ואני לא מחפש דרך "לפשט" אותו. אבל ההבדל האמיתי הוא שלתרגיל הזה הייתה מטרה – אני מנסה לשכנע אתכם שלקבוצה כלשהי אין חסם עליון.

ובכן, הראיתי שאם \(a\) הוא רציונלי בתוך \(A\) עצמה, אז קיים רציונלי אחר בתוך \(A\) שגדול ממנו; מכאן שאם יש ל-\(A\) חסם עליון, הוא לא יכול להיות איבר של \(A\) עצמה. אבל אם \(a^{2}>2\) אז בהוכחה דומה מאוד לזו שנתתי (תבחרו \(b=a-\delta\)) אפשר להראות שקיים \(b\) רציונלי כך ש-\(b^{2}>2\) ועם זאת \(b<a\). בגלל ש-\(b^{2}>2\) אז \(b\) הוא חסם מלמעלה של \(A\); ולכן הראיתי כרגע ש-\(a\) איננו חסם עליון של \(A\), כי קיים חסם מלמעלה אחר שקטן ממנו. המסקנה: \(a\) היה יכול להיות חסם עליון של \(A\) רק אם הוא היה מקיים \(a^{2}=2\), אבל אין מספר רציונלי שמקיים זאת. סוף הסיפור.

אם כן, מה החסם העליון של \(A\)? כמובן, \(\sqrt{2}\). ההוכחה שנתתי למעלה "נשברת" כשמפעילים אותה על \(a=\sqrt{2}\) פשוט כי \(2-a^{2}=0\). לכן לקבוצה \(A\) כן יש חסם עליון אם מכניסים למשחק את \(\sqrt{2}\). ועכשיו אפשר סוף סוף להגדיר את הממשיים בצורה כמעט פורמלית: הממשיים הם בדיוק המספרים שאנחנו צריכים שיהיו במשחק כדי שלכל קבוצה (לא ריקה) שחסומה מלמעלה יהיה חסם עליון. התכונה הזו, "לכל קבוצה לא ריקה חסומה מלמעלה יש חסם עליון" היא מה שנקרא "אקסיומת החסם העליון". העובדה שהרציונליים לא מקיימים את האקסיומה הזו מצביעה שבמובן מסויים, בקבוצת הרציונליים יש "חורים" והיא לא תופסת את כל הישר הממשי, בעוד שבקבוצת הממשיים שכן מקיימת אותה אין חורים כאלו – היא "רציפה".

הזכרתי כבר קודם את המושג "שדה" והערתי שהרציונליים והממשיים שניהם שדות. אם מוסיפים לתמונה את היכולת להשוות בין כל שני איברים, השדה הופך לשדה סדור. המספרים הממשיים הם השדה הסדור היחיד בו מתקיימת אקסיומת החסם העליון (כלומר, אפשר להוכיח שאם יש שני שדות סדורים שמקיימים את אקסיומת החסם העליון, הם "אותו הדבר" במובן שלא אציג כאן באופן מדויק). מנקודת מבט מתמטית, זוהי ההגדרה של המספרים הממשיים; מה שדדקינד וקנטור עשו היה להציג בניות של הממשיים באמצעות אבני בניין פשוטות יותר, שהראו שההגדרה אינה ריקה מתוכן אלא באמת קיים אובייקט העונה לתנאי ההגדרה. קנטור ודדקינד שניהם מגיעים אל אותו האובייקט, אך בדרכים שונות. קשה להסביר פורמלית בשלב זה למה הכוונה ב"מגיעים אל אותו האובייקט בדרכים שונות" (כי אם מסתכלים על התוצר הסופי ה"יבש" של מה שהם עשו, הוא לא נראה זהה) ולכן אסתפק בהצגת הבניה של דדקינד ואסיים בזאת.

דדקינד ממשיך עם הרעיון שאיתו התחלתי קודם, של הקבוצה \(A\) שלא היה לה חסם עליון. הוא מגדיר חתך בתור קבוצה \(A\) של מספרים רציונליים כך שאם \(a\in A\) ו-\(b<a\), אז גם \(b\in A\). במילים, אם \(a\) הוא איבר של \(A\) ו-\(b\) קטן מ-\(a\), אז גם \(b\) שייך ל-\(A\). למה "חתך"? שכן הקבוצה הזו "חותכת" את המספרים הרציונליים לשתי קבוצות – כל מי ששייך ל-\(A\), וכל מי שאינו שייך ל-\(A\) ולכן הוא בהכרח גדול מכל אברי \(A\) (אם \(a\) אינו שייך ל-\(A\) אבל קטן מ-\(b\) שכן שייך ל-\(A\), אז מהגדרת \(A\) גם \(a\) חייב להיות שייך אליה…). על ציר המספרים \(A\) היא קו שנמתח ממינוס אינסוף ואז נעצר איפה שהוא, ומייד אחר כך מתחילה הקבוצה של כל מי שאינו ב-\(A\). השאלה היא רק מה קורה בנקודת החיתוך עצמה.

עוד שתי דרישות שדדקינד דורש מ-\(A\) הוא ש-\(A\) תהיה חסומה, אך שלא תכיל את החסם העליון של עצמה, אפילו אם הוא קיים. כעת דדקינד מגדיר את המספרים הממשיים באמצעות החתכים הללו – כל מספר ממשי מתאים ל-\(A\) כלשהי, כאשר, כפי שניתן היה לנחש, הקבוצה \(A\) מייצגת את המספר שהוא החסם העליון של \(A\). בתמונה אנחנו רואים את החתך שמגדיר את שורש 2.

חתך דדקינד שמגדיר את שורש שתיים

כאן הכיף רק מתחיל – צריך להגדיר פעולות של חיבור, חיסור, כפל וחילוק על הקבוצות הללו באופן שעדיין יהיה הגיוני, וצריך להוכיח שאקסיומת החסם העליון מתקיימת עבור אוסף הקבוצות הזה. אלו הם פרטיים טכניים לא טריוויאליים שאיני רוצה להפיל עליכם בפוסט הזה; העיקר הוא ברעיון הבניה עצמו, שלדעתי הוא זר ומוזר לכל מה שרואים בתיכון. כמובן, ייתכן שתרגישו ש"מרמים" אתכם בבנייה הזו שלכאורה מניחה את המבוקש; אך אני מבטיח שקריאה זהירה בטקסט שמתאר את הבניה במפורש עשויה להניח את דעתכם שלא מניחים כאן מאום מראש.

אם כן, אלו הם המספרים הממשיים, ומעתה ואילך נוכל לשכוח את רוב הדיון שהתרחש כאן ולחשוב עליהם פשוט בתור "שדה סדור שמקיים את אקסיומת החסם העליון". אני מקווה שהצלחתי להמחיש כאן שיש בהם מעט יותר מאשר רק "כל המספרים שעל ציר המספרים".

נעים להכיר – אקספוננט

בפוסט הזה אני רוצה לדבר על אחת הפונקציות החשובות והמרכזיות במתמטיקה – פונקצית האקספוננט, או כפי שבדרך כלל מכירים אותה בימינו, \(e^{x}\). בראש ובראשונה זו תהיה גם היכרות עם הקבוע \(e\) שב"בסיס" הפונקציה, וגם הסבר מדוע היא מצורה זו בכלל. כמו שקורה רבות במתמטיקה, הפונקציה צצה בהקשרים רבים ושונים, ובהתאם לכך יש לה הגדרות שקולות רבות ושונות; אני רוצה לדבר על זו שלטעמי היא היפה וה"נקיה" ביותר – ההקשר של משוואות דיפרנציאליות, שכבר הוזכר בפוסט הקודם, וממנה להתפתח הלאה ולראות איך ההגדרות השקולות צצות מאליהן.

במשוואה דיפרנציאלית ה"נעלם" הוא פונקציה \(f\left(x\right)\) כלשהי, והמשוואה מתארת קשר בין \(f\left(x\right)\) ובין הנגזרות שלה. אם יש הרבה נגזרות, או אם נותנים ל-\(x\) להתפרע חופשי במשוואה, מקבלים משהו מורכב למדי – למשל, \(f^{\prime}\left(x\right)=\left(f^{\prime\prime}\left(x\right)\right)^{2}-13x\cdot f\left(x\right)+11x^{2}\) היא משוואה די מסובכת וקשה (או אף בלתי אפשרי?) לתת לה פתרון מפורש. לכן אך טבעי הדבר להתחיל ממשוואות פשוטות ככל הניתן (שעם זאת, עדיין צצות באופן טבעי ומעניין בטבע – את זה הדגים הפוסט הקודם). קשה לי לחשוב על משוואה דיפרנציאלית שמערבת גם את \(f\) וגם את \(f^{\prime}\) והיא פשוטה יותר מאשר \(f=f^{\prime}\); על כן, עיסוק במשוואות דיפרנציאליות צריך להתחיל מגילוי הפתרון של המשוואה הזו; זה נותן לנו קרש קפיצה לפתרון של משוואות נוספות רבות.

השאלה הראשונה שעולה כשמתבוננים במשוואה היא – מי מבטיח לנו שיש פתרון בכלל? ואם יש פתרון, כמה פתרונות יש? כאן נכנס לתמונה משפט תיאורטי מרכזי בענף המשוואות הדיפרנציאליות – משפט הקיום והיחידות. ניסוח מדוייק של המשפט הוא מיותר כאן – הוא דורש מספר לא מבוטל של הנחות ותנאים על המשוואה עצמה, ולכן אגיד רק מה מסקנותיו עבור המשוואה \(f=f^{\prime}\) שלנו: המשפט מבטיח שיש פתרון למשוואה, אך הוא אינו יחיד, וכדי שיהיה יחיד צריך גם לקבוע "תנאי התחלה". למשל, לומר מה יהיה ערכה של \(f\) בנקודה \(x=0\). משנקבע תנאי ההתחלה הזה, קיים למשוואה פתרון יחיד שהוא פונקציה רציפה וגזירה ברציפות (אם המושגים הללו לא אומרים לכם הרבה, לא נורא). זה שקיים פתרון לא אומר לנו עדיין שום דבר על איך הוא נראה; אך זה כן אומר שאפשר מרגע זה ואילך לסמן אותו בסימון כלשהו ולהתחיל לדבר עליו כאילו הוא מציאותי וכל מה שנותר לעשות הוא לחקור את תכונותיו.

ובכן, איזה תנאי התחלה נבחר? התנאי הטבעי ביותר הוא \(f\left(0\right)=0\), אבל אז נקבל פתרון "משעמם" במיוחד: הפונקציה \(f\left(x\right)=0\). קל לראות שנגזרתה שווה לעצמה ושהיא מקיימת את תנאי ההתחלה, אבל זו לא פונקציה שאפשר לעשות איתה משהו מיוחד. תנאי ההתחלה ה"טבעי"הבא הוא \(f\left(0\right)=1\), בזכות המעמד המיוחד שיש לקבוע 1, בהיותו האיבר האדיש לכפל. כאן כבר בבירור לא נקבל את הפונקציה \(f\left(x\right)=0\), כי הפונקציה הזו שווה ל-0 בנקודה 0, לא ל-1. לכן נתכבד ונעניק לפתרון החדש סימון מיוחד: \(\exp\left(x\right)\). כעת נותר לנו להבין איך \(\exp\left(x\right)\) "נראית".

כרגע כל המידע שיש לנו על \(\exp\left(x\right)\) מסתכם בכך ש-\(\left(\exp\left(x\right)\right)^{\prime}=\exp\left(x\right)\) ובכך ש-\(\exp\left(0\right)=1\), אך קל להסיק מזה מידע נוסף: \(\exp^{\left(k\right)}\left(0\right)=1\) לכל \(k\) טבעי, כאשר \(\exp^{\left(k\right)}\) מציין את הנגזרת ה-\(k\)-ית של \(\exp\). הסיבה פשוטה: הנגזרת של \(\exp\) שווה ל-\(\exp\) עצמה, ולכן גם הנגזרת מקבלת את הערך 1 בנקודה 0; ואם גוזרים את הנגזרת, מקבלים שוב את אותו הדבר, וכן הלאה וכן הלאה. אם כן, אנחנו יודעים את הנגזרות של \(\exp\) מכל סדר שהוא בנקודה 0, וזה מזמין שיטת קירוב כללית – פולינומי טיילור.

פולינומים הם פונקציות מהצורה \(p\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}+\dots+a_{n}x^{n}\), כש-\(x\) הוא המשתנה, \(a_{0},\dots,a_{n}\) הם מספרים ממשיים כלשהם המכונים "מקדמי הפולינום", \(a_{n}\ne0\), ו-\(n\) נקראת דרגת הפולינום. במובן מסויים אלו הן הפונקציות הפשוטות ביותר והקלות ביותר לחישוב, ולכן גם הפונקציות שנהוג להשתמש בהן כדי לקרב פונקציות מורכבות יותר. קל לגזור פולינום: \(\left(x^{n}\right)^{\prime}=nx^{n-1}\), ובאופן כללי לכל פונקציות גזירות \(f,g\) וקבוע ממשי \(c\) מתקיים \(\left(cf\right)^{\prime}=cf^{\prime}\)ו-\(\left(f+g\right)^{\prime}=f^{\prime}+g^{\prime}\) (תכונות אלו מכונות "הלינאריות של הנגזרת"), ומכאן קל להסיק את הנוסחה הכללית לנגזרת של פולינום: \(p'\left(x\right)=a_{1}+2a_{2}x+3a_{3}x^{2}\dots+na_{n}x^{n-1}\) (כלומר, הנגזרת של פולינום היא פולינום אחר, מדרגה קטנה ב-1).

באופן כללי, אם עבור פונקציה \(f\) ידוע לנו הערך של \(f^{\left(k\right)}\left(0\right)\) לכל \(k\), ואנו רוצים להשתמש בידע הזה כדי למצוא לה קירוב באמצעות פולינום; מתבקש להשתמש בפולינום שהערך שלו ושל נגזרותיו בנקודה 0 מתאים לערך של \(f\) ונגזרותיה בנקודה 0 (מאחר וזה המידע שיש לנו על \(f\)). שימו לב כי אם \(p\left(x\right)=a_{0}+a_{1}x+a_{2}x^{2}+\dots+a_{n}x^{n}\) אז \(p\left(0\right)=a_{0}\), כי כל מקדם שעדיין צמוד לחזקה חיובית של \(x\) נעלם. על פי אותו עקרון, \(p^{\prime}\left(0\right)=a_{1}\); ואילו \(p^{\left(2\right)}\left(0\right)=2a_{2}\) (כי אחרי שגזרנו את \(p\) פעם אחת, האיבר \(a_{2}x^{2}\) הפך ל-\(2a_{2}x\); ואחרי גזירה שניה הוא הפך ל-\(2a_{2}\) ואז איפוס \(x\) לא משפיע עליו). ומה יהיה \(p^{\left(k\right)}\left(0\right)\) באופן כללי? אפשר כבר לנחש שזה יהיה \(a_{k}\) כפול קבוע כלשהו – איזה? אחרי שגוזרים את \(p\) פעם אחת, \(a_{k}x^{k}\) הופך ל-\(ka_{k}x^{k-1}\); אחרי גזירה שנייה הוא הופך ל-\(\left(k-1\right)ka_{k}x^{k-2}\); אחרי שלישית, \(\left(k-2\right)\left(k-1\right)ka_{k}x^{k-3}\); ובסופו של דבר כש-\(x\) "ייעלם" ניוותר עם \(1\cdot2\cdot3\cdots k\cdot a_{k}\), כלומר \(k!\cdot a_{k}\).

אם כן, הדרישה שהנגזרות של \(p\) בנקודה 0 יהיו זהות לנגזרות של \(f\) בנקודה 0 מאפשרת לנו למצוא באופן יחיד את מקדמי הפולינום: \(k!a_{k}=f^{\left(k\right)}\left(0\right)\), כלומר \(a_{k}=\frac{f^{\left(k\right)}\left(0\right)}{k!}\), ומכאן ש-\(p_{n}\left(x\right)=f\left(0\right)+f^{\prime}\left(0\right)x+\frac{f^{\left(2\right)}\left(0\right)}{2}x^{2}+\dots+\frac{f^{\left(n\right)}\left(0\right)}{n!}x^{n}\). כדי להפסיק לכתוב נוסחאות ארוכות ומפחידות, אעבור לסימון מקוצר ומפחיד: \(p_{n}\left(x\right)=\sum_{k=0}^{n}\frac{f^{\left(k\right)}\left(0\right)}{k!}x^{k}\). זהו פולינום טיילור מדרגה \(n\) (ולכן הוא מסומן כ-\(p_{n}\) ולא סתם כ-\(p\)) עבור הפונקציה \(f\). השאלה עד כמה זהו קירוב טוב (כלומר, עד כמה הערך של הפולינום בנקודות שאינן 0 קרוב לערך הפונקציה בנקודות אלו) תלויה מאוד בפונקציה, אולם ניתן לקבל הערכה כלשהי לגבי גודל הטעות. ניתן להראות כי לכל \(x\) מתקיים כי \(f\left(x\right)-p_{n}\left(x\right)=\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}x^{n+1}\), כלומר משהו שנראה כמו המחובר "הבא" בטור הטיילור, אבל כשהנגזרת ה-\(n+1\)-ית לא מוערכת בנקודה 0, אלא בנקודה \(c\) כלשהי. מהי \(c\)? אם היינו יודעים אותה במפורש, היינו יודעים את השארית במפורש; כל מה שאפשר לומר עליה היא שהיא נמצאת אי שם בין 0 ו-\(x\) (ובפרט היא תלויה ב-\(x\) וב-\(n\); עבור \(x\)-ים ו-\(n\)-ים שונים יכולות להיות נקודות ביניים שונות). הנוסחה הזו מאפשרת לנו לחסום את גודל הטעות, אם אנחנו יודעים לחסום את גודל הנגזרת ה-\(n+1\)-ית של \(f\) בקטע שבין 0 ו-\(x\).

נחזור כעת אל פונקציית האקספוננט. אמרנו שהיא מקיימת \(\exp^{\left(k\right)}\left(0\right)=1\) לכל \(k\), כך שהפולינום במקרה זה הוא פשוט במיוחד: \(p_{n}\left(x\right)=\sum_{k=0}^{n}\frac{1}{k!}x^{k}\). אלא שפולינום פשוט זה לא מספיק – צריך גם להראות שהוא קירוב טוב, כלומר צריך לומר משהו על השארית. בואו נקבע לרגע את \(x\), וכדי לסמן שהוא קבוע נסמנו ב-\(x_{0}\); מה שאנחנו באמת רוצים להראות הוא שככל שאנחנו מגדילים את \(n\), ושומרים את \(x_{0}\) קבוע, אנחנו מקטינים את הטעות שלנו ככל שנרצה – כלומר, שהטעות שואפת לאפס כש-\(n\) שואף לאינסוף. בדרך כלל לא פשוט להראות את זה (ולא תמיד זה בכלל נכון), בגלל שההתנהגות של \(f^{\left(n\right)}\) בקטע שלנו עשויה "להתפרע"ככל שנגדיל את \(n\) (חשבו על נהג "משוגע" שכל הזמן נותן גז ובולם בפראות – פונקצית המקום שלו משתנה בצורה יחסית "נחמדה"כי ההתפרעויות מקזזות זו את זו, אבל אם נסתכל על הנגזרת של פונקצית המקום – המהירות – נראה שהיא "משוגעת"). אלא שבמקרה שלנו אין בעיה כי \(f^{\left(n\right)}=f\) לכל \(n\). אנחנו גם יודעים ש-\(f\) במקרה שלנו היא רציפה (זה מובטח ממשפט הקיום והיחידות) ולכן בפרט היא חסומה בקטע \(\left[0,x_{0}\right]\) (אינטואיטיבית תכונה זו ברורה יחסית, אך כמובן שיש להוכיח אותה פורמלית).

אם נסמן ב-\(M\) את החסם על גודל הפונקציה, אז \(\frac{f^{\left(n+1\right)}\left(c\right)}{\left(n+1\right)!}x_{0}^{n+1}\le\frac{x_{0}^{n+1}}{\left(n+1\right)!}\cdot M\). מכיוון שלכל מספר קבוע \(a\) מתקיים כי \(\frac{a^{n}}{n!}\to0\) (האינטואיציה היא שבעוד \(a^{n}\) הוא מכפלה של \(a\) הקבוע בעצמו \(n\) פעמים, בעוד ש-\(n!\) היא מכפלה של מספרים שהולכים וגדלים, והחל משלב מסויים כולם יהיו גדולים מ-\(a\)) נובע שהשגיאה שואפת תמיד לאפס. מסקנה: הפולינומים מהווים קירוב טוב של \(\exp\), במובן זה שלכל \(x_{0}\) מתקיים \(p_{n}\left(x_{0}\right)\to\exp\left(x_{0}\right)\). בשל כך אפשר לשכוח מפולינומים ולעבור לדבר על \(\exp\left(x\right)\) כמיוצגת באמצעות טור חזקות אינסופי: \(\exp\left(x\right)=\sum_{n=0}^{\infty}\frac{x^{n}}{n!}\). בחלק מהמקרים בוחרים להגדיר את פונקצית האקספוננט באמצעות טור חזקות זה (צריך להראות שהוא מתכנס, אך זה פשוט למדי באמצעות תוצאות סטנדרטיות על טורי חזקות).

אם מתחילים עם הגדרה זו קל למדי להראות ש-\(\exp^{\prime}\left(x\right)=\exp\left(x\right)\), שכן התורה של טורי חזקות מצביעה על כך שניתן לגזור את הטור "איבר איבר" כדי לקבל את הטור המתאים לנגזרת – אך לא קשה לראות שאם גוזרים את הטור \(\sum_{n=0}^{\infty}\frac{x^{n}}{n!}\) איבר איבר, מקבלים את אותו הטור בדיוק! שהרי כשגוזרים את \(\frac{x^{n}}{n!}\) מקבלים \(\frac{x^{n-1}}{\left(n-1\right)!}\). אם כן, בגישה זו קל מאוד "לראות בעיניים" מדוע הנגזרת של אקספוננט היא האקספוננט עצמו; ה"חסרון" של שיטה זו היא שיש שרירותיות רבה כלשהי בלהתחיל מההגדרה \(\sum_{n=0}^{\infty}\frac{x^{n}}{n!}\) במקום להגיע אליה כתוצר "טבעי" של איזו שהיא דרישה בסיסית יותר (וזה גם פחות הרפתקני; במקום לטייל בג'ונגל עד שמגיעים לעיר העתיקה שקבורה בו, אנחנו מקבלים הקפצה במסוק).

יפה – אם כן, כעת יש לנו ייצוג מאוד קונקרטי לפונקצית האקספוננט, ואפילו שיטה לחשב אותה נומרית בכל דיוק שנרצה. מה עוד צריך, אם כן? אפיונים נוספים שישפכו עוד אור על הפונקציה הזו. אילו תכונות מעניינות הפונקציה מקיימת? כבר ראינו תכונה מעניינת מאוד: נגזרתה שווה לעצמה. כעת אציג תכונה מעניינת וחשובה לא פחות: \(\exp\left(x\right)\cdot\exp\left(y\right)=\exp\left(x+y\right)\). קל לראות את זה עכשיו, כשיש לנו את הייצוג של \(\exp\) כטור חזקות – אפשר ממש לכפול את שני הטורים. אתם יכולים להאמין לי שזה עובד, אבל גם בחישוב ה"טכני" יש יופי לא קטן וכדאי לדעתי לנסות ולעקוב אחריו. ראשית הבה וננסה להבין מהו \(\exp\left(x\right)\cdot\exp\left(y\right)\). כדי להקל על ההבנה כדאי לכתוב זאת כסכום בלי סיגמות: \(\exp\left(x\right)\cdot\exp\left(y\right)=\left(1+x+\frac{x^{2}}{2}+\dots\right)\left(1+y+\frac{y^{2}}{2}+\dots\right)\). אם נפתח את המכפלה הזו נקבל סכום של איברים שכל אחד מהם התקבל על ידי בחירת איבר אחד מהסכום השמאלי, ואיבר אחד מהסכום הימני, כלומר סכום של איברים מהצורה \(\frac{x^{k}}{k!}\cdot\frac{y^{t}}{t!}\). כרגע זה לא נראה מועיל במיוחד, אז נבצע שינוי משתנים מתוחכם (מי שתוהה איך הגעתי אליו – פשוט פותחים את \(\exp\left(x+y\right)\) ורואים מה היעד שלנו…): את החזקה של \(x\) נמשיך לסמן ב-\(k\), אבל את החזקה של \(y\) נסמן בתור \(n-k\) דווקא (כאשר \(n\) יכול להיות כל מספר טבעי גדול או שווה ל-\(k\); לכל \(n\) כזה, קיים איבר מתאים בסכום שבו \(x\) הוא בחזקת \(k\) ו-\(y\) הוא בחזקת \(n-k\)). עם הסימון הזה, האיבר שלנו הוא \(\frac{x^{k}y^{n-k}}{k!\left(n-k\right)!}\). אולי לחלקכם זה מתחיל להיראות מוכר. נכפול ונחלק ב-\(n!\) ונקבל \(\frac{n!}{k!\left(n-k\right)!}\frac{x^{k}y^{n-k}}{n!}\), כלומר \(\frac{{n \choose k}x^{k}y^{n-1}}{n!}\).

מכאן כבר העניינים מתגלגלים מהר: הסכום שלנו כעת ניתן לתיאור בתור \(\sum_{n=0}^{\infty}\frac{\sum_{k=0}^{n}{n \choose k}x^{k}y^{n-k}}{n!}\), ועל ידי הבינום של ניוטון נקבל כי סכום זה הוא \(\sum_{n=0}^{\infty}\frac{\left(x+y\right)^{n}}{n!}\), כלומר \(\exp\left(x+y\right)\), ובכך מסתיים העניין. גילינו, אם כן, כי \(\exp\) היא פונקציה שמתרגמת פעולת חיבור לפעולת כפל. כל תלמיד תיכון כבר נתקל בתופעה כזו, בחוקי חזקות. הרי \(x^{a}\cdot x^{b}=x^{a+b}\). מכאן צצה אינטואיציה חדשה לגבי מהותה של \(\exp\) – האם ייתכן שהיא פונקציה של העלאה בחזקה? ואם כן, על פי איזה בסיס? הדרך לגלות את הבסיס היא להציב 1 ב-\(\exp\) (כלומר, לקבל את הבסיס בחזקת 1). התוצאה היא המספר \(\exp\left(1\right)=1+1+\frac{1}{2}+\frac{1}{3!}+\frac{1}{4!}+\dots=2.71828\dots\) (שלוש הנקודות מסמלות, כרגיל, שהמספר לא נגמר בספרות אלו אלא ממשיך עד אין קץ). נהוג לסמן את המספר הזה ב-\(e\). לטעמי זהו הקבוע המתמטי המעניין ביותר; מעניין יותר מ-\(\pi\), אחיו המפורסם הרבה יותר. הטור מאפשר חישוב מאוד מהיר ויעיל של \(e\), להבדיל מ-\(\pi\) שחישוב יעיל שלו דורש התחכמויות נוספות. אם כן, המטרה שלנו כעת היא להראות ש-\(\exp\) היא בעצם פונקציה של העלאת \(e\) בחזקה.

כמובן, כדי לדבר על העלאה בחזקה צריך להגדיר במדוייק למה הכוונה. \(a^{2}\) הוא פשוט \(a\cdot a\), ובאותו אופן \(a^{n}\) עבור \(n\) טבעי הוא \(a\cdot a\cdots a\) במשך \(n\) פעמים, אך מהו \(a^{\pi}\)? חייבים לתת משמעות פורמלית לסימון הזה. האופן שבו עושים זאת הוא ראשית כל להגדיר את החזקה לכל מספר שלם, על ידי ההגדרה \(a^{-n}=\left(\frac{1}{a}\right)^{n}\) עבור \(n\) טבעי; ולהרחיב את ההגדרה לרציונליים על ידי כך שמגדירים \(a^{\frac{1}{n}}=\sqrt[n]{a}\) לכל \(n\) טבעי, ועל כן \(a^{\frac{m}{n}}=\sqrt[n]{a^{m}}\). עד כאן – חומר של תיכון. כדי להרחיב את ההגדרה לממשיים כבר צריך להשתמש בחשבון אינפיניטסימלי. באופן כללי בחשבון אינפיניטסימלי, כאשר יש לנו פונקציה \(f\left(x\right)\) שערכיה נקבעו כבר על כל המספרים הרציונליים, נובעת מכך דרך אחת ויחידה להרחיב את הפונקציה לכל הממשיים כך שהפונקציה המתקבלת תהיה רציפה. זוהי הרי מהות הרציפות – שאם יש לנו סדרת נקודות \(x_{n}\) כך ש-\(x_{n}\to a\) עבור \(a\) ממשי כלשהו, אז \(f\left(x_{n}\right)\to f\left(a\right)\). מכיוון שלכל מספר ממשי אפשר לקחת סדרת קירובים רציונליים שכזו, הערך של \(f\) ב-\(a\) מוכתב על ידי הערכים של \(f\) על המספרים הרציונליים.

כעת, אם \(f\) היא פונקציה רציפה שמקיימת את המשוואה \(f\left(x+y\right)=f\left(x\right)\cdot f\left(y\right)\) (משוואה זו מכונה לפעמים "משוואת קושי האקספוננציאלית"), ראשית כל נסמן \(a=f\left(1\right)\), וכעת לכל \(n\) טבעי מתקיים \(f\left(n\right)=f\left(1+\dots+1\right)=f\left(1\right)\cdots f\left(1\right)=a^{n}\), כלומר על הטבעיים \(f\) אכן מתנהגת כמו חזקה. קל לראות ש-\(a\) חייב להיות אי שלילי, שכן \(a=f\left(1\right)=f\left(\frac{1}{2}+\frac{1}{2}\right)=\left[f\left(\frac{1}{2}\right)\right]^{2}\), כלומר \(a\) הוא ריבוע של מספר ממשי כלשהו, ולכן חייב להיות אי שלילי.

השלב הבא הוא 0: מכיוון ש-\(0=0+0\) הרי ש-\(f\left(0\right)=f\left(0+0\right)=f\left(0\right)\cdot f\left(0\right)=\left[f\left(0\right)\right]^{2}\). איזה מספר ממשי שווה לריבוע שלו? רק 0 או 1; אבל אם \(f\left(0\right)=0\) אז גם \(f\left(n\right)=f\left(n+0\right)=f\left(n\right)\cdot f\left(0\right)=0\), וקיבלנו פונקציה לא מעניינת (שאפשר לחשוב עליה בתור \(f\left(x\right)=0^{x}\) – כלומר, אפילו במקרה הזה היא פונקציית העלאה בחזקה, אם מקבלים את הקונבנציה הלא שגרתית \(0^{0}=0\) במקרה זה). לכן \(f\left(0\right)=1\). מכאן מגיעים מיידית להגדרה עבור שליליים: \(1=f\left(0\right)=f\left(n+\left(-n\right)\right)=f\left(n\right)f\left(-n\right)\) ומכאן ש-\(f\left(-n\right)=\frac{1}{a^{n}}=\left(\frac{1}{a}\right)^{n}\), ולכן אפשר לומר ש-\(f\left(-n\right)=a^{-n}\).

השלב הבא הוא הרציונליים: \(a=f\left(1\right)=f\left(\frac{1}{n}+\dots+\frac{1}{n}\right)=\left[f\left(\frac{1}{n}\right)\right]^{n}\), כך ש-\(f\left(\frac{1}{n}\right)=\sqrt[n]{a}\) (עבור מספרים ממשיים אי שליליים תמיד קיים שורש שכזה; הסיבה לכך היא שהפונקציה \(g\left(x\right)=x^{n}-a\) היא רציפה, מקבלת ערך שלילי ב-\(x=0\) אבל ערך אי שלילי ב-\(x=a\) ולכן על פי משפט ערך הביניים היא חייבת להתאפס היכן שהוא). דרישת הרציפות על \(a\) מסיימת כעת את המשחק: \(f\left(x\right)=a^{x}\) לכל \(x\) ממשי – כאשר, כזכור, \(a=f\left(1\right)\). במקרה של \(\exp\), \(\exp\left(1\right)=e\), ולכן \(\exp\left(x\right)=e^{x}\), לכל \(x\) ממשי. סיימנו את המעבר מההגדרה התמימה באמצעות משוואה דיפרנציאלית אל \(e^{x}\) שאנחנו מכירים ואוהבים.

בכל ההרפתקאה הזו נמנעתי במכוון – אפילו בכוח – מלהזכיר את פונקצית הלוגריתם הטבעי. למעשה, ברוב ספרי הלימוד שבהם מגדירים אקספוננט, הדרך לעשות זאת היא ראשית כל על ידי הגדרת הלוגריתם, ואז הגדרת האקספוננט כפונקציה ההופכית שלו, אבל על הלוגריתם הטבעי, המוטיבציה לו והדרך להגדיר אותו כבר אפשר וכדאי לכתוב פוסט נפרד, בעתיד. לעת עתה אני רק רוצה להפנות את תשומת הלב לעובדה אחת שעבורה אני זקוק ללוגריתם הטבעי: בעצם הוכחתי קודם כי כל פונקציה רציפה שמקיימת את משוואת קושי האקספוננציאלית היא מעריכית, כלומר מהצורה \(a^{x}\), אבל למעשה יש דרך אחרת לתאר פונקציה שכזו: מכיוון ש-\(a>0\) הרי ש-\(a=e^{\ln a}\), ולכן את הפונקציה \(a^{x}\) אפשר גם לתאר בתור הפונקציה \(e^{\ln a\cdot x}\). זה גם מראה לנו מיידית מדוע הנגזרת של \(a^{x}\) היא \(a^{x}\cdot\ln a\) (הדבר נובע מכך ש-\(\left(e^{\ln a\cdot x}\right)^{\prime}=\left(\ln a\right)e^{\ln a\cdot x}\)), וגם אומר לנו שאפשר לתת לכל הפונקציות המעריכיות תיאור אחיד על ידי \(e^{kx}\), עבור \(k\) ממשי כלשהו; כך למשל הפתרון של המשוואה הדיפרנציאלית שהצגתי בפוסט הקודם היה פונקציה מעריכית שכזו.

גם עם הקבוע \(e\) לא גמרנו; יש עוד דרכים להגדיר אותו, ובראש ובראשונה בתור הגבול \(\lim_{n\to\infty}\left(1+\frac{1}{n}\right)^{n}\) (למעשה, אפשר גם להגדיר את פונקצית האקספוננט באמצעות וריאציה על גבול זה); וגם על כך אני מקווה לדבר בעתיד.

יום פאי שמח!

ה-14 במרץ זכה לשם המגוחך "יום פאי" בגלל ש-\(\pi\) מתחיל בספרות \(3.14\). לרוב נהוג לחגוג את היום הזה בזלילות של פאי (שעליו ציור של \(\pi\)), אך אני אנצל אותו כדי להעלות פוסט העוסק, איך לא, בפאי. ספציפית, באופן שבו פאי צץ במתמטיקה באופן לחלוטין לא קשור להקשר המקורי שבו מדובר על פאי (ההקשר הגיאומטרי של מעגל). אני מזהיר מראש שבחלק שבו אעסוק במתמטיקה עצמה, המתמטיקה תהיה טכנית למדי; אך אני חושב שדווקא כדאי לבחון קצת גם חישובים טכניים, כל עוד יש מאחוריהם רעיונות מעניינים – בלי לעשות זאת מפספסים חלק מהותי מהמתמטיקה.

המוטיבציה שלי מגיעה בראש ובראשונה מספר מדע בדיוני שלא אפרט את שמו (אלא אם תלחצו על הלינק…), שכן אני עומד לגלות פריט עלילה חשוב ממנו – אם כי לטעמי, זניח ביחס לדברים המעניינים באמת שיש באותו ספר. לקראת סוף הספר "מתגלה" כי אם רושמים את ספרות פאי בבסיס 11, הרי שבנקודה כלשהי בפיתוח (בסביבות המקום ה-\(10^{20}\), אם אני זוכר נכון; להמחשה, השיא העולמי כיום עומד על סביבות ה-\(10^{12}\) ספרות, כך שאנחנו ממש לא קרובים לשם) מגיעה סדרה של אפסים ואחדות בלבד, שאם מסדרים אותה כריבוע, מתגלה ציור פרימיטיבי של עיגול. הדבר הזה מפורש על ידי הדמויות בספר כחתימה של יוצר היקום על הבריאה, מה שאותי הרגיז מאוד – לא בגלל המסר הדתי (הגישה של הספר לנושאי דת ואמונה דווקא סבירה בעיני) אלא בגלל השימוש הלא נאות בפאי, לטעמי (וכאן המקום להעיר שאהבתי מאוד את הספר, ורק הנקודה הזו פגמה מעט בהנאה).

כמובן שהבעיה אינה עם כך שהסופר החליט להמציא את קיום הרצף המוזר הזה בפאי. הבעיה אפילו אינה עם כך שסביר להניח שכל רצף שרק נרצה של ספרות יופיע מתישהו בפיתוח של פאי (הניסוח המדוייק של ההשערה הזו אומר כי פאי הוא מספר נורמלי – כאמור, טרם הוכיחו זאת) – בסופו של דבר, אפשר להתייחס למקום ה-\(10^{20}\)כמקום "מוקדם מאוד" בפיתוח ולכן הופעה אקראית של ציור שכזה בשלב זה היא מאוד לא סבירה הסתברותית (וכאן המקום להעיר שבאופן מפתיע ביותר, במקום ה-762 בפאי מתחיל רצף של לא פחות משישה מופעים רצופים של הספרה 9 – גם כן משהו לחלוטין לא סביר; ריצ'ארד פיינמן התבדח כי הוא רוצה לשנן את כל הספרות של פאי עד לנקודה זו רק כדי שיוכל לצטט אותם ולסיים ב"תשע, תשע, תשע, תשע, תשע, תשע וכן הלאה", כלומר לרמוז שפאי מסתיים ב-\(999\dots\) ולכן הוא רציונלי). הבעיה שלי היא בכך שאני לא מאמין בשום צורה שאל כלשהו מסוגל לשלוט ולו במופע של ספרה אחת בפיתוח של פאי. על כן, גם אם רצף כזה יתגלה במציאות, התגובה שלי לכך תהיה "מגניב!", אבל לא אראה זאת כקשור במאום לאל כלשהו.

כמובן, אפשר להציג לטיעון שלי התנגדויות מכאן ועד להודעה חדשה, ואיני טוען שניתן להוכיח אותו. יש התנגדויות-עוקפות-בעיה כמו זו שאלוהים יכול לגרום לנו "להאמין" שהרצף הזה נמצא בפאי, או לגרום למחשב שמציג אותו "להתבלבל" וכדומה, אבל אלו טיעונים משעממים משהו. טיעונים יותר מעניינים, וכאלו שמובילים אותי לנושא שעליו אני רוצה לדבר, מתייחסים לכך שאם היקום היה שונה, גם פאי היה שונה. כאן מתחילה המהומה, וכאן פאי נקלע לצרה בגלל הגדרתו ה"קלאסית", הגאומטרית.

כזכור, פאי מוגדר בתור היחס בין היקף מעגל לקוטרו. זו הגדרה מאוד גרועה. מה זאת אומרת "היקף מעגל"? איזה מעגל? ואם מעגל כלשהו, למה היחס בין היקף המעגל לקוטרו תמיד קבוע? ואיך מודדים היקף? והכי חשוב – מעגל איפה?

כי דא עקא, בגאומטריות הלא-אוקלידיות, היחס בין היקף המעגל לקוטרו כלל לא קבוע. ואולי הגאומטריה של היקום שלנו היא לא-אוקלידית, ואז מה? לכאורה אלוהים יכול לשלוט על פאי על ידי כך שישנה את הגאומטריה של היקום. זו אמנם דרך מאוד, מאוד מוזרה להכניס לתוכו מסר (ולמעשה, לא ברור עד כמה ניתן לבצע שינויים "מהונדסים"בפאי שיגרמו למסר להיכנס לתוכו), אבל אי אפשר לפסול אותה מיידית – אלמלא פאי כלל לא היה מוגדר כך. פאי מוגדר במפורש כיחס בין היקף המעגל וקוטרו בגאומטריה האוקלידית, בה הוא קבוע בלי תלות במעגל. אלא שההגדרה הזו היא בעייתית מאוד לטעמי, בגלל הקישור החזק שהיא יוצרת בין פאי ובין האובייקט הגאומטרי של המעגל; והרי כל העניין בפאי נובע מכך שהוא מופיע במקומות רבים ושונים במתמטיקה בלי תלות במוצא הגאומטרי הזה. למעשה, הספר יורה לעצמו ברגל בנקודה הזו – המסר בפאי אמור להיות "אוניברסלי", אבל הוא מתבסס על ההנחה שמי שמכיר את פאי, מכיר אותו דווקא מתוך ההקשר המעגלי, ושהוא מצייר מעגלים באותו אופן כמו בני האדם – הנחות מאוד לא סבירות.

הדרך ה"נכונה" להציג את האוניברסליות של פאי היא לדבר על פונקציות הסינוס והקוסינוס, ולהסביר כיצד הן נובעות באופן "טבעי" במתמטיקה, בלי קשר למוצא הגאומטרי שלהן (כזכור, הפונקציות הללו מוגדרות באופן גאומטרי, באמצעות משולשים ישרי זווית – אך שוב, זו אינה ההגדרה ה"נכונה") אך זה יקח אותי לדיון על משוואות דיפרנציאליות שאני מעדיף להימנע ממנו כעת (אף כי אני מקווה לכתוב פוסט בעניין בעתיד). תחת זאת, אציג מקום אחר שבו (בעקבות הקשר החזק של פאי לסינוס) פאי צץ – פונקצית הזטה של רימן. מה שאני רוצה להציג בחלקו המתמטי של הפוסט הזה הוא שתי הוכחות לכך ש-\(\zeta\left(2\right)=\frac{\pi^{2}}{6}\); הוכחה אחת של אוילר תהיה נפנוף-ידיימית למדי במהותה, אך יפה; והשניה, שתתבסס על אנליזת פורייה, היא יותר סטנדרטית ויותר קצרה, אך דורשת חומר רקע שלא אוכל להרחיב עליו כאן ולכן אשמור אותה לסוף.

תזכורת קצרה: \(\zeta\) מוגדרת על מספרים ממשיים גדולים מ-1 באופן הבא: \(\zeta\left(s\right)=\sum_{n=1}^{\infty}\frac{1}{n^{s}}\). קיימת הרחבה של הפונקציה לכל המספרים המרוכבים, אך זה לא רלוונטי לדיון הנוכחי – כמו שכבר הבנתם, השתמשתי במילים "פונקצית הזטה של רימן" רק כדי לתת שם מפוצץ לטור שאני הולך לחשב, \(\sum_{n=1}^{\infty}\frac{1}{n^{2}}\) (מה לעשות, כל דבר שיש בו את פונקצית הזטה של רימן הופך לסקסי – מתמטית – פי עשרים).

אין שיטה כללית יעילה לחישוב מדוייק של סכום טורים; לכל טור השיטות האד-הוקיות שלו, וכך גם במקרה שלפנינו. התעלול שאוילר נקט בו היה מקסים למדי, ומזכיר את התעלול שבאמצעותו הוא השתמש בפונקצית הזטה של רימן כדי להוכיח את קיומם של אינסוף ראשוניים.

הבסיס להוכחה של אוילר הוא פונקצית הסינוס, ומכאן גם פאי נכנס לתמונה באופן טבעי. בהגדרתו ה"נאיבית", סינוס של זווית \(\theta\) מוגדר בתור היחס בין הצלע שמול הזווית ובין היתר במשולש ישר זווית. הגדרה זו מוכללת עם קצת עבודה לכל מספר ממשי \(x\) (שמייצג את גודל הזווית ברדיאנים), אבל כדי לחסוך את כאב הראש מתמטיקאים לרוב מגדירים את סינוס בלי שום גאומטריה, באמצעות הטור \(\sin\left(x\right)=x-\frac{x^{3}}{3!}+\frac{x^{5}}{5!}-\frac{x^{7}}{7!}+\dots\).

מה שרלוונטי עבורנו הוא הערכים שבהם סינוס מתאפס. סינוס היא פונקציה מחזורית, שמתחילה ב-0, עולה עד ל-1, יורדת עד ל-\(-1\), ואז חוזרת ל-0. כל מחזור כזה אורכו בדיוק \(2\pi\), וסינוס עובר בנקודה 0 גם במחצית המחזור (כשהוא יורד מ-\(1\) אל \(-1\)). כלומר, סינוס מתאפס בדיוק בנקודות שהן כפולה שלמה של פאי: \(0,\pm\pi,\pm2\pi,\dots\) . כעת מגיע נפנוף הידיים המטורלל – מה שנעשה יהיה להציג את סינוס בתור מכפלה של גורמים מהצורה \(\left(1-\frac{x}{n\pi}\right)\), כלומר בתור מעין מכפלה של גורמים שתלויים בשורשים שלו.

ההגיון כאן מגיע מהתכונה הדומה עבור פולינומים. כל פולינום \(a_{n}x^{n}+\dots+a_{1}x+a_{0}\) ניתן לכתוב גם בתור מכפלה של גורמים \(a_{n}\left(x-\alpha_{1}\right)\cdots\left(x-\alpha_{n}\right)\) כאשר ה-\(\alpha_{i}\) הם השורשים שלו (הנקודות שבהן הוא מתאפס). המכפלה הזו סופית ולכן אין איתה בעיה; אך עבור סינוס מדובר ב"פולינום אינסופי" שיש לו אינסוף שורשים, ולכן הרבה פחות ברור שהעסק הזה אפשרי. לצורך הדיון אנו מניחים שזה אפשרי – אוילר לא היה פורמלי בהרבה כשהוכיח את הטענה לראשונה. למעשה, איננו משתמשים בפונקצית הסינוס עצמה אלא בתיקון שלה, שיסלק את השורש הבעייתי ב-0: אנו מתבוננים בפונקציה \(\frac{\sin x}{x}\). לכאורה פונקציה זו כלל אינה מוגדרת באפס, אך ניתן להראות כי \(\lim_{x\to0}\frac{\sin x}{x}=1\) ועל כן אם נגדיר אותה ב-0 להיות 1 נקבל פונקציה רציפה ונחמדה, שניתן לתאר גם באמצעות הטור \(\frac{\sin x}{x}=1-\frac{x^{2}}{3!}+\dots\).

את הפיתוח \(a_{n}\left(x-\alpha_{1}\right)\cdots\left(x-\alpha_{n}\right)\) אפשר להציג גם באופן קצת שונה אם מחלקים כל גורם ב-\(-\alpha_{i}\) המתאים: מקבלים \(\frac{a_{n}}{\prod\left(-\alpha_{i}\right)}\left(1-\frac{x}{\alpha_{i}}\right)\cdots\left(1-\frac{x}{\alpha_{n}}\right)\). כך נעשה גם במקרה של \(\frac{\sin x}{x}\) ונקבל \(\frac{\sin x}{x}=\left(1-\frac{x}{\pi}\right)\left(1+\frac{x}{\pi}\right)\left(1-\frac{x}{2\pi}\right)\left(1+\frac{x}{2\pi}\right)\cdots\). הסיבה לכך שאין מקדם "מחוץ לסוגריים" היא שבמקרה הזה הוא 1; קל לראות זאת אם מציבים 0 בשני האגפים – באגף שמאל יתקבל 1, ולכן גם באגף ימין חייב להתקבל 1 (ומה שיתקבל הוא בדיוק ערכו של המקדם "שבחוץ").

כעת כבר כמעט סיימנו. הבה ונזכר בנוסחה \(\left(a+b\right)\left(a-b\right)=a^{2}-b^{2}\); אפשר להחיל אותה על כל זוג סמוך של סוגריים. מקבלים: \(\frac{\sin x}{x}=\left(1-\frac{x^{2}}{\pi^{2}}\right)\left(1-\frac{x^{2}}{4\pi^{2}}\right)\left(1-\frac{x^{2}}{9\pi^{2}}\right)\cdots\). העיקרון ברור – במכנים אנחנו מקבלים ריבועים. זה בדיוק התעלול של אוילר – הוא הצליח איכשהו לתפוס אנליטית את כל הריבועים (ולכן הפתרון שלו עובד מצויין עבור הטור הספציפי הזה אך לא תקף, למשל, עבור \(\sum\frac{1}{n^{3}}\)). כעת, אם נפתח את המכפלה של כל אינסוף הסוגריים ונסתכל על התוצאה, נקבל כמו קודם פולינום "אינסופי". מה יהיה המקדם של \(x^{2}\) בפולינום הזה? מקדם שכזה מתקבל על ידי בחירת גורם אחד מהצורה \(-\frac{x^{2}}{n^{2}\pi^{2}}\) מאחד מהסוגריים, ואת הגורם 1 מכל היתר; וכל בחירה אפשרית שכזו מצטרפת לסכום שמהווה המקדם של \(x^{2}\). בקיצור – המקדם הזה יהיה \(-\sum_{n=1}^{\infty}\frac{1}{n^{2}\pi^{2}}\).

מצד שני, כמו שכבר ראינו, המקדם של \(x^{2}\) בטור של \(\frac{\sin x}{x}\) הוא \(-\frac{1}{3!}\). על כן, על ידי השוואת מקדמים מקבלים כי \(-\frac{1}{6}=-\sum_{n=1}^{\infty}\frac{1}{n^{2}\pi^{2}}\), ועל ידי כפל שני האגפים ב-\(-\pi^{2}\) מקבלים את התוצאה: \(\sum_{n=1}^{\infty}\frac{1}{n^{2}}=\frac{\pi^{2}}{6}\). למרות שזוהי בסופו של דבר הוכחה טכנית, אני סבור שהיא מקסימה ונותנת תחושה טובה של האופן שבו פאי צץ משום מקום.

מה שחשוב לי במיוחד להבהיר כאן הוא חוסר הקשר המוחלט של פאי בדוגמה הזו לגאומטריה, מעגלים, העולם שלנו או כל דבר אחר. הסכום \(\sum\frac{1}{n^{2}}\) לא קשור במאום לכל אלו (טוב, כמו שראינו, הוא כן קשור, אך לא ברמה ההגדרתית-הצהרתית, אלא ברמה עמוקה בהרבה). היינו יכולים להגדיר את פאי באותה מידה להיות \(\sqrt{6\sum_{n=1}^{\infty}\frac{1}{n^{2}}}\) ולא יחס בין היקף מעגל וקוטרו, ואז מה היו אומרים אלו שמנסים לטעון שאלוהים מסוגל לשנות את פאי? הדיון היה מפסיק לעסוק בפאי גרידא, ועוסק למעשה בכל טור ובכל מספר אפשרי – ולטעמי, זה הופך את השאלה "האם אלוהים יכול לשנות את פאי" לכזו שבה התשובה השלילית ברורה בדיוק כמו בשאלה "האם אלוהים מסוגל להנחית מט במהלך הראשון בשחמט?"- אלוהים לא מסוגל לעשות זאת מכיוון שזה פשוט לא אפשרי, על פי כללי השחמט; כדי שהדבר כן יתרחש, חוקי השחמט יצטרכו להשתנות. אם אלוהים מסוגל לשנות את פאי, אז לאחר השינוי היצור שיתקבל כבר לא יהיה פאי אלא משהו אחר – משהו שאינו שווה, למשל, ל-\(\sqrt{6\sum_{n=1}^{\infty}\frac{1}{n^{2}}}\).

נעבור כעת להוכחה סטנדרטית יותר לסכום הטור, שמבוססת על אנליזת פורייה. אי אפשר להסביר מהי אנליזת פורייה בכמה שורות, אך הרעיון הבסיסי שנשתמש בו הוא שניתן לתאר פונקציות (שמקיימות כך וכך בתחום כזה וכזה ובלה בלה) במובן מסויים כטור של סינוסים וקוסינוסים, כלומר של פונקציות מחזוריות. זה הופך את אנליזת פורייה לכלי בסיסי למהנדסים, בעיקר בתחומים הנוגעים לעיבוד אותות (ניתן לחשוב על אות כעל פונקציה, וטור פורייה שלה יהיה מעין פירוק לרכיבי תדירויות – באופן ציורי, אם יש לנו קובץ מוזיקה ואנחנו רוצים "להגביר את הבאסים" צריך למצוא את טור פורייה המתאים, להגדיל את המקדם של התדירות שמתאימה לבאסים, ואז לשחזר את הפונקציה החדשה). עם זאת, השימוש שלי בה הולך להיות מתמטי-תיאורטי לגמרי.

פרט לרעיון הבסיסי, אשתמש במשפט אלמנטרי מתורת פורייה – זהות פרסבל. זהות פרסבל היא הכללה למרחבי פונקציות של משפט פיתגורס; משפט פיתגורס אומר כי \(a^{2}+b^{2}=c^{2}\) כאשר \(a,b,c\) הן צלעות משולש ישר זווית; אפשר גם לחשוב על \(a,b\) כמייצגים פירוק לרכיבים מאונכים זה לזה של הצלע האלכסונית \(c\), ועל משפט פיתגורס בתור קשר בין גודלם של הרכיבים וגודל הסכום שלהם. הרעיון בפרסבל דומה – במקרה זה, אם \(f\left(x\right)\) היא פונקציה שמקיימת בלה בלה בלה אז ה"גודל" שלה בהקשר זה (שמבוסס על מושג של מכפלה פנימית במרחבי פונקציות – אמרתי שלא אוכל להרחיב מדי) הוא \(\frac{1}{\pi}\int_{-\pi}^{\pi}\left|f\left(x\right)\right|^{2}dx\). ההכנסה של פאי לתמונה אינה מקרית, כמובן; כבר אמרתי שאנליזה פורייה מתבססת על פירוק למרכיבים מחזוריים, כלומר סינוסים וקוסינוסים, שפאי משחק תפקיד חשוב במחזור שלהם. אם חושבים על המפלץ שכתבתי למעלה בתור \(c^{2}\) במשפט פיתגורס המקורי, אז זהות פרסבל נראית יחסית סבירה: \(\frac{1}{\pi}\int_{-\pi}^{\pi}\left|f\left(x\right)\right|^{2}dx=\left|a_{0}\right|^{2}+\sum_{n=1}^{\infty}\left|a_{n}\right|^{2}+\left|b_{n}\right|^{2}\). באגף ימין יש לנו סכום של המקדמים בריבוע – פשוט הכללה של \(a^{2}+b^{2}\) של פיתגורס.

כעת, אם נתונה לנו \(f\left(x\right)\), כיצד בעצם מחושבים המקדמים \(a_{n},b_{n}\), ולמה בעצם יש שני סוגי מקדמים? התשובה היא שאם עובדים עם סינוסים וקוסינוסים, יש שני מקרים שונים: המקדמים עבור קוסינוסים מחושבים באמצעות \(a_{n}=\frac{1}{\pi}\int_{-\pi}^{\pi}f\left(x\right)\cos\left(nx\right)dx\) כאשר \(n\ge0\), והמקדמים עבור סינוסים מחושבים באמצעות \(b_{n}=\frac{1}{\pi}\int_{-\pi}^{\pi}f\left(x\right)\sin\left(nx\right)dx\) כאשר \(n\ge1\). מדוע דווקא נוסחאות אלו זו? זוהי מכפלה פנימית של \(f\left(x\right)\) עם אחת מפונקציות הבסיס של בסיס אורתונורמלי למרחב, שבמקרה הזה הן סינוס וקוסינוס (למעשה \(a_{0}\) לא מייצג לא סינוס ולא קוסינוס ויש שם התחכמות נוספת אבל זה לחלוטין לא רלוונטי במקרה שלנו אז לא אכנס לכך). אם אנחנו יודעים לבצע את החישובים הללו, שאינם קשים במיוחד, התוצאה נובעת מאליה כשאנחנו מסתכלים על טור פורייה של פונקציה פשוטה להחריד: \(f\left(x\right)=x\).

ראשית, מהו ה"גודל" של הפונקציה הזו? \(\frac{1}{\pi}\int_{-\pi}^{\pi}\left|f\left(x\right)\right|^{2}dx=\frac{1}{\pi}\int_{-\pi}^{\pi}x^{2}dx=\frac{1}{2\pi}\left[\frac{x^{3}}{3}\right]_{-\pi}^{\pi}=\frac{1}{\pi}\frac{\pi^{3}-\left(-\pi^{3}\right)}{3}=\frac{2\pi^{3}}{3\pi}=2\frac{\pi^{2}}{3}\). כאמור, זהו חישוב פשוט מאוד עבור מי שמכיר אינטגרלים.

כעת, מהם המקדים של טור הפורייה? המקדמים \(a_{n}\) הם פשוטים למדי: אפס. זאת מכיוון ש-\(a_{n}=\frac{1}{\pi}\int_{-\pi}^{\pi}x\cos\left(nx\right)dx\), כלומר אינטגרל של פונקציה אי זוגית (פונקציה אי זוגית היא פונקציה המקיימת \(g\left(-x\right)=-g\left(x\right)\)) על תחום סימטרי סביב ראשית הצירים (נימוק פשוט לכך שהפונקציה אי זוגית: \(x\) בבירור אי זוגית, ואנו כופלים אותה ב-\(\cos\left(nx\right)\) הזוגית).

האינטגרל עבור \(b_{n}\) מחוכם יותר ודורש תעלולי אינטגרציה סטנדרטיים – בפרט, אינטגרציה בחלקים עובדת כאן. מי שלא מצליח לעקוב אחרי החישובים, לא נורא; בשביל זה לומדים מתישהו אינטגרציה, אבל זה לא הדבר החשוב באמת כאן:

\(b_{n}=\frac{1}{\pi}\int_{-\pi}^{\pi}x\sin\left(nx\right)dx=\frac{1}{\pi}\left[-\frac{x\cos\left(nx\right)}{n}\right]_{-\pi}^{\pi}+\frac{1}{\pi}\int_{-\pi}^{\pi}\cos\left(nx\right)dx\)

\(=\frac{1}{\pi}\frac{-\pi\cos\left(n\pi\right)-\pi\cos\left(-n\pi\right)}{n}+\frac{1}{\pi}\left[\frac{\sin\left(nx\right)}{n}\right]_{-\pi}^{\pi}=-\frac{-2\cos\left(n\pi\right)}{n}=2\frac{\left(-1\right)^{n+1}}{n}\)

השתמשתי כאן בלי לנמק בכל מני תכונות של סינוסים וקוסינוסים – ש-\(\sin\left(n\pi\right)=0\) לכל \(n\) (מה שכבר אמרתי) וש-\(\cos\left(n\pi\right)=\left(-1\right)^{n}\).

כעת אפשר לסיים על ידי שוויון פרסבל: \(2\frac{\pi^{2}}{3}=\sum_{n=1}^{\infty}\left|b_{n}\right|^{2}=\sum_{n=1}^{\infty}\frac{4}{n^{2}}\) ולכן על ידי חלוקת שני האגפים ב-4 מקבלים \(\sum_{n=1}^{\infty}\frac{1}{n^{2}}=\frac{\pi^{2}}{6}\). כלומר, בעיית חישוב הסכום הצטמצמה לבעיית חישוב אינטגרלים פשוטה יחסית; אך שוב, מדובר בשיטה אד-הוקית משהו, שמתבססת על כך ש"במזל"קיבלנו שהמקדמים \(b_{n}\) הם בעלי צורה כל כך נחמדה. עם זאת, השיטה אינה אד-הוקית באופן מוחלט במובן זה שאפשר לקחת את טורי הפורייה של פונקציות פשוטות רבות נוספות ולמצוא בעזרת שוויון פרסבל את סכומם.

אולי תשאלו לאיזה צורך הייתי צריך להיכנס לכל הלכלוך הטכני הזה. התשובה שלי פשוטה – אני מרגיש שבפופולריזציה של המתמטיקה, פאי זוכה לפעמים מעמד "נקי" מדי, ויותר מדי מודגש הקשר שלו למעגל (שהוא צורה "מושלמת" ולכן פאי הוא מספר "הרמוני"ושאר אווילויות); בפוסט הזה רציתי להראות את פאי בסביבה הטבעית שלו, במקומות שבהם הוא צץ הכי הרבה. עם כל כמה שהסביבה הזו מזוהמת וטכנית, אני חושב שפאי נראה הכי יפה דווקא בה ולא על כס מלכות כלשהו או על עוגה. יום פאי שמח!

עוד כמה דברים על מספרים p-אדיים

בפוסטים הקודמים הצגתי שתי דרכים, כל אחת טבעית בדרכה שלה, להגיע אל אובייקט מוזר בשם "שדה המספרים ה-p-אדיים" (לכל ראשוני \(p\) יש שדה משלו). כעת אני רוצה לתאר כמה תכונות של היצור הזה כדי להיווכח שהוא אכן מוזר, וגם מעניין למדי.

נתחיל מהנורמה ה-p-אדית. כזכור, הגדרנו אותה על מספרים טבעיים באופן הבא: \(\|a\|_{p}=\frac{1}{p^{\mbox{ord}_{p}\left(a\right)}}\) כאשר \(\mbox{ord}_{p}\left(a\right)\) הוגדר להיות החזקה הגבוהה ביותר של \(p\) שמחלקת את \(a\) (למשל \(\mbox{ord}_{3}\left(54\right)=3\) כי \(3^{3}\) מחלק את 54 אבל לא \(3^{4}\)). ההרחבה שלה למספרים רציונליים (ואחר כך לגבולות של סדרות של מספרים רציונליים) מתבצעת באופן "טבעי" כדי לשמור על התכונות הרצויות של נורמה (כפליות ורציפות). כזכור, אחת הדרישות שלנו מנורמה הייתה קיום סוג של אי שוויון המשולש: \(\|a+b\|_{p}\le\|a\|_{p}+\|b\|_{p}\). מסתבר שהנורמה ה-p-אדית מקיימת תכונה זו בצורה חזקה למדי. החשבון די פשוט: אם \(p^{n}\) מחלק את \(a\) ו-\(p^{m}\) מחלק את \(b\), ונניח ש-\(n<m\), אז \(p^{n}\) מחלק את \(a+b\), ולכן \(\|a+b\|_{p}\le\frac{1}{p^{n}}\) (ייתכן שאת \(a+b\) מחלקת חזקה גדולה יותר של \(p\), אבל אז הנורמה תהיה קטנה יותר מ-\(\frac{1}{p^{n}}\)). באופן כללי ניתן לתאר את האבחנה הזו כך: \(\|a+b\|_{p}\le\max\left\{ \|a\|_{p},\|b\|_{p}\right\} \). כלומר, הנורמה של סכום אינה יכולה להיות גדולה יותר מכל אחת מהנורמות של המחוברים (הסבירו לעצמכם מדוע תכונה זו גוררת מייד את אי שוויון המשולש "הרגיל"). לנורמות שמקיימות תכונה זו קוראים "נורמות לא ארכימדיות". זה תרגיל לא קשה במיוחד להראות גם כשמרחיבים את הנורמה על כל הרציונליים התכונה הזו נשמרת.

כזכור, השתמשנו בנורמות כדי להגדיר מטריקות – פונקציות מרחק, באופן הבא: \(d\left(a,b\right)=\|a-b\|\). בלשון מטריקות, תכונת הלא-ארכימדיות מתורגמת באופן הבא: לכל \(x,y\) ו"נקודת ביניים" \(z\) מתקיים \(d\left(x,y\right)\le\max\left\{ d\left(x,z\right),d\left(z,y\right)\right\} \). במילים אחרות – אם פעם כל מה שאמרנו הוא שהדרך הישירה מ-\(x\) אל \(y\) היא יותר קצרה מכל טיול שעובר בנקודת ביניים \(z\), עכשיו אנחנו אומרים שהיא יותר קצרה אפילו מ"חצי טיול" שכזה! (כמובן שזה לא תיאור מדויק של מה שהולך שם). ההשלכה הראשונה של התכונה הזו היא שכל משולש בעולם שלנו הוא שווה שוקיים: נניח ש-\(a,b,c\) הן שלוש נקודות במרחב. אם \(d\left(a,b\right)=d\left(a,c\right)\) אז המשולש שהן קודקודיו הוא שווה שוקיים על פי הגדרה; לכן נניח ש-\(d\left(a,b\right)\ne d\left(a,c\right)\) ובפרט, בלי הגבלת הכלליות, אפשר להניח ש-\(d\left(a,b\right)>d\left(a,c\right)\) כעת, מהי \(d\left(b,c\right)\)? אנו יודעים כי \(d\left(b,c\right)\le\max\left\{ d\left(a,b\right),d\left(a,c\right)\right\} =d\left(a,b\right)\). מצד שני, \(d\left(a,b\right)\le\max\left\{ d\left(a,c\right),d\left(b,c\right)\right\} \), ומכיוון שידוע לנו שלא מתקיים \(d\left(a,b\right)\le d\left(a,c\right)\) אז בהכרח \(d\left(a,b\right)\le d\left(b,c\right)\). קיבלנו שכל אחד מהמספרים הללו קטן או שווה מהשני ולכן \(d\left(a,b\right)=d\left(b,c\right)\) – משולש שווה שוקיים.

בואו נעבור לתופעה משעשעת נוספת: ניקח נקודה \(a\) ומרחק \(r\in\mathbb{R}\) כלשהו, ונתבונן בקבוצה \(B\left(a,r\right)=\left\{ x|d\left(a,b\right)<r\right\} \) – לקבוצה הזו קוראים "הכדור הפתוח ברדיוס \(r\) סביב \(a\)" כעת בואו ניקח נקודה \(x\in B\left(a,r\right)\) כלשהי ונתבונן בכדור הפתוח ברדיוס \(r\) סביבה. את מה הוא מכיל? אם \(x\in B\left(a,r\right)\) אז \(d\left(a,x\right)<r\). מצד שני, \(d\left(b,x\right)\le\max\left\{ d\left(a,x\right),d\left(a,b\right)\right\} <r\) (כי שני האיברים שעליהם נלקח המקסימום קטנים מ-\(r\)) ולכן \(x\in B\left(b,r\right)\), כלומר \(B\left(a,r\right)\subseteq B\left(b,r\right)\). מאותו שיקול בדיוק \(B\left(b,r\right)\subseteq B\left(a,r\right)\), ולכן \(B\left(a,r\right)=B\left(b,r\right)\). מסקנה: לכל כדור פתוח מתקיימת התכונה שכל נקודה בתוכו יכולה לשמש בתור ה"מרכז" שלו!

הנה עוד תכונה מפתיעה של ה-p-אדיים שנוגעת לאנליזה בהם. תזכורת מהממשיים: הטור \(\sum_{n=1}^{\infty}\frac{1}{n}\) – "הטור ההרמוני" – הוא הדוגמה ה"קלאסית" לטור לא מתכנס (אפשר להראות שהוא גדל בערך באותו קצב כמו \(\ln n\) ככל שמחברים לו איברים). זו דוגמת נגד פשוטה לטענה שטור מתכנס אם האיבר הכללי שלו שואף לאפס – טענה שמייד חושבים עליה כששומעים לראשונה על כך שזהו תנאי הכרחי לכך שטור יתכנס. במחשבה נוספת, זה קריטריון שהוא כמעט טוב מכדי להיות אמיתי; ובמקומו יש המוני מבחני התכנסות שונים ומשונים.

ובכן, במספרים p-אדיים מה שטוב מכדי להיות אמיתי הוא אמיתי. הסיבה לכך היא פשוטה ביותר – שוב, תכונת הלא-ארכימדיות של הנורמה ה-p-אדית. אם אנו לוקחים שני סכומים חלקיים של הטור \(\sum a_{n}\), נאמר \(S_{n}=\sum_{i=1}^{n}a_{i}\) ו-\(S_{m}=\sum_{i=1}^{m}a_{i}\) כש-\(n>m\), אז מקבלים שגודל ההפרש ביניהם מקיים \(\|S_{n}-S_{m}\|_{p}=\|a_{m+1}+\dots+a_{n}\|_{p}\le\max\left\{ \|a_{m+1}\|_{p},\dots,\|a_{n}\|_{p}\right\} \), ומכאן הוכחה שסדרת הסכומים החלקיים היא סדרת קושי היא תרגיל סטנדרטי בחדו"א.

נעבור כעת לתיאור של המספרים ה-p-אדיים שהוא שונה מהתיאורים שנתתי עד כה ונותן ככל הנראה את האינטואיציה הטובה ביותר לגבי האופן שבו הם "נראים" ואיך שחשבון מבוצע בהם. לפני כן, הבה נזכר איך כותבים מספרים ממשיים "רגילים": כשאנו כותבים מספר כמו 123 בבסיס עשרוני, אנו מתכוונים למספר \(1\cdot10^{2}+2\cdot10^{1}+3\cdot10^{0}\). כלומר, יש לנו סכום של חזקות של 10, כשהמקדם של כל חזקה הוא ספרה של המספר שלנו. ספרות שאחרי הנקודה מציינות חזקות שליליות: כך למשל 10.1 הוא המספר \(1\cdot10^{1}+0\cdot10^{0}+1\cdot10^{-1}\). מספר ממשי יכול להיכתב כשיש אינסוף ספרות מימין לנקודה; כך למשל \(0.333\dots\) מייצג את המספר \(3\cdot10^{-1}+3\cdot10^{-2}+\dots\), שניתן גם לכתוב באופן מקוצר בתור \(\sum_{n=1}^{\infty}\frac{3}{10^{n}}\), וחישוב שמשתמש בנוסחת הסכום של טור הנדסי יראה כי זהו אכן המספר \(\frac{1}{3}\) הישן והטוב. בדומה מקבלים גם כי \(0.999\dots\) הוא בעצם 1.

נחזור למספרים p-אדיים. כזכור, ההגדרה ה"אלגברית" שלי עבור שלמים p-אדיים הייתה בתור סדרה \(a_{1},a_{2},\dots\) של מספרים טבעיים כך ש-\(a_{n+1}\equiv a_{n}\left(\mbox{mod }p^{n}\right)\). מבחינה אינטואיטיבית נכון לחשוב על זה בתור "סדרת קירובים" למספר, כמו ש-\(1,1.4,1.41,1.414,\dots\) היא סדרת קירובים לשורש הממשי של 2. ניתן להראות (באופן מעט טכני אבל ממש לא מסובך) שעבור כל שלם p-אדי \(\alpha\) ניתן לבחור סדרה "קנונית" שדומה לסדרת הקירובים של שורש מבחינת גדלי האיברים בה – האיבר \(a_{n}\) יהיה מספר טבעי ששקול ל-\(\alpha\) מודולו \(p^{n}\) בטווח \(0,\dots,p^{n}-1\). אנו רוצים לומר משהו בסגנון "\(a_{n+1}\) הוא כמו \(a_{n}\) רק עם ספרה אחת נוספת"; כדי שזה יעבוד, צריך להציג את המספרים לא בבסיס 10 אלא בבסיס \(p\). כלומר, כותבים \(a_{n}=b_{0}\cdot p^{0}+b_{1}\cdot p^{1}+\dots+b_{n-1}p^{n-1}\) כשכל "ספרה" \(b_{i}\) היא מספר בין \(0\) ל-\(p-1\); ומכיוון ש-\(a_{n+1}\equiv a_{n}\left(\mbox{mod }p^{n}\right)\) נובע חיש קל ש-\(a_{n+1}=b_{0}p^{0}+\dots+b_{n-1}p^{n-1}+b_{n}p^{n}\) כך ש-\(b_{0},\dots,b_{n-1}\) זהים לאלו שהיו ב-\(a_{n}\), ו-\(b_{n}\) היא "הספרה החדשה". כעת אפשר לייצג את \(\alpha\) באופן הבא: \(\alpha=b_{0}p^{0}+b_{1}p^{1}+\dots\), כלומר על ידי סדרת הספרות האינסופית \(b_{0},b_{1},\dots\).

דוגמה פשוטה: המספר "שבע עשרה" יוצג בבסיס \(p\) כאשר \(p=7\) בתור \(23\) (כי הוא שווה ל-\(2\cdot7^{1}+3\cdot7^{0}\)). במקרה הזה הסדרה שלנו היא \(b_{0}=3,b_{1}=2,b_{2}=0,\dots\) וכן הלאה – כל הספרות החל מה-2 הן אפס ולכן לא כותבים אותן במפורש. לכל מספר טבעי זה יקרה – החל ממקום מסויים כל הספרות יהיו אפס ובינתיים לא קרה שום דבר מעניין.

אבל כעת הבה ונגדיר מספר \(\alpha\) באמצעות הסדרה \(a_{n}=1+p+\dots+p^{n}\). קל לבדוק שזוהי אכן סדרה חוקית שמקיימת את התנאי שאנו דורשים, ובמקרה הזה נקבל את סדרת הספרות \(b_{n}=1\) לכל \(n\). כלומר, המספר שלנו נכתב כך: \(\dots111\). במילים אחרות, זהו מספר בעל פיתוח אינסופי לשמאל, במקום לימין. אין כאן בעיה רעיונית שכן הטור \(\sum_{n=0}^{\infty}p^{n}\) שמגדיר את המספר הוא טור מתכנס במספרים p-אדיים (כי \(p^{n}\) הוא קטן יותר על פי הנורמה ה-p-אדית ככל ש-\(n\) גדול יותר; להוכחה פורמלית של התכנסות הטור אפשר להראות שסדרת הסכומים החלקיים היא סדרת קושי).

איך עובד חשבון במספרים p-אדיים? בדיוק כמו חשבון "רגיל" – ספרה ספרה. כך למשל \(\dots111+\dots111=\dots222\). לדוגמה יותר מעניינת הבה נניח ש-\(p=3\) ונתבונן במכפלה \(\dots1112\cdot2\). אם נכפול את שני המספרים בשיטת בית הספר נגלה שהתבנית קבועה – כפול של \(2\) ב-\(2\) נותן \(4\), ומאחר ואנו בבסיס \(p=3\) אז התוצאה היא הספרה \(1\) ועוד יתרה של \(1\) שאותה "מעבירים הלאה" למכפלה הבאה; ומכאן ואילך נקבל \(2\cdot1+1=3\), שמתורגם לספרה 0 ועוד יתרה של 1, ואותה יתרה תביא לכך שגם בהכפלת \(2\) ב-\(1\) הבא בתור נקבל ספרה 0 ויתרה 1, וכו' וכו' עד אינסוף – היתרה "נדחקת לאינסוף" עד שהיא "נעלמת" ואנו מקבלים שתוצאת הכפל היא \(1\) (או יותר מדוייק, \(\dots0001\)). במילים אחרות, \(\dots1112\) הוא ההופכי של \(2\) בחוג השלמים ה-3-אדיים – האיבר המקביל לחצי בשדה המספרים הרציונליים ה"רגילים" (תרגיל למתקדמים: להראות ש-\(\dots1112\) אכן זהה למספר \(\frac{1}{2}\), כשבונים את ה-3-אדיים באמצעות סדרות קושי של מספרים רציונליים – כלומר, שהסדרה הקבועה \(\frac{1}{2},\frac{1}{2},\dots\) והסדרה שמגדירה את \(\dots1112\) מתכנסות לאותו גבול – או במילים אחרות, ההפרש ביניהן שואף לאפס).

עד כה דיברתי על שלמים p-אדיים (וכפי שראינו, מכיוון שגם חצי הוא שלם 3-אדי, המילה "שלם" כאן היא במובן רחב יותר מזה ה"רגיל"). מספרים p-אדיים כלליים ניתנים לתיאור בתור \(p^{n}\varepsilon\) כאשר \(\varepsilon\) הוא שלם p-אדי הפיך, ומכך נובע שההצגה ה"כללית" של מספרים p-אדיים היא בתור ביטוי בבסיס \(p\) שיכול להכיל אינסוף ספרות משמאל לנקודה, אבל רק מספר סופי מימין לה. למשל \(\dots1112.12121\). שימו לב להיפוך – במספרים ממשיים אינסוף הספרות היו מימין לנקודה. שוב, ההבדל נובע מכך שבמספרים ממשיים, הספרות שמימין לנקודה ייצגו מספרים שהגודל שלהם (הנורמה שלהם) הלך וקטן; במספרים p-אדיים הגודל הולך וקטן דווקא כשהולכים שמאלה.

מבלבל? לא אינטואיטיבי? בהחלט. ולכן זה גם מרתק כל כך. הסיבה שדחיתי את הצגת התיאור הזה לשלב הזה של העיסוק ב-p-אדיים (למרות שאפשר להתחיל ממנו) היא שהיה חשוב לי להדגיש שהמספרים הללו, על אופן התיאור הלא אינטואיטיבי והמפתיע הזה שלהם, נובעים בצורה טבעית לחלוטין. הדבר משול להליכה בפארק טבע חדש – יתגלו בו לבטח צמחים משונים ומוזרים, אך לא יהיה ספק בכך שהם תוצר של הטבע ולא מעשה ידי אדם. זהו גם סוג ההרפתקאה שאליה יוצא המתמטיקאי.

מספרים p-אדיים – בניה "אנליטית"

בפוסט הקודם הצגתי דרך "אלגברית" לבניית שדה המספרים ה-p-אדיים. הפעם אני רוצה להציג דרך שונה לחלוטין שמביאה בדיוק לאותה תוצאה, ונתחיל במוטיבציה – בניית המספרים הממשיים מתוך המספרים הרציונליים. יש שתי בניות מפורסמות לממשיים: האחת, של דדקינד, מסתמכת על כך שקיים ברציונליים יחס סדר, כלומר אפשר לדבר על \(a<b\). דדקינד משתמש במושג הסדר כדי ליצור אובייקטים חדשים – "חתכים", כך שכל מספר ממשי מיוצג על ידי קבוצת כל המספרים הרציונליים שקטנים ממנו או שווים לו. זוהי בנייה יפה עם הכללות יפות ואני ממש לא רוצה לדבר עליה הפעם.

הבניה השניה היא של קנטור. קנטור מסתמך על כך שקיים ברציונליים מושג של מרחק. המרחק בין \(a,b\) מוגדר בתור \(d\left(a,b\right)=\left|a-b\right|\), ומרגע שיש לנו פונקצית מרחק שכזו אפשר להגדיר באמצעותה את המושג של סדרת קושי – סדרה שהמרחק בין איבריה הולך וקטן לאפס, ובניסוח מתמטי פורמלי, לכל \(\varepsilon>0\) קיים מקום בסדרה, \(N\), כך שלכל \(n,m>N\) מתקיים \(d\left(a_{n},a_{m}\right)<\varepsilon\). האינטואיציה שמאחורי ההגדרה היא שכל סדרה מתכנסת (שאבריה מתקרבים עוד ועוד עד לנקודה אחת מובחנת, ה"גבול" של הסדרה) מהווה סדרת קושי; ולכן אם ההפך אינו נכון וקיימות סדרות קושי שאינן מתכנסות, טבעי לנסות ו"להשלים" את המרחב שלנו על ידי זיהוי הנקודות שבו עם אוסף סדרות הקושי שמתכנסות אליהן.

כל זה נשמע מבלבל מאוד, עד שמגיעים לשורה התחתונה. איך מיוצג המספר 1? באמצעות הסדרה \(\left(1,1,1,\dots\right)\) (מדוע זו סדרת קושי?) ובאופן דומה מיוצג כל מספר רציונלי. ואיך מיוצג מספר אי רציונלי כמו \(\sqrt{2}\) באמצעות סדרת מספרים רציונליים? ובכן, כבר הראיתי דוגמה בפוסט הקודם: למשל, הסדרה \(\left(1,1.4,1.41,\dots\right)\). כלומר, סדרה שבה כל איבר מקרב את \(\sqrt{2}\) ברמת דיוק של ספרה אחת יותר מהקודמת. הראיתי בפוסט הקודם שבסדרה הזו מתקיים \(d\left(a_{n},a_{n+1}\right)\le\frac{1}{10^{n}}\) ובעזרת קריטריון זה לא קשה להראות שמדובר בסדרת קושי.

וכעת עולה השאלה – האם ההרחבה הזו של הרציונליים היא ההרחבה האפשרית היחידה שמשתמשת בתעלול עם סדרות הקושי? התשובה נעוצה בשאלה האם ניתן להגדיר "מרחק" בצורה אחרת – ולכן, כמובן, בשאלה מהו "מרחק" בהקשר של הרציונליים. במתמטיקה קיים מושג כללי של "מרחק" שמכליל את המרחק הרגיל המוכר לנו; לפונקצית מרחק "כללית" שכזו קוראים מטריקה. פונקציה \(d:X\times X\to\mathbb{R}\) היא מטריקה אם היא מקיימת את שלוש התכונות הבאות:

  1. \(d\left(x,y\right)\ge0\) ו-\(d\left(x,y\right)=0\) אם ורק אם \(x=y\). כלומר: מרחק בין שתי נקודות הוא תמיד חיובי ממש אלא במקרה שבו שתי הנקודות זהות ואז המרחק ביניהן הוא תמיד 0.
  2. \(d\left(x,y\right)=d\left(y,x\right)\), כלומר המרחק הוא סימטרי – המרחק מ-\(x\) ל-\(y\) הוא כמו המרחק מ-\(y\) ל-\(x\) (ולכן הכי פשוט לדבר על המרחק בין \(x\) ו-\(y\)).
  3. אי שוויון המשולש: \(d\left(x,y\right)\le d\left(x,z\right)+d\left(z,y\right)\) לכל \(x,y,z\in X\). במילים: המרחק בין \(x\) ל-\(y\) הוא הקצר ביותר האפשרי; אם ננסה ללכת ב"דרך עקיפה", דרך איזו נקודת ביניים \(z\), סכום המרחקים שנלך יהיה גדול יותר.

הפאנץ' כאן הוא שכל פונקציה שמקיימת את התכונות הללו נקראת "מרחק", למרות שיש פונקציות מאוד מוזרות שממש לא מתנהגות כמו המרחק הרגיל שאנחנו מכירים. דוגמה לפונקציה שכזו היא פונקציה שנותנת 1 לכל \(x,y\) שונים זה מזה ו-0 ל-\(x=y\) – "המטריקה הדיסקרטית". קל לראות ששלוש התכונות שדרשנו מתקיימות עבורה, אבל מה ההגיון כאן? הפונקציה אומרת שהמרחק בין כל שתי נקודות ב"עולם" שלנו הוא 1; אם ה"עולם" שלנו הוא המספרים הרציונליים, הרי שפונקצית מרחק כזו מנותקת לחלוטין מהתפיסות המקובלות שלנו.

לכן אני הולך להשית עוד מגבלה על פונקצית ה"מרחק" שאדבר עליה – אדרוש שהיא תנבע ממושג כלשהו של "אורך", או במתמטית: נורמה. מה שאני הולך לתאר כאן הוא נורמה של שדות – כלומר, של קבוצות שבהן יש פעולת חיבור וכפל של איברים במרחב (ההקשר הנפוץ יותר הוא של מרחבים וקטוריים, אבל ההבדל אינו גדול עד כדי כך מבחינה רעיונית). במקום לקשקש יותר מדי פשוט אגש להגדרה: אם \(x\in\mathbb{F}\) הוא איבר בשדה מסמנים את הנורמה שלו (שהיא מספר ממשי) ב-\(\|x\|\) ודורשים שהיא תקיים תכונות שדי מזכירות את אלו של המטריקה:

  1. \(\|x\|\ge0\) ו-\(\|x\|=0\) אם ורק אם \(x=0\).
  2. \(\|x+y\|\le\|x\|+\|y\|\)
  3. \(\|xy\|=\|x\|\cdot\|y\|\)

תכונת הסימטריה של המרחק נעלמה לה כי נורמה מוגדרת רק עבור איבר בודד, אבל שתי התכונות האחרות נשתמרו באופן מסויים. התכונה השלישית מתארת את התנהגות הנורמה ביחס לפעולת הכפל – הנורמה של מכפלת איברים היא מכפלת הנורמות שלהן. הקשר למטריקות אינו מקרי: אם יש לנו נורמה, אז קל לבדוק שהפונקציה \(d\left(x,y\right)=\|x-y\|\) היא מטריקה. מה שחשוב לשים לב אליו הוא שלא כל מטריקה אפשר לקבל כך! יש מטריקות שלא ניתן לקבל באמצעות נורמות. את המטריקה הדיסקרטית ה"מטופשת" שתיארתי למעלה דווקא כן ניתן לקבל באמצעות נורמות – נגדיר \(\|0\|=0\)ו-\(\|x\|=1\) לכל \(x\ne0\). לנורמה הזו קוראים "הנורמה הטריוויאלית".

חזרה לרציונליים. אנחנו מכירים נורמה אחת עבור הרציונליים – הערך המוחלט, כלומר \(\|x\|=\left|x\right|\). האם אנחנו מכירים עוד נורמות? ובכן, למשל \(\|x\|=\sqrt{\left|x\right|}=\left|x\right|^{\frac{1}{2}}\) גם כן עובדת – נסו להוכיח זאת לעצמכם. למעשה, \(\|x\|=\left|x\right|^{\alpha}\) עבור כל \(1\ge\alpha>0\) ממשי. ויש לנו עוד קבוצה מעניינת במיוחד של נורמות שהן – אולי כבר ניחשתם – הנורמות ה-p-אדיות. אבל אני עדיין לא רוצה להציג אותן אלא לשמור אותן בסוד עד לשלב שבו הן יצוצו באופן טבעי. דווקא דברים שנראים "טבעיים" יחסית כמו \(\|x\|=\left|x\right|^{2}\) לא עובדים: \(\|1+1\|=\left|1+1\right|^{2}=4>\left|1\right|^{2}+\left|1\right|^{2}=\|1\|+\|1\|\) מראה שאי שוויון המשולש לא מתקיים עבור "נורמה" כזו.

בואו נביט שניה על שתי הנורמות \(\|x\|_{1}=\left|x\right|\) ו-\(\|x\|_{2}=\left|x\right|^{\frac{1}{2}}\). ברור שהן נותנות מושג שונה של "גודל", אבל האם הן משפיעות על מה שהיה המושג הבסיסי בדיון שלנו – סדרות קושי? כלומר, האם קיימת סדרה שנחשבת לסדרת קושי על פי הנורמה הראשונה אבל לא על פי השניה? אם שתי הנורמות מגדירות בדיוק את אותן סדרות קושי, נאמר שהן שקולות. זו לא סתם הגדרה שרירותית – אם שתי הנורמות מגדירות את אותן סדרות קושי אז כשנבצע השלמה למרחב ונוסיף לו את כל הגבולות של סדרות הקושי הלא מתכנסות שבו, נקבל בדיוק את אותה התוצאה. על פי ההגדרה הזו, די קל לראות ש-\(\|\|_{1}\) ו-\(\|\|_{2}\) הן שקולות. למי שלא מפחד מאינפי, הנה הוכחה:

ניקח סדרת קושי \(a_{1},a_{2},a_{3},\dots\) על פי הנורמה \(\|\|_{1}\); כדי להראות שהיא קושי על פי הנורמה \(\|\|_{2}\) צריך, בהינתן \(\varepsilon>0\) כלשהו, למצוא מקום בסדרה שהחל ממנו אברי הסדרה קרובים עד כדי \(\varepsilon\) על פי הנורמה \(\|\|_{2}\). לשם כך ראשית נמצא מקום \(N\) בסדרה שהחל ממנו אברי הסדרה קרובים עד כדי \(\varepsilon^{2}\) על פי \(\|\|_{1}\); כלומר, לכל \(n,m>N\) מתקיים \(\|x_{n}-x_{m}\|_{1}<\varepsilon^{2}\). כעת נוציא שורש לשני האגפים ונקבל \(\|x_{n}-x_{m}\|_{1}^{\frac{1}{2}}<\varepsilon\), כלומר \(\left|x_{n}-x_{m}\right|^{\frac{1}{2}}<\varepsilon\), כלומר \(\|x_{n}-x_{m}\|_{2}<\varepsilon\). באופן דומה מטפלים גם בכיוון השני (להראות שסדרה שהיא קושי על פי \(\|\|_{2}\) היא קושי גם על פי \(\|\|_{1}\)).

את ההוכחה הזו ניתן לבצע באותו האופן לכל \(1\ge\alpha>0\), ובכך לראות שכל הנורמות מהצורה \(\|x\|=\left|x\right|^{\alpha}\) שקולות זו לזו – וכשמשלימים את הרציונליים על פיהן, מקבלים את הממשיים. מי נותר?

ובכן, מתברר שהתנהגות הנורמות על הרציונליים נקבעות בצורה חזקה מאוד על פי ערכן על המספרים הטבעיים. עד כדי כך שניתן להוכיח כי אם קיים טבעי \(n\) כך ש-\(\|n\|>1\), אז הנורמה היא בהכרח מהצורה \(\|x\|=\left|x\right|^{\alpha}\). ההוכחה מעט טכנית ולא אכנס אליה, אך היא אינה מסובכת במיוחד. אם כן, הנורמות שנותרו הן אלו שלכל טבעי נותנות ערך לכל היותר 1. זו כבר התנהגות מוזרה – הרי אינטואיטיבית היינו מצפים שככל שהמספר הטבעי יגדל כך גם הנורמה שלו תגדל; אך זה לא נובע מהדרישות שהצבנו לנורמה.

אם כן, הבה וניקח נורמה כלשהי שמקיימת \(\|n\|\le1\) לכל \(n\) ונבין איך היא מתנהגת. אם היא איננה הנורמה הטריוויאלית שנותנת 1 לכל טבעי, אז קיים \(n_{0}\) קטן ביותר עבורו \(\|n_{0}\|<1\), ואותו \(n_{0}\) חייב להיות ראשוני; כי אחרת קיימים שני טבעיים \(a,b<n_{0}\) (ומכיוון שהם קטנים יותר מ-\(n_{0}\) הנורמה שלהם היא 1, כי \(n_{0}\) המינימלי שעבורו זה לא כך) כך ש-\(1=\|a\|\cdot\|b\|=\|ab\|=\|n_{0}\|<1\) – סתירה. שימו לב שכאן השתמשנו בכפליות הנורמה – כלומר, עבור פונקצית מרחק "סתם" ההוכחה נשברת כבר בשלב זה. מכיוון ש-\(n_{0}\) הוא ראשוני, אסמן אותו מעתה בתור \(p\).

השלב הבא הוא להבין איך הנורמה מתנהגת על כל המספרים הטבעיים. הדרך לחקור את כל הטבעיים עוברת לעתים קרובות דרך כל הראשוניים, וכאן נעשה אותו הדבר: ניקח ראשוני \(q\ne p\) ונשאל את עצמנו מהי \(\|q\|\). היעד שלי הוא להראות ש-\(\|q\|=1\), והדרך לכך עוברת בשילוב חביב של אנליזה ותורת המספרים. ראשית, משפט בסיסי בתורת המספרים אומר שאם \(x,y\) שני מספרים שלמים הזרים זה לזה (אין להם מחלק משותף הגדול מ-1) אז קיימים שני מספרים שלמים \(a,b\) כך ש-\(ax+by=1\) (באופן כללי יותר – תמיד ניתן לכתוב את המחלק המשותף המקסימלי של שני מספרים כצירוף לינארי בשלמים שלהם). כעת נשתמש בתעלול אנליטי סטנדרטי. נניח ש-\(\|q\|<1\), אז קיים \(n\) שעבורו \(\|p\|^{n}<\frac{1}{2}\) וגם \(\|q\|^{n}<\frac{1}{2}\) (כי אם \(0<t<1\) אז ככל שמעלים אותו בחזקה גבוהה יותר כך הוא מתקרב יותר ויותר לאפס). עכשיו נשלב את שני אלו לקבלת סתירה:

\(1 = \|1\|=\|ap^{n}+bq^{n}\|\le\|a\|\cdot\|p\|^{n}+\|b\|\cdot\|q\|^{n}<\frac{1}{2}+\frac{1}{2}=1\)

כאן השתמשנו גם בכפליות הנורמה וגם באי שוויון המשולש, וכמובן גם בכך ש-\(p^{n},q^{n}\) זרים (כי הם חזקות של ראשוניים שונים – אם במקום \(q\) היינו לוקחים מספר טבעי "כלשהו" זה לא היה עובד).

מסקנה: \(\|q\|=1\) לכל ראשוני שונה מ-\(p\). מכאן אנחנו מסוגלים להסיק את הערך של הנורמה על כל מספר טבעי \(a\): נכתוב את \(a\) בתור \(a=p^{k}\cdot\prod q_{i}^{k_{i}}\) (\(k\) יכול להיות גם אפס), ואז מכפליות הנורמה נקבל \(\|a\|=\|p\|^{k}\cdot\prod\|q_{i}\|^{k_{i}}=\|p\|^{k}\). בואו נסמן את \(\|p\|\) בתור \(\rho\) ונשתמש בסימון המוזר \(k=\mbox{ord}_{p}\left(a\right)\) כדי לסמן את החזקה הגבוהה ביותר של \(p\) שמחלקת את \(a\); אז קיבלנו ש-\(\|a\|=\rho^{\mbox{ord}_{p}\left(a\right)}\). מכאן ההכללה עבור מספרים רציונליים היא קלה: מתכונת הכפליות של הנורמה עולה שבהכרח \(\|\frac{1}{b}\|=\frac{1}{\|b\|}\), ולכן \(\|\frac{a}{b}\|=\frac{\|a\|}{\|b\|}=\frac{\rho^{\mbox{ord}_{p}\left(a\right)}}{\rho^{\mbox{ord}_{p}\left(b\right)}}=\rho^{\mbox{ord}_{p}\left(a\right)-\mbox{ord}_{p}\left(b\right)}\) (שימו לב שעבור מספרים רציונליים הנורמה עשויה לתת ערכים גדולים מ-1).

ובכן, זוהי הנורמה ה-p-אדית המדוברת. מכיוון ש-\(\rho<1\), היא בעלת התכונה שככל ש-\(a\) מתחלק על ידי חזקה גדולה יותר של \(p\), כך הנורמה שלו קטנה יותר. כדי להבין עד כמה זה מוזר, שימו לב ש-\(\|n!\|\to0\) על פי הגדרת הנורמה הזו. למעשה, עוד לא סיימתי כי לא ברור מיהו \(\rho\), אלא שזה לא משנה: אפשר להראות שעבור כל שני ערכי \(0<\rho_{1},\rho_{2}<1\) הנורמה שנקבל על ידי ההגדרה שלעיל תהיה זהה – הדבר היחיד שמשנה הוא \(p\). לכן כשמגדירים את הנורמה באופן מסודר נוהגים לבחור \(\rho=\frac{1}{p}\) (זו אינה בחירה שרירותית לגמרי – יש בה הגיון "אסתטי" כלשהו שאציג בפוסט הבא).

לסיכום: מה שהראיתי (שמכונה "משפט אוסטרובסקי") הוא שמעל \(\mathbb{Q}\) קיימות, עד כדי שקילות, רק נורמת הערך המוחלט, הנורמה הטריוויאלית והנורמה ה-p-אדית לכל ראשוני \(p\). מכאן שההשלמות האפשריות השונות של \(\mathbb{Q}\) (עבור מטריקות שמושרות מנורמות) הן רק הממשיים (על ידי הערך המוחלט), ההשלמה הטריוויאלית והלא מעניינת שנותנת הנורמה הטריוויאלית, וההשלמות ה-p-אדיות, \(\mathbb{Q}_{p}\), שהם בדיוק – אבל בדיוק – השדות שתיארתי בפוסט הקודם. בפוסט הבא אציג כמה תכונות משעשעות של הנורמה ה-p-אדית שהופכות את האנליזה במספרים p-אדיים למעניינת.

אז מהו שדה המספרים ה-p-אדיים?

בפוסט הקודם דיברתי על משוואות דיופנטיות, והפעם אגש ישר לעניין. נניח שמבקשים מאיתנו לפתור את המשוואה \(x^{2}\equiv2\left(\mbox{mod }7\right)\). אפשר לשאול למה בכלל ידוע שיש למשוואה הזו פתרון, ואפשר לדבר על דרכים כלליות לפתור אותה, אבל לא אכנס לכך כרגע – רק אעיר שבגלל ש-\(7\) ראשוני, יש דרכים שיטתיות לעשות זאת – אריתמטיקה מודולרית היא פשוטה יותר כשאנחנו מודולו מספר ראשוני. במקרה שלנו אפשר לראות ששני הפתרונות (כשאנחנו מגבילים את עצמנו לתחום \(0,\dots,6\), שכל מספר שלם אחר שקול לאיבר מתוכו מודולו 7) הם \(x=3,4\) (אין זה מקרה ש-\(3+4=7\); אפשר לחשוב על \(4\) גם בתור \(-3\), ולכן כשמעלים אותו בריבוע מקבלים אותו דבר כמו \(3\) בריבוע).
האתגר הבא שלנו, כפי שכתבתי בפוסט הקודם, הוא לפתור את המשוואה מודולו \(7^{n}\), עבור כל \(n\ge2\). אם אצליח למצוא שיטה כללית לעשות זאת (ולא רק עבור 7 אלא עבור כל ראשוני), אוכל להשתמש במשפט השאריות הסיני כדי לפתור כל משוואה מודולו כל מספר שלם.
אם כן, נתחיל מלנסות ולפתור את המשוואה מודולו \(7^{2}\). האבחנה הראשונה היא שאם \(a^{2}\equiv2\left(\mbox{mod }7^{2}\right)\), אז \(a\equiv3,4\left(\mbox{mod 7}\right)\) – כלומר, מודולו 7, \(a\) נראה בדיוק כמו אחד הפתרונות של המשוואה המקורית. מדוע? כי אם \(a^{2}\equiv2\left(\mbox{mod }7^{2}\right)\) אז המשמעות של כך, ממש מן ההגדרה, היא \(7^{2}|a^{2}-2\), כלומר \(7^{2}\) מחלק את ההפרש בין \(a^{2}\) ובין 2, כשחושבים על שניהם כמספרים שלמים. אם \(7^{2}\) מחלק את ההפרש, ודאי שגם \(7\) מחלק את ההפרש, ולכן \(a^{2}\equiv2\left(\mbox{mod }7\right)\), כלומר מודולו 7 \(a\) הוא אחד מהפתרונות של המשוואה המקורית, וכבר אמרנו שהם \(3,4\).
אם כן, בואו נחפש את כל הפתרונות ששקולים ל-3 מודולו 7. אפשר לומר שהצורה הכללית של פתרון \(a\) שכזה היא \(a=3+7\cdot k\), כאשר \(k\) הוא מספר שלם כלשהו. בואו נציב את זה למשוואה המקורית ונראה מה קורה: \(2\equiv a^{2}\equiv\left(3+7k\right)^{2}\equiv3^{2}+14bk+7^{2}k^{2}\equiv9+14\cdot3k\left(\mbox{mod }7^{2}\right)\) (\(7^{2}k\) נעלם כשלוקחים את הכל מודולו \(7^{2}\)). אחרי העברת אגפים נקבל ש-\(7+14\cdot3k\equiv0\left(\mbox{mod }7^{2}\right)\), כלומר \(7^{2}|7+14\cdot3k\); אבל אפשר להוציא מאגף שמאל את הגורם המשותף 7, ולכן נקבל ש-\(7|1+6k\), או \(1+6k\equiv0\left(\mbox{mod 7}\right)\), וממשוואה זו קל לחלץ את \(k\): \(k\equiv1\left(\mbox{mod }7\right)\). אם כן, איזה פתרון חדש קיבלנו? את \(a=3+7=10\) (עבור הערך הבא של \(k\), \(k=8\), נקבל \(a=3+7\cdot8=59\equiv10\left(\mbox{mod }7^{2}\right)\)). השיטה שלנו עבדה.
אפשר מן הסתם להמשיך עם השיטה הזו עוד, ועוד, ועוד, כשעל כל פתרון ישן אנחנו מקבלים פתרון חדש. בואו ננסה לתאר את זה בצורה מסודרת: התחלנו ממספר \(a_{1}\) שמקיים \(a_{1}^{2}\equiv2\left(\mbox{mod 7}\right)\), ובנינו ממנו מספר \(a_{2}\) שמקיים \(a_{2}^{2}\equiv2\left(\mbox{mod }7^{2}\right)\); ואותו מספר קיים בנוסף ש-\(a_{2}\equiv a_{1}\left(\mbox{mod }7\right)\). באופן כללי, בהינתן \(a_{n}\) שמקיים \(a_{n}^{2}\equiv2\left(\mbox{mod 7}^{n}\right)\), אפשר לבנות \(a_{n+1}\) שמקיים \(a_{n+1}^{2}\equiv2\left(\mbox{mod 7}^{n+1}\right)\), ובנוסף לכך \(a_{n+1}\equiv a_{n}\left(\mbox{mod }7^{n}\right)\). אפשר לחשוב על המידע על אוסף הפתרונות הזה כאילו הוא מקודד בתור סדרה, \(a_{1},a_{2},\dots\).
הבה ונעבור לרגע לדון במשוואה \(x^{2}=2\) מעל המספרים הממשיים. הפתרון של המשוואה ניתן לכתיבה בתור \(\sqrt{2}=1.4142\dots\), כשהנקודות מציינות שהספרות ממשיכות וממשיכות עד אין קץ, ובלי שתהיה בהן מחזוריות קבועה – זו המשמעות של היות \(\sqrt{2}\) אי רציונלי. המספר שאנחנו כותבים בפועל הוא פשוט קירוב רציונלי ל-\(\sqrt{2}\) האי רציונלי. הבה ונכתוב את האיברים הראשונים בקירוב:
\(b_{0}=1,b_{1}=1.4,b_{2}=1.41,b_{3}=1.414,b_{4}=1.4142\) וכן הלאה (התחלתי הפעם את המספור מ-0 לצורכי נוחות שיתבררו בקרוב).
אם נעלה את \(b_{4}\) בריבוע, נקבל את המספר המגוחך \(1.99996164\). ההפרש בינו לבין 2 הוא \(0.00003836\dots\) – הפרש פצפון. ככל שנתקדם עוד יותר בסדרה נקבל הפרשים עוד יותר קטנים. כלומר, המרחק שבין אברי \(b_{n}\) ובין 2 הולך ושואף לאפס. נהוג לסמן זאת \(\lim_{n\to\infty}\left|2-b_{n}^{2}\right|=0\), ובקיצור: \(\lim_{n\to\infty}b_{n}^{2}=2\). על בסיס הרעיון הזה טבעי להגדיר את \(\sqrt{2}\) מלכתחילה בתור גבול הסדרה \(\lim_{n\to\infty}b_{n}\). זה כמובן מעלה את התמיהה מדוע צריך "להגדיר את \(\sqrt{2}\)" – האם הוא לא היה קיים מאז ומעולם? ובכן, תלוי בגישה שלנו לחיים; אם כל מי שאנחנו מכירים כרגע הוא מספרים רציונליים (שנבנו באופן מסודר מהשלמים, שנבנו באופן מסודר מהטבעיים, שאותם קיבלנו מאלוהים), אז לא – עדיין אין לנו בנמצא מספרים אי רציונליים ויש להגדיר אותם.
שימו לב לתכונה מעניינת נוספת של סדרת הקירובים \(a_{n}\). ההפרש בין שני איברים סמוכים מקיים \(\left|b_{n+1}-b_{n}\right|\le10^{-n}\), כלומר אם נחסר שני איברים סמוכים זה מזה, נקבל מספר עם הרבה אפסים בהתחלה (\(n+1\) במספר). אפשר לומר ששני המספרים הללו קרובים זה לזה עד כדי חזקה קטנה של \(n\).
אם כן, נסכם: אפשר לחשוב על \(\sqrt{2}\) כאילו הוא מקודד סדרה של קירובים הולכים ומשתפרים עבור פתרון למשוואה \(b^{2}=2\), כשהדרך שבה אנחנו מודדים קרבה היא על ידי הערך המוחלט של ההפרש. הסדרה הזו מקיימת את התכונות ש-\(\left|b_{n}^{2}-2\right|\le10^{-n}\) ובנוסף \(\left|b_{n+1}-b_{n}\right|\le10^{-n}\). נראה מוכר?
הפאנץ' הוא שגם על סדרת המספרים שהצגתי קודם, זו שמקיימת \(a_{n}^{2}\equiv2\left(\mbox{mod }7^{n}\right)\) ו-\(a_{n+1}\equiv a_{n}\left(\mbox{mod }7^{n}\right)\) אפשר לחשוב בתור "סדרת קירובים שהולכים ומשתפרים" לפתרון של המשוואה \(x^{2}\equiv2\) מודולו חזקות הולכות וגדלות של 7. יש הגיון רב בגישה הזו: הרי אם \(a_{n}^{2}\equiv2\left(\mbox{mod }7^{n}\right)\), אז גם \(a_{n}^{2}\equiv2\left(\mbox{mod }7^{k}\right)\) לכל \(k<n\) (מאותו נימוק שנתתי קודם, כי \(7^{k}\) מחלק את \(7^{n}\) ולכן מחלק כל מה שמתחלק על ידי \(7^{n}\)), ולכן הפתרון \(a_{n}\) איכשהו כבר מקודד את כל הפתרונות הקודמים, בדומה לאופן שבו \(1.4142\) מקודד את כל הקירובים הקודמים של שורש 2. מן הסתם הסדרה \(a_{n}\) הזו לא נגמרת לעולם, כשם שסדרת הקירובים הרציונליים של \(\sqrt{2}\) שהצגתי לא נגמרת לעולם; אבל אם אפשר לחשוב על "מספר" ממשי, שאפילו מסומן בתור \(\sqrt{2}\), שמייצג את סדרת הקירובים הרציונליים כולה, למה לא לחשוב על מספר שמהווה גבול לסדרה \(a_{n}\) שלנו? אפשר להגדיר מספרים כאלו בדיוק באותו האופן שבו הגדרנו את המספרים הממשיים. ובכן, התשובה לשאלה "למה לא" היא פשוטה – אין סיבה לא לעשות זאת, ואכן עושים זאת, ולתוצאה, במקרה זה, קוראים מספרים \(7\)-אדיים.
מכיוון שכל הדיון הזה עסק במשוואה ספציפית, \(x^{2}\equiv2\left(\mbox{mod }7^{n}\right)\), התמונה הגדולה קצת התפספסה – מה התכונה המאפיינת של \(a_{n}\) שאינה קשורה למשוואה שאותה \(a_{n}\) באה לנסות ולפתור? ובכן, שמתקיים \(a_{n+1}\equiv a_{n}\left(\mbox{mod }7^{n}\right)\). אם כן, זה כל מה שנדרוש. הבה ונגדיר זאת פורמלית: שלם \(7\)-אדי הוא סדרה \(\left(a_{1},a_{2},\dots\right)\) שאבריה מקיימים \(a_{n+1}\equiv a_{n}\left(\mbox{mod }7^{n}\right)\). ובאופן כללי: סדרה שאבריה מקיימים \(a_{n+1}\equiv a_{n}\left(\mbox{mod }p^{n}\right)\) עבור ראשוני \(p\) כלשהו נקראת שלם p-אדי.
שימו לב שקראתי ליצור שהתקבל שלם p-אדי, ולא "מספר" p-אדי. הסיבה לכך היא שעדיין לא הגענו לסוף הסיפור. מן הסתם קבוצה של מספרים איננה מעניינת כל כך לכשעצמה – ברגע שמוגדרות עליה פעולות חשבון היא נהיית מעניינת יותר. הגדרת חיבור וכפל על השלמים ה-p-אדיים נובעת באופן די טבעי: \(\left(a_{1},a_{2},\dots\right)+\left(b_{1},b_{2},\dots\right)=\left(a_{1}+b_{1},a_{2}+b_{2},\dots\right)\) ו-\(\left(a_{1},a_{2},\dots\right)\cdot\left(b_{1},b_{2},\dots\right)=\left(a_{1}\cdot b_{1},a_{2}\cdot b_{2},\dots\right)\) (לא קשה לראות שגם הסכום והמכפלה מקיימים את הדרישה משלם p-אדי). אם כן, השלמים ה-p-אדיים הם חוג; ומכיוון ש-\(\left(a,a,a,\dots\right)\) הוא שלם p-אדי, אפשר לחשוב עליהם כעל חוג שמרחיב את חוג השלמים.
כאשר נתקלים במתמטיקה בחוגי מספרים שכאלו אשר מרחיבים את השלמים, אחד מהגישושים הראשונים שמבצעים כדי להבין איך החוגים "נראים" הוא למצוא את ההכללה המתאימה למשפט היסודי של האריתמטיקה עבורם. עבור שלמים המשפט היסודי של האריתמטיקה אומר שכל מספר ניתן להצגה באופן יחיד כמכפלה של מספרים ראשוניים, עד כדי שינוי של הסדר שלהם והכפלה באיברים הפיכים (בשלמים ההפיכים היחידים הם \(1,-1\)). כך למשל את 15 ניתן להציג כ-\(3\cdot5\), אך גם כ-\(\left(-1\right)\cdot5\cdot\left(-1\right)\cdot3\). די ברור ששתי ההצגות זהות באופן עקרוני.
בחלק מהחוגים שמרחיבים את השלמים המצב כבר לא כך כך נחמד. דוגמה פשוטה היא החוג \(\mathbb{Z}\left[\sqrt{-5}\right]\), החוג שמתקבל מהשלמים על ידי הוספת \(\sqrt{-5}\) למשחק , כך שאברי החוג הם מהצורה \(a+b\sqrt{-5}\) עם \(a,b\in\mathbb{Z}\). זהו אמנם חוג, אך מתקיים בו \(6=2\cdot3=\left(1+\sqrt{-5}\right)\left(1-\sqrt{-5}\right)\), וניתן לבדוק שכל האיברים שמופיעים בפירוקים הללו הם בעצם אי פריקים ("אי פריק" הוא המושג המעניין כאן ולא "ראשוני"; בחוג השלמים שני המושגים הללו מזדהים, ומכאן ה"בלבול" בשמות – לאיברים ראשוניים הגדרה וחשיבות משל עצמם). מצד אחד, זו תוצאה מצערת למדי (שחירבה לחלוטין הוכחה בת המאה ה-19 למשפט האחרון של פרמה). מצד שני, בעיה זו היוותה את הבסיס לתורת המספרים האלגברית – נושא שראוי בעצמו לפוסטים רבים, ולא אגע בו כעת.
למרבה המזל, בשלמים ה-p-אדיים המצב נחמד ופשוט מאוד: כל שלם p-אדי השונה מאפס ניתן להצגה בתור \(\alpha=p^{n}\varepsilon\), כאשר \(\varepsilon\) הוא שלם p-אדי הפיך. זה כמובן מעלה את השאלה מיהם האיברים ההפיכים; התשובה היא פשוטה ונחמדה בעצמה: כל שלם \(\left(a_{1},a_{2},\dots\right)\) שעבורו \(a_{1}\not\equiv0\left(\mbox{mod }p\right)\) (זה תרגיל נחמד להוכיח זאת). מכאן שלמשל, כל המספרים השלמים שאינם מתחלקים בידי \(p\) הם הפיכים בחוג השלמים ה-p-אדיים.
מכיוון שישנה הצגה כל כך פשוטה לשלמים ה-p-אדיים, לא קשה לראות בעזרתה שאין בחוג מה שנקרא "מחלקי אפס" – איברים שונים מאפס שמכפלתם היא 0 (למשל, בחוג \(\mathbb{Z}_{6}\), האיברים \(2,3\) הם מחלקי אפס כי מכפלתם היא אפס). ההוכחה פשוטה: מכפלה של שני שלמים היא מהצורה \(p^{n}\varepsilon_{1}\cdot p^{m}\varepsilon_{2}=p^{n+m}\left(\varepsilon_{1}\varepsilon_{2}\right)\). אם זה שווה לאפס אפשר לכפול בהופכי של האיבר ההפיך \(\varepsilon_{1}\varepsilon_{2}\) ולקבל כי \(p^{n+m}=0\) – סתירה.
כעת הגענו לפאנץ': מכיוון שחוג השלמים הוא ללא מחלקי אפס, ניתן להרחיב אותו באופן כזה שלכל איבר יהיה הופכי, בדיוק באותו תהליך שבו משתמשים כדי לבנות את הרציונליים מתוך השלמים – תהליך של בניית שדה שברים של חוג (גם כאן, מדובר על תהליך סטנדרטי עבור חוגי הרחבה של השלמים). התוצאה מסומנת לרוב ב-\(\mathbb{Q}_{p}\) ונקראת, סוף סוף, "שדה המספרים ה-p-אדיים". הבניה אינה נגמרת כאן – כשם ש-\(\mathbb{R}\) אינו סגור אלגברית (לא לכל פולינום יש שורש) והוא מורחב ל-\(\mathbb{C}\), גם את \(\mathbb{Q}_{p}\) ניתן להרחיב עוד; עם זאת, לא אציג זאת כאן (ההרחבה מסובכת יותר מההרחבה של \(\mathbb{R}\)).
אם כן, אלו הם, באופן בסיסי, המספרים ה-p-אדיים. לפני שאגיד משהו על השימוש שעושים בהם לפתרון משוואות דיופנטיות אציג אותם שוב, והפעם מזווית ראייה שונה. הבניה שהצגתי בפוסט הזה הייתה "אלגברית" במהותה – הגדרתי את המספרים באמצעות סדרות שמקיימות תכונה אלגברית כלשהי של שקילות מודולו חזקות של \(p\), ואת התוצאה הרחבתי לשדה באמצעות בניה אלגברית סטנדרטית. בפוסט הבא אראה איך אפשר להגיע אל המספרים ה-p-אדיים גם מכיוון שונה לגמרי – כיוון אנליטי (שגם הוא, בסופו של דבר, זהה באופיו לבניה של הממשיים מהרציונליים).

אז מתי אפשר לבנות מצולע משוכלל עם סרגל ומחוגה, ומה הקשר למספרי פרמה?

כעת אני מגיע לפואנטה שחתרתי אליה בפוסטים האחרונים שבהם דיברתי על שורשי היחידה – קריטריון שלפיו ניתן לדעת מתי מצולע משוכלל ניתן לבניה באמצעות סרגל ומחוגה (מהי בדיוק בניה בסרגל ומחוגה תיארתי בפוסט עוד יותר מוקדם). בדומה לבעיות של ריבוע העיגול, שילוש הזווית והכפלת הקוביה, כך גם כאן אנו עוברים די בזריזות מהעולם הגאומטרי לעולם אלגברי של הרחבת שדות. במקרה שלנו, בניית מצולע משוכלל עם \(n\) צלעות שקולה לבניית הנקודות שהן קודקודיו של מצולע בעל "רדיוס" מאורך 1 סביב הראשית, וזה שקול לבניית הנקודות שהן שורשי היחידה מסדר \(n\) (שכזכור, אם חושבים עליהם כעל נקודות במישור, הם בדיוק הקודקודים של מצולע משוכלל בעל \(n\) צלעות). לכן השאלה היא מתי ניתן לבנות נקודות שכאלו.

בניית נקודה שקולה לבניית המספרים שהם קוארדינטות ה-\(x\) וה-\(y\) שלה. מספיק לדבר כאן על קוארדינטת ה-\(x\), כי הטיפול ב-\(y\) דומה. קוארדינטת ה-\(x\) של נקודה שאותה אנו מייצגים כמספר מרוכב \(x+iy\) היא בדיוק החלק הממשי שלו, שסימנו בהתאם בתור \(x\). אם כן, הצטמצמנו לשאלה – מהו החלק הממשי של \(\zeta_n\) ומתי ניתן לבנות אותו?

באופן כללי, אם \(z=x+iy\) הוא מספר מרוכב ו-\(\overline{z}=x-iy\) הוא הצמוד שלו, אז החלק הממשי של \(z\) שווה בדיוק ל-\(\frac{z+\overline{z}}{2}\) (זהו חשבון פשוט להיווכח בכך). במקרה של \(\zeta_n\), הצמוד שלו הוא פשוט \(\zeta_n^{-1}\) (הדרך הפשוטה ביותר שאני מכיר כדי לראות זאת היא לכתוב את \(\zeta_n^{-1}\) בתור סכום של קוסינוס וסינוס – כן, כן, ההצגה שלפני רגע קט, בפוסט קודם, הטפתי כנגדה – ולהשתמש בכך ש-\(\cos(-x)=\cos(x)\) ו-\(\sin(-x)=-\sin(x)\)). אם כן, כדי לבנות את המצולע המשוכלל עלינו לבנות את \(\alpha = \frac{\zeta_n+\zeta_n^{-1}}{2}\).

כעת אפשר להכניס את התוצאות שכבר קיבלנו קודם של תורת השדות. כזכור, אמרנו שאם \(\alpha\) ניתן לבניה, אז מימד ההרחבה \(\mathbb{Q}(\alpha)/\mathbb{Q}\) הוא חזקה של 2. לכן כל שנותר לנו לעשות הוא לקבל מושג טוב יותר לגבי מהו מימד ההרחבה הזו. זאת נעשה בעזרת מה שכבר ידוע לנו על ההרחבה הציקלוטומית, כלומר על \(\mathbb{Q}(\zeta_n)/\mathbb{Q}\); כזכור, טענתי בפוסט הקודם (ללא הוכחה) שמימד ההרחבה הזו הוא \(\varphi(n)\).

במבט ראשון, מפתה להגיד ש-\(\mathbb{Q}(\alpha)=\mathbb{Q}(\zeta_n)\), כלומר שהשדה שמתקבל כשמוסיפים לרציונליים את שורש היחידה, והשדה שמתקבל כשמוסיפים לרציונליים את החלק הממשי שלו, זה אותו שדה. עם זאת, קל להיווכח בכך שזה לא נכון – ב-\(\mathbb{Q}(\alpha)\) אין מספרים מרוכבים (אלא רק ממשיים) ואילו ב-\(\mathbb{Q}(\zeta_n)\) דווקא יש (שורש היחידה עצמו). מצד שני, בבירור השדה \(\mathbb{Q}(\zeta_n)\) מכיל את \(\mathbb{Q}(\alpha)\) ולכן הוא הרחבה שלו – אבל מאיזה מימד? התשובה לכך מיידית – שימו לב ש-\(\zeta_n\) הוא שורש של הפולינום \(x^2-2\alpha x+1\) שהוא פולינום ממעלה שניה, ולכן מימד ההרחבה הוא 2. למי שתוהה מאיפה המצאתי את הפולינום הזה לפתע פתאום – זהו פשוט הפולינום ששורשיו הם \(\zeta_n\) ו-\(\overline{\zeta_n}\); באופן כללי פולינומים ממעלה שניה ששני שורשיהם הם מספר מרוכב והצמוד שלו הם ממשיים (למי שבאמת סקרן – זה נובע מנוסחאות וייטה).

בואו ניזכר בטענה כללית וחשובה שראינו: אם \(E\) מרחיב את \(K\) ואילו \(K\) מרחיב את \(F\), אז הקשר בין המימדים של ההרחבות הוא של מכפלה פשוטה: \([E:F]=[E:K][K:F]\). כשמציבים את הפרמטרים שעליהם דיברתי בפסקאות האחרונות במשוואה הזו, מקבלים \(\varphi(n)=2\cdot 2^k\). במילים אחרות, כל הדיון עד כה מסתכם באבחנה הבאה: כדי שניתן יהיה לבנות את המצולע המשוכלל בעזרת סרגל ומחוגה, \(\varphi(n)\) חייב להיות חזקה של 2.

הכיוון ההפוך גם הוא נכון – אם \(\varphi(n)\) הוא חזקה של 2, אז ניתן לבנות את המצולע המשוכלל בעזרת סרגל ומחוגה. זה משהו שטרם ראינו – עד כה כל ההוכחות שראינו היו של חוסר יכולת לעשות משהו, ואז הטיעון המספרי ה"פשוט" הספיק לנו – אם משהו לא יצא חזקה של 2, נגמר הסיפור. הכיוון ההפוך הוא באופן טבעי מורכב יותר – איך מהיות \(\varphi(n)\) חזקה של 2 נובע שניתן לבנות את המצולע?

בשביל להסביר בדיוק מדוע זה נובע, אזדקק לתוצאות מתורת גלואה, שאין סיכוי להיכנס אליהן כעת. רק אגיד בזריזות את הרעיון הכללי – לכל הרחבת שדות ניתן להתאים חבורה ("חבורת גלואה של ההרחבה"), כך שבין ההרחבה ובין החבורה מתקיים הקשר היפהפה הבא: מספר האיברים בחבורה הוא כמימד ההרחבה, ויש התאמה חד חד ערכית ועל בין תת החבורות של חבורת הגלואה ובין "שדות הביניים" של ההרחבה (השדות שניתן לדחוף "באמצע", בין שני השדות שמהווים את ההרחבה), כך שגודל כל תת חבורה שווה למימד הרחבת הביניים שמתאימה לה, ויחסי ההכלות בין תת החבורות מתאימים ליחסי ההכלות בין ההרחבות.

במקרה שלנו, החבורה של ההרחבה המדוברת היא חבורה אבלית שמספר האיברים בה הוא חזקה של 2. בעזרת מה שידוע על המבנה של חבורות אבליות סופיות (וגם זה נושא לדיון נפרד) אפשר להראות "שרשרת" של תת-חבורות בתוך החבורה הזו, כך שמתאימה להם שרשרת של הרחבות, שמתחילה ב-\(\mathbb{Q}\) ומסתיימת ב-\(\mathbb{Q}(\alpha)\), כך שכל איבר בשרשרת מתקבל על ידי הרחבה ריבועית של קודמו – כלומר, בדיוק סוג ההרחבה שניתן לבצע עם סרגל ומחוגה. זהו הרעיון הכללי, אך הפרטים הקטנים כמובן הכרחיים לצורך הבנה של מה שבאמת הולך שם.

אם כן, הגענו לקריטריון שנראה יחסית מספק – \(\varphi(n)\) הוא חזקה של 2. עם זאת, ניתוח של \(\varphi\) מאפשר להגיע לקריטריון עוד יותר פשוט וברור, שמערב מספרים שנראים לחלוטין לא קשורים – מספרי פרמה.

את פייר דה-פרמה אין צורך להכיר, ולו בזכות הפרסום האדיר שלו זכה "המשפט האחרון" שלו. עם זאת, פרט לכתיבת הערות שוליים שרודפות את העולם המתמטי במשך מאות שנים, פרמה עשה עוד דברים רבים, ונחשב בצדק לאחד מאבות תורת המספרים. בין ההשערות הרבות שהעלה הייתה גם זו הקשורה למספרי פרמה שאציג כעת. פרמה ככל הנראה (אין לי מושג מה קרה במדוייק מבחינה היסטורית) חיפש דרך "לייצר" ראשוניים באופן סדרתי בעזרת נוסחה, משאת נפשם של מתמטיקאים רבים. נוסחה "טבעית" למדי שעולה לראש היא \(2^n+1\) – הרי כל ראשוני גדול מ-2 הוא אי זוגי, ולכן כדי לייצר ראשוני צריך להוסיף 1 למספר זוגי; למה לא לעשות זאת למספר זוגי פשוט ככל הניתן, שיש לו רק גורם ראשוני אחד – 2 עצמו?

קל מאוד לראות (איך?) שאם \(n\) הוא אי זוגי, המספר שיתקבל יתחלק ב-3, כך ש-\(n\) חייב להיות זוגי אם רוצים לקבל מספר ראשוני. אם כן, צריך להגביל את \(n\) בצורה מסויימת. כדי לקבל מגבלה קטלנית בהרבה, צריך להתבסס על הזהות הבאה:

\(a^{m}-b^{m}=\left(a-b\right)\left[a^{m-1}+a^{m-2}b+a^{m-3}b^{2}+\dots+ab^{m-2}+b^{m-1}\right]\)

הנוסחה אולי נראית קצת מפחידה, אבל היא בסך הכל מתקבלת מטור טלסקופי פשוט, די בדומה לפיתוח הסכום של סדרה הנדסית שהראיתי בפוסט הקודם. אין צורך להתעמק בנוסחה אלא רק במסקנה שלה – \(a-b\) מחלק את \(a^m-b^m\). כעת, נניח שניתן לכתוב את \(n\) בתור מכפלה \(n=xy\) כך ש-\(x\) הוא אי זוגי. אז אם נציב במשוואה את \(a=2^y,b=-1,m=x\) נקבל כי \(2^y+1\) מחלק את \(2^n+1\), כלומר \(2^n+1\) לא יכול להיות ראשוני (מבחן עירנות – למה בעצם הכרחי ש-\(x\) יהיה אי זוגי?). מכאן שאם יש לנו תקווה כלשהי ש-\(2^n+1\) יהיה ראשוני, חייבים לדרוש של-\(n\) לא יהיה מחלק אי זוגי – כלומר, שהוא יהיה חזקה של 2. כלומר, ראשוני פרמה (כעת כבר אפשר להשתמש בשם הזה) חייב להיות מהצורה \(F_t=2^{2^t}+1\)

פרמה לא התעצל והציב ערכים של \(t\) בנוסחה הזו. הנה מה שהוא קיבל:

\(F_0=2^1+1=2+1=3\)

\(F_1=2^2+1=4+1=5\)

\(F_2=2^4+1=17\)

\(F_3=2^8+1=256+1=257\)

\(F_4=2^{16}+1=65537\)

וכאן נמאס לפרמה. הוא ראה שכל המספרים שקיבל עד כה היו ראשוניים, התלהב, וטען שמכאן ואילך כל שאר המספרים גם כן יהיו ראשוניים. אפשר להבין אותו – המספר הבא בסדרה הוא 42,94,967,297 ולפני שהיו מחשבים, למי היה כוח להוכיח שמשהו כזה הוא ראשוני? זה היה מקובל למדי אצל פרמה, לטעון טענות כלליות שכאלו ללא הוכחה, או עם הוכחה מעורפלת – לרוב המתמטיקאים שברו את הראש עד שהצליחו להוכיח את הטענה, אבל תמיד התגלו דברים מעניינים בדרך. לרוע המזל, כאן הוא טעה; אוילר (שהקדיש מאמצים לא מעטים למהומות שפרמה השאיר אחריו) הצליח להוכיח שהמספר הזה הוא פריק דווקא; ומאז המשיכו לעסוק במספרים מהצורה \(2^{2^t}+1\), בתחילה באופן ידני ולאחר מכן בעזרת מחשב ואלגוריתמים מחוכמים, עד לימינו, שבהם משתמשים על המספרים הללו באלגוריתמי הפירוק לגורמים המשוכללים ביותר הקיימים.

התוצאה? עד היום הצליחו להכריע סופית את השאלה בעניין 12 מספרי פרמה, עד \(F_{11}\), ולהכריע חד משמעית אם הם ראשוניים או לא; וכולם, פרט לאלו שפרמה גילה, התגלו כפריקים. למספרי פרמה רבים נוספים התגלו גורמים, כך שגם הם אי פריקים. זה כנראה היה הניחוש הלא-מוצלח ביותר שפרמה ביצע בחייו.

הסיפור לא נגמר פה – למרות שטרם התגלה ראשוני פרמה נוסף, זה לא אומר שאין עוד כאלו – טרם ברור אפילו אם יש מספר סופי או אינסופי שלהם, לא כל שכן אם חמשת הראשוניים הם באמת כל מה שיש. גם לא התגלתה שום שיטה יעילה לבדוק ראשוניות של מספרים מהצורה הזו, ובגלל שקצב הגידול שלהם מסחרר, קשה להניח שיצליחו לטפל בהמשך הסדרה בזמן הקרוב. קשה להתאפק ולא להזכיר באותו הקשר את מספרי מרסן – מספרים מהצורה \(2^n-1\) שדומה מאוד לזו של מספרי פרמה, שעבורם דווקא כן ידוע אלגוריתם יעיל יחסית שבודק את הראשוניות שלהם (אלגוריתם לוקאס-להמר למספרי מרסן).

חזרה לענייננו. אמרנו שצריך ש-\(\varphi(n)\) יהיה חזקה של 2. כבר עסקתי בשעתו בחישוב של \(\varphi(n)\); המסקנה הסופית היא ש-\(\varphi(n)\) הוא כפולה של גורמים מהצורה \(p^{k-1}(p-1)\) על כל גורם ראשוני \(p^k\) של \(n\). כל היצורים הללו צריכים להיות חזקות של 2; הדרך היחידה שבה \(p^{k-1}\) יהיה חזקה של 2 כאשר \(p\) הוא אי זוגי היא שיתקיים \(k=1\); וגם אז צריך לדרוש ש-\(p-1\) יהיה חזקה של 2, כלומר שיתקיים \(p=2^n+1\), כלומר ש-\(p\) יהיה ראשוני פרמה.

מכאן שכדי ש-\(n\) יקיים את הקריטריון, וניתן יהיה לבנות מצולע משוכלל עם \(n\) צלעות בעזרת סרגל ומחוגה, \(n\) צריך להיות מכפלה מהצורה \(2^n\cdot p_1\cdots p_t\), כאשר כל \(p_i\) הוא ראשוני פרמה (וכל הראשוניים שונים זה מזה). כך למשל המצולעים עם 4,8,16 צלעות הם ניתנים לבנייה (וגם כל חזקה אחרת של 2); והמשולש ניתן לבניה כי 3 הוא ראשוני פרמה; והמחומש ניתן לבניה כי 5 הוא ראשוני פרמה; והמשושה ניתן לבניה כי 6 הוא מכפלה של 2 ושל 3, שהוא ראשוני פרמה; והמשובע דווקא לא ניתן לבניה כי 7 אינו מספר פרמה, וכו' וכו'. מעניין במיוחד הוא המצולע עם 17 צלעות – הוא כן ניתן לבניה, שכן 17 הוא מספר פרמה, אך לא קל כלל וכלל למצוא בניה כזו; גאוס התפרסם בכך שבגיל 19 עלה בידו לגלות בניה שכזו (מבלי שידע, כמובן, על כל התורה שתיארתי כאן, שפותחה רק אחריו).

בכך באה על פתרונה המלא והיפה בעיית הבניה של מצולעים משוכללים, ולעת עתה גם תם העיסוק שלי בהרחבת שדות. מיותר לציין שבקושי גירדתי את קצה הקרחון והבאתי רק כמה מהיישומים הבסיסיים (אך ה"סקסיים", במובן זה שהם פותרים בעיות עתיקות יומין ומפורסמות) של התורה היפה הזו.

שורשנו באחדותנו

בפוסטים האחרונים הראיתי כיצד ניתן להשתמש במושג של הרחבת שדות כדי לחסל שלוש מהבעיות ה"קלאסיות" של בניה בסרגל ומחוגה ולהראות שהן פשוט בלתי אפשריות. נתבקשתי לדבר גם על בעיה רביעית – הבעיה של בניית מצולע משוכלל (מצולע שכל צלעותיו וכל זוויותיו שוות) בסרגל ומחוגה. כאן הסיטואציה מעט שונה – ניתן לבנות חלק מהמצולעים בעזרת סרגל ומחוגה, ומצולעים אחרים לא ניתן. למרבה השמחה, פחות או יותר אותם כלים שבהם השתמשתי עד כה ניתנים לשימוש גם במתן קריטריון פשוט וחד משמעי שמראה מתי ניתן ומתי לא ניתן לבנות את המצולע. הקריטריון מקסים במיוחד משתי סיבות – ראשית, הוא מערב מספרים מעניינים בפני עצמם – מספרי פרמה – שעליהם ארחיב בהמשך; ושנית, הדרך אליו עוברת בנושא שבמבט ראשון נראה בלתי קשור (ובמבט שני, ברור לגמרי שהוא קשור באופן הדוק) – שורשי יחידה מסדר \(n\), שעליהם אדבר בפוסט הזה.

השם "שורש יחידה" נשמע מוזר. ה"יחידה" היא המספר 1, ושורש יחידה מסדר \(n\) הוא פשוט מספר שכאשר מעלים אותו בחזקת \(n\) מקבלים 1. מי אלו יכולים להיות בכלל? על פניו נראה שרק 1 עצמו, ואולי גם מינוס 1 (כי מינוס 1 בריבוע הוא 1, למשל). אז מה הרעיון במושג הזה? לשם כך צריך להכניס לתמונה את המספרים המרוכבים. מי שאינו "חש בנוח" עם המספרים המרוכבים מוזמן לקרוא פוסטים קודמים שלי בנושא – כאן אקבל את קיומם כעובדה מוגמרת, ואתמקד בצורה שבה הכנסתם למשחק רק עוזרת לנו ללמוד דברים חדשים ומעניינים, שבניסוחם המקורי אין זכר למרוכבים (בפרט, בעיית בניית המצולע שהזכרתי).

אפשר לחשוב על שורשי יחידה מסדר \(n\) בתור שורשים של הפולינום \(x^n-1\). האם ניתן למצוא אותם באופן מפורש? ובכן, ברור ש-1 הוא תמיד שורש, אבל חוץ ממנו? כדי להראות כיצד מוצאים אותם, אני רוצה לומר מילה או שתיים על הצורה שבה אנו מתארים מספרים מרוכבים. דרך תיאור אפשרית אחת היא \(a+bi\), שאותה הכל מכירים; אבל הדרך הזו נוחה בעיקר כאשר רוצים לבצע פעולות של חיבור וחיסור, בעוד שאם רוצים לדבר על כפל, חילוק, חזקה או הוצאת שורש (וזה מה שאנחנו רוצים לדבר עליו) יותר נוח להשתמש בדרך הצגה אלטרנטיבית. בתיכון ההצגה היא זו: \(r(\cos(\theta)+i\sin(\theta))\) כאשר \(r\) הוא מספר ממשי חיובי, ו-\(\theta\) היא זווית. בקיצור מסמנים את דרך ההצגה הזו ב-\(r(\mbox{cis}(\theta))\). מה בעצם משמעותה?

אפשר לחשוב על מספרים מרוכבים גם כעל נקודות במישור דו ממדי, שמכונה "המישור המרוכב" אבל למעשה לא שונה מהמישור שעליו מדברים בגאומטריה (ובפרט בגאומטריה אנליטית). המספר \(a+bi\) מיוצג על ידי הנקודה \((a,b)\). זוהי דרך ייצוג אחת לנקודות, אבל יש גם דרך ייצוג אחרת, שלפעמים (למשל, עכשיו) היא נוחה בהרבה – נמתח קו הישר מראשית הצירים אל עבר הנקודה. במה הוא יתאפיין? בשני פרמטרים. ראשית, באורך של הישר (שהוא תמיד מספר ממשי חיובי או אפס), ובזווית של הישר. כשמדברים על זווית צריך לשאול "ביחס למה", ולכן המוסכמה היא להגדיר את הזווית ביחס לכיוון החיובי של ציר ה-x. כלומר, כמה צריך לסובב את הישר עם כיוון השעון כדי שהוא "ינוח" על הצד החיובי של ציר ה-x. כשהנקודה שאותה מנסים לתאר היא 0 אין משמעות לזווית, אבל כל נקודה אחרת מיוצגת באופן חד ערכי על ידי אורך וזווית שהיא בין 0 ו-360 מעלות.

הייצוג באמצעות  \(r(\mbox{cis}(\theta))\) בעצם מקודד את המידע הזה – \(r\) הוא המרחק מהראשית, ואילו \(\theta\) היא הזווית. לא קשה לראות שהייצוג הזה אכן "נכון" אם זוכרים את ההגדרות של סינוס וקוסינוס באמצעות משולשים ישרי זווית – קל לראות ש-\(r\cos\theta\) הוא באמת המיקום על ציר x של הנקודה, וכנ"ל עבור ציר y.

אלא ש-\(\mbox{cis}\) זה לא משהו שרואים בדרך כלל במקום כלשהו שאינו תיכון. למעשה, זוהי דרך כתיבה מסורבלת ומאוד לא מאירת עיניים. דרך הכתיבה ה"נכונה" מתבססת על נוסחה של אוילר, שקושרת בצורה מעניינת ביותר את המספרים המרוכבים עם הקבוע e. הנוסחה היא \(e^{i\theta}=\cos\theta+i\sin\theta\) – כלומר, חלק ה-\(\mbox{cis}\) שהוזכר קודם. כאן (ובכלל, מכאן ואילך) הזווית \(\theta\) תמיד נתונה ברדיאנים; אין ממש משמעות להעלאה בחזקת זווית שאינה רדיאן (כלומר, אינה מספר "טבעי"). ניסיתי בעבר להסביר מדוע רדיאנים הם אכן בחירה "טבעית" שכזו לייצוג של זווית, אבל גם למי שלא משוכנע, די אם אומר שלזווית שאינה מיוצגת ברדיאנים הנוסחה איננה נכונה.

את הצורה שבה אני הגבתי לנוסחה הזו כששמעתי עליה לראשונה מסכם יפה הקומיקס xkcd:

ואכן, יש כאלו שבוחרים להגדיר את e בחזקת מספר מרוכב באמצעות הנוסחה הזו ולהותיר אותה ללא הוכחה כלל. לטעמי הגישה הזו היא "התחמקות", ולמרבה המזל יש לנוסחה הוכחה (שמתבססת, כמובן, על כמה הגדרות אחרות שיש מאחורי הקלעים) שיש בה אפילו משהו אינטואיטיבי – פירוק של טור הטיילור של \(e^x\) לשני טורים, אחד של סינוס והשני של קוסינוס. אני מקווה להרחיב על כך מתישהו. בפרט, אם מציבים בנוסחת אוילר את הזווית פאי, מקבלים (לאחר העברת אגפים) את הזהות \(e^{i\pi}+1=0\), שאהובה מאוד על מתמטיקאים והיא זו שמופיעה כמעט במפורש בקומיקס (וכבר גרמה לי להקים מהומה בעבר בבלוג).

מה יוצא לנו מכל זה? שניתן לכתוב מספר מרוכב "כללי" גם בצורה \(re^{i\theta}\), כלומר בלי הציס המעצבן. פרט לכך שדרך כתיבה זו קומפקטית יותר, אחרי שמוכיחים שכל חוקי החזקות ה"רגילים" תקפים גם לחזקות מרוכבות, היא מאפשרת לבצע בקלות חישובים כמו הוצאת שורש וכדומה, שהיה יותר מסובך לעשות אם היינו עובדים עם ציס (פשוט היינו זוכרים יותר דברים בעל פה). כך למשל אם נעלה את המספר המרוכב \(re^{i\theta}\) בחזקת \(n\), נקבל את \(r^ne^{in\theta}\). אנחנו, לעומת זאת, רוצים דווקא להוציא שורש, ועוד למספר 1. כלומר, אנו רוצים למצוא מספר ממשי \(r\) וזווית \(\theta\) כך שמתקיים \(r^ne^{in\theta}=1\cdot e^{i\cdot 0}\). מכיוון ש-\(r\) ממשי חיובי, קל לראות שהדרך היחידה שבה יתקיים \(r^n=1\) היא שיתקיים \(r=1\). הזווית זה כבר עניין שונה – אנחנו רוצים למצוא כפולה של הזווית ששווה לאפס. איך עושים את זה? איך בכלל כפולה של זווית יכולה להיות שווה לאפס?

התשובה היא שהכפולה של הזווית לא חייבת להיות שווה ממש לאפס; היא יכולה להיות שווה גם לשני פאי, ארבע פאי, וכדומה. כל הזוויות הללו מייצגות סיבוב מלא (360 מעלות), ולכן חוזרות בדיוק לאותה נקודה. בדיחה ידועה (שגם מתרחשת לפעמים בפועל) היא על אנשים שאומרים על עצמם שהם עשו בחייהם "סיבוב של 360 מעלות" (או רס"רים שתובעים זאת מחייליהם). אצלנו זה מתבטא בשאלה הבאה: עבור אילו ערכים של \(n\), נקבל כי \(n\theta=k\cdot 2\pi\) עבור \(k\) טבעי כלשהו?

ובכן, התשובה פשוטה: \(\theta = k\cdot\frac{2\pi}{n}\). כלומר, לכל ערך של \(k\) נקבל ערך מתאים של \(\theta\). האם זה אומר שיש אינסוף פתרונות, כלומר אינסוף שורשי יחידה מסדר \(n\)? התשובה שלילית, כי מתישהו הזוויות שהמשוואה נותנת לנו יתחילו לחזור על עצמן. שוב – הן לא יהיו זהות, כמובן, אך ההפרש ביניהן יהיה של שני פאי, כלומר של 360 מעלות. למעשה, לא קשה לראות שכל פתרון ניתן לייצג עם זווית בין 0 ל-360 מעלות. נסכם, אם כן: כל שורשי היחידה מסדר \(n\) הם המספרים המרוכבים מהצורה \(e^{\frac{k}{n}2\pi i}\) כך ש-\(k=0,1,\dots,n-1\).

נשים לב שהמספרים היחידים שמשתנים בין שורשי יחידה שונים הם \(n\) ו-\(k\). לכן כדי לפשט את הסימון, נהוג לסמן \(\zeta_n=e^{\frac{2\pi i}{n}}\), ואז כל שורש יחידה מסדר \(n\) ניתן לכתיבה בתור \(\zeta_n^k\) (שכן מחוקי החזקות של מספרים מרוכבים נובע מייד ש-\(\zeta_n^k=e^{\frac{k}{n}2\pi i}\)).

נעבור כעת לקצת אינטואיציה גאומטרית. במהלך החישוב, ראינו שלכל שורש יחידה מתקיים \(r=1\), כלומר המרחק של כל שורש יחידה (ולא משנה מאיזה סדר) מראשית הצירים הוא בדיוק 1. במילים אחרות, כל שורש יחידה הוא נקודה על "מעגל היחידה" סביב ראשית הצירים. שנית, הזווית בין כל שני שורשי יחידה סמוכים מאותו הסדר שווה (ל-\(\frac{2\pi}{n}\)) וסכום כל הזוויות הללו הוא בדיוק \(2\pi\), כלומר שורשי היחידה מסדר \(n\) הם נקודות במרווחים שווים על מעגל היחידה סביב הראשית. קצת גאומטריה אוקלידית מובילה למסקנה הבאה – שורשי היחידה מסדר \(n\) הם בדיוק הקודקודים של מצולע משוכלל שמרכזו בראשית הצירים. טראח! פתאום, משום מקום, שני נושאים שנראו בלתי קשורים התחברו זה לזה בקשר הדוק ביותר. התנגשות שכזו היא לב-ליבה של המתמטיקה וככל הנראה הדבר היפה ביותר בה.

עכשיו, משקיבלנו אינטואיציה כלשהי למה בכלל יש טעם לעסוק בשורשי יחידה כשבאים לדבר על מצולעים משוכללים, זה נראה לי זמן טוב לסיים את הפוסט הנוכחי. בפוסט הבא נעסוק הרבה יותר בתכונות של הקבוצה המעניינת של שורשי היחידה – וחשוב לא פחות, בתכונות של הפולינמים שהם שורשיהם, ושחקירה כלשהי שלהם היא שתוביל אותנו לפתרון של בעיית הבניה.

רוצים לחלק באפס? אין בעיה! (אין כלום, בעצם)

אני עוקב פה ושם אחרי המטורפים שאיתם נאלץ מרק, הכותב המסכן של Good math, bad math להתמודד. הפעם  הוא נאבק בברנש שעוסק בחלוקה באפס – "First off, 1/0 is infinity". כפי שמרק אומר בבלוג, כבר כאן צריך לקטוע את הברנש עם "בזזזט. שגוי", כי אחד חלקי אפס כלל איננו מספר; המשמעות של "אחד חלקי איקס" היא מספר שכאשר הוא מוכפל באיקס, מקבלים אחד; אבל מכיוון שכל דבר כפול אפס נותן אפס, בוודאי שלא קיים מספר שכזה. דא עקא, ההסבר הזה מותיר פתח לשאלה "אוקיי, אז מה עם 0/0?" והברנש הזכיר לי בפתיחת המכתב שלו ("I was searching the internet for stuff on Nullity, this new number that I noticed you think is crank.") את אחת הפרשיות התמוהות ביותר מהעת האחרונה (כבר מ-2006, אמנם) שעוסקת בביטוי הלא מוגדר האומלל הזה – פרשיית "Nullity" (שאתרגם בצורה חופשית ביותר כ"כלומיתי"). זוהי פרשיית טרחן כפייתי "מודרנית" קלאסית – הטרחן הוא ללא ספק טרחן, אבל הוא היה נותר בגדר טמבל לא מזיק (הרעיונות שלו, שאציג בהמשך, אינם מופרכים או שגויים מהותית; הטרחנות שלו מתבטאת בחשיבה השגויה שהוא גילה את אמריקה) אלמלא היה זוכה לכיסוי תקשורתי מיותר, הפעם של ה-BBC.

ראשית כל, אין מנוס מלתאר מה באמת עושים במתמטיקה בנוגע לכל העסק המלוכלך הזה של חלוקה באפס, מה שידרוש את הפוסט כולו. השאלה המהותית שצריכה להישאל היא לא "האם אפשר לחלק באפס", כי תמיד אפשר להגדיר את החלוקה באיזו דרך שרוצים; אלא "למה לנו לחלק באפס", כלומר מה המשמעות שאנו בוחרים לייחס למושג החלוקה, והאם הצורה שבה נגדיר את החלוקה באפס מסתדרת עם המשמעות הזו. מתמטיקה ללא משמעות – אוסף של סמלים וכללים למניפולציה שלהם ותו לא – היא, ובכן, חסרת משמעות.

נניח, אם כן, שכבר בנינו את המספרים השלמים – אחד, שתיים, שלוש וכן הלאה (המספרים הטבעיים), אפס (המספר הבעייתי) וכמו כן מינוס אחד, מינוס שתיים, מינוס שלוש וכן הלאה (המספרים השליליים). הגדרנו עליהם פעולות חיבור וכפל במובן הרגיל. שימו לב לכך ש"לחסר חמש משמונה" הוא בעצם "לחבר מינוס חמש עם שמונה" – כלומר, אין לנו צורך להגדיר פעולה חדשה של "חיסור" – אנחנו מתבססים על פעולת החיבור הקיימת, ועל המספרים השליליים שהוספנו למערכת, כש"מינוס שמונה" מוגדר בתור "המספר שכאשר מחברים אותו עם שמונה מקבלים אפס" – החשיבות של אפס כאן היא הנייטרליות שלו ביחס לפעולת החיבור: כל מספר ועוד אפס הוא המספר עצמו.

את כל זה כבר תיארתי בשעתו כשתיארתי איך בונים את המספרים השליליים. המוטיבציה המיידית שלנו להמשיך ולהרחיב את מערכת המספרים היא פתרון משוואות מהצורה \(ax=b\), שמאלצות אותנו להשתמש בפעולה שבבית הספר אנו קוראים לה "חילוק". לפעמים הן ניתנות לפתרון (נניח, \(3x=18\)) אבל לא תמיד (נניח \(3x=16\)), כלומר החילוק במתכונתו הנוכחית בכלל לא מוגדר היטב ברוב המקרים. לכן אנחנו רוצים להוסיף למערכת שלנו כמה שיותר מספרים "חלקיים" שיאפשרו לנו להגדיר חילוק לכל איבר. הדרך לעשות זאת אנלוגית לדרך שבה יוצרים מספרים שליליים: לכל מספר \(a\) מוסיפים מספר \(\frac{1}{a}\) (זהו ממש הסימון שלו – סימון מקובל אחר הוא \(a^{-1}\)) כך שמכפלתם היא 1; והסיבה שבחרנו דווקא ב-1 היא ש-1 הוא נייטרלי לכפל, בדומה לכך ש-0 הוא נייטרלי לחיבור. למספר הזה קוראים "ההופכי של \(a\)), והוא פותר את המשוואה \(ax=1\). כעת אפשר להגדיר חילוק באופן כללי על ידי כפל בהופכי, והפתרון של המשוואה הכללית \(ax=b\) יהיה "ההופכי של a כפול b" וחסל.

אלא מה? אנחנו רוצים שהמבנה שהיה למערכת המספרים שלנו ישתמר. כלומר, שתכונות כמו חוק הפילוג:

\(a(b+c)=ab+ac\)

ישתמרו גם כשמציבים בתור a,b,c מספרים "הופכיים" שכאלה. תכף ומייד מתברר לנו שאם יש לאפס הופכי ואנו רוצים שהכללים הללו ימשיכו להתקיים, צפוי לנו אסון נורא:

\(a\cdot 0=a\cdot (0+0)=a\cdot 0+a\cdot 0\)

ומכאן נובע באמצעות העברת אגפים:

\(a\cdot 0=0\) לכל a שרק תרצו. בפרט עבור \(a=0^{-1}\). אבל הרי על פי הגדרתו, \(0^{-1}\cdot 0=1\), ולכן קיבלנו את המשוואה החביבה 0=1, שבצעד אחד נוסף מוכיחה לנו שכל מספר שווה לאפס (איך?)

אאוץ'. הלכה מערכת המספרים. מסקנה: אם מוסיפים הופכי לאפס, חלק מכללי החיבור והכפל כבר לא יחולו עליו (לעומת זאת, ניתן להוכיח שעבור כל שאר ההופכיים לא יווצרו בעיות שכאלו).

כלומר, במובן הרגיל של חילוק, אין משמעות לחילוק באפס – לא נקבל מספר. אלא מה, זה משאיר אותנו עם פעולה שמוגדרת כמעט לכל מספר, אבל אם ננסה להפעיל אותה על 0, נתרסק. בפרט, תוכנות מחשב רבות אכן קורסות כאשר מבצעים בהן חלוקה באפס. האם אין דרך יותר טובה להתמודד עם זה? האם לא ניתן לתת לחלוקה באפס משמעות, אמנם לא בדמות מספר שמקיים את כללי הכפל והחיבור הרגילים?

ובכן, לפעמים יש טעם לדבר על חלוקה לא באפס, אלא במספרים שהם קטנים מאוד, "כמעט" אפס, ובהתבוננות בצורה שבה התוצאה משתנה ככל שמה שמחלקים בו נהיה קטן יותר. זה בדיוק מה שהחשבון האינפיניטסימלי עוסק בו. נתבונן למשל בפונקציה \(f(x)=\frac{1}{x}\). עבור אפס היא כלל לא מוגדרת, אבל לא קשה לראות שככל שמכניסים לתוכה ערכים חיוביים של איקס שהולכים וקרבים לאפס, מקבלים תוצאה חיובית גדולה יותר ויותר. על זה אומרים ש"הפונקציה שואפת לאינסוף כאשר איקס שואף לאפס מימין" – מימין מציין כאן את העובדה שאנו מזינים לפונקציה ערכים חיוביים, כלומר מצד ימין של ציר המספרים; אם איקס ישאף לאפס משמאל, נקבל ערכים ששואפים למינוס אינסוף. לכן קשה להגיד ש"אחד חלקי אפס הוא אינסוף", כי באותה המידה הוא יכול להיות גם מינוס אינסוף; אבל לפעמים אין הבדל בין שני המקרים בכל הנוגע למה שמעניין אותנו.

דוגמה קלאסית, ואפילו פרקטית (אם כי לרוב הדרכים הפרקטיות באמת להתגבר עליה הן לעקוף אותה – לא ניכנס לכך כאן) צצה בגאומטריה האנליטית, שבה מייצגים ישרים באמצעות משוואות מהצורה \(y=mx+n\). הקבוע \(m\) מכונה "השיפוע" של הישר, וככל שהוא גדול יותר, כך הקו נוטה יותר להיות אנכי (שיפוע 0 פירושו קו אופקי לגמרי). אם יש שתי נקודות שונות זו מזו שדרכן הקו עובר, \((x_1,y_1),(x_2,y_2)\) אז השיפוע ניתן לחישוב באמצעות \(m=\frac{y_2-y_1}{x_2-x_1}\). קל לראות שבמשוואה הזו עלולים לקבל חלוקה באפס, אם שתי קוארדינטות האיקס זהות; במקרה הזה פירוש הדבר הוא שהקו הוא אנכי לחלוטין – השיפוע שלו הוא "אינסוף", והמשוואה שמתארת אותו היא בכלל מהצורה \(x=n\) (כלומר, כל נקודה שעל הקו היא בעלת אותה קוארדינטת x). הוספת אינסוף למערכת המספרים שלנו בתור תיאור של שיפוע הישר עוזרת לנו לתת משמעות כלשהי לשיפוע שלו גם במקרה של ישר אנכי; אבל מבחינה תכנותית, עדיין נצטרך לטפל במקרה הזה בנפרד. בפרט, עדיין תהיה לנו בעיה אם תבוצע חלוקה באפס כשאנחנו "לא מוכנים להתמודד איתה".

חייבים לשים לב לכך שה"אינסוף" הזה שהצענו איננו ההופכי של 0; אחרת, למשל, אפשר לקבל ש-1=2, כי \(\frac{1}{0}=\infty=\frac{2}{0}\) ועכשיו כפלו באפס את כל האגפים. מכאן שצריך להיות מאוד זהירים בכל הנוגע למה שקורה עם האינסוף – לרוב גם תוכנות מתמטיקה (דוגמת Matlab) שטורחות להגדיר את אחד חלקי אפס בתור "Inf" (קיצור של Infinity) משאירות את Inf כפול אפס בתור "NaN" (קיצור של Not a number). ה-NaN הזה הוא הסימול שנקבע בסטנדרט לייצוג במחשב של "תוצאה לא מוגדרת". עוד דרכים שבהן NaN עשוי להתקבל הן כתוצאה מכל מני פעולות אחרות על Inf – למשל, לחבר אותו עם מינוס עצמו, לחלק אותו בעצמו, וכדומה. ועוד חלוקה אחת שמובילה אוטומטית ל-NaN היא 0/0, חלוקה של אפס בעצמו. מה שמחזיר אותנו שוב לשאלה "למה לא להגדיר את זה כאפס וזהו?". התשובה הקצרה היא שמנקודת מבטו של החשבון האינפיניטסימלי (שנתן לנו את המוטיבציה הראשונית להכניס את האינסוף למשחק בכלל) פונקציות שכאשר איקס שואף לאפס הן שואפות לביטוי בצורה אפס חלקי אפס יכולות לשאוף לכל מספר אפשרי. הדוגמה הפשוטה ביותר היא \(f(x)=\frac{ax}{x}\) כאשר a הוא מספר כלשהו. כאשר איקס שואף לאפס הפונקציה תשאף ל-\(a\), ועם זאת היא שואפת לביטוי \(\frac{0}{0}\).

כדי להשתכנע שגם מנקודת מבט "אלגברית" אין טעם בלהגדיר את 0/0 בתור 0, תחשבו עוד פעם על דוגמת הגאומטריה האנליטית. אם בטעות הזנתם את אותה נקודה פעמיים ואתם מנסים להפיק ממנה את שיפוע הישר, ואם משום מה לא ביצעתם בדיקה האם באמת הוזנה אותה הנקודה פעמיים, ואם משום מה אצלכם 0/0 כן מוגדר בתור 0, אז הפונקציה תטען ששיפוע הישר הוא 0 – תוצאה חסרת הגיון ומשמעות לגמרי. כבר עדיף לקבל כאן שגיאה מאשר לחשוב שהכל כרגיל ולהמשיך את הריצה עד שמגיעים לשלב שבו משתמשים בישר בעל השיפוע הלא קשור בעליל ואז באמת הכל מתרסק.

אם כן, תשאלו, מה הטעם בלתת ל-0/0 שם מפוצץ כמו "NaN"? הסיבה הפשוטה היא ש-NaN הוא סמל שהמחשב יודע לזהות ולעבוד איתו, ובפרט אפשר גם לבדוק בכל שלב אם תוצאת החישוב שלנו היא NaN או לא – ואם היא כן, להבין שמשהו השתבש ולנסות לתקן. הגיוני לצפות שבשלב שבו בוצע חישוב שתוצאתו הייתה NaN התוכנה גם תשלח אזהרה כללית, באמצעות מנגנון החריגות (Exceptions) שכל שפת תכנות מודרנית תומכת בו; אבל לא תמיד זה נוח (נניח, אם אתם מפעילים פונקציה על אלפי איברים ברצף ועבור חלק קטן מהם היא תיכשל, לא תרצו שבכל פעם שיש בעיה תצטרכו לקטוע את רצף החישוב ולטפל בחריגה – כבר יותר נוח לתת למחשב לשים את הערך NaN בתור התוצאה במקרים הללו, ואחר כך לסנן את הערכים הללו).

וכעת ניתן לחזור לטרחן הכפייתי שלנו, אחרי שהצלחתי (אני מקווה) לשכנע אתכם שבימינו אף אחד כבר לא מתרגש מחלוקה באפס, ויש הגדרות סטנדרטיות ומקובלות לתוצאה של חלוקה כזו, גם מנקודת מבט תכנותית. מה שעולל הטרחן שלנו הוא להתעלם מכל זה, להמציא מחדש את גלגל ה-NaN בלבוש פומפוזי יותר, ולטעון שבכך הוא "פתר בעייה בת 1,200 שנים". לברנש קוראים ד"ר ג'יימס אנדרסון, ועל התגלית שלו אפשר לקרוא כאן. עם זאת, בדרך כלל המקום הטוב ביותר לקרוא על טרחנים הוא מפיהם עצמם – הנה מצגת שהוא עומד מאחוריה, ככל הנראה, והנה מאמר שמפרט קצת יותר את מה שהוא עשה. כדי להפריד בין המתמטיקה האמיתית (שאותה הצגתי, אם כי בצורה חלקית, בפוסט הזה) ובין השטויות, אדחה את העיסוק בתיאוריה שלו לפוסט הבא. לעת עתה, "טיזר" – כל מה שהגאון עושה הוא לתת ל-NaN שם אחר ולטעון שכעת זה "מספר".

1=…0.999

המוטיבציה הראשונית שלי לעיסוק בנושא הנוכחי מגיעה משאילתת חיפוש כושלת שהביאה נפש תועה לאתר – במקרה הזה, לגבי הפיתוח העשרוני של מספרים רציונליים. נראה לי שהדרך הטובה ביותר להציג את הנושא היא באמצעות אחת מהבעיות ה"לוהטות" ביותר שעולות ממנו – סוגיית המספר \(0.999\dots\).

חשוב להדגיש מלכתחילה שהסוגייה הזו, כמו גם מושג הפיתוח העשרוני של מספרים (רציונליים או ממשיים), היא טריוויאלית לחלוטין מבחינה מתמטית; לא קיים (או לפחות, נדיר ביותר) אדם בעל השכלה בסיסית במתמטיקה שמסוגל לחלוק על האבחנה האלמנטרית לפיה …0.999 הוא פשוט ייצוג שונה למספר 1. עם זאת ולמרות זאת, קיימים רבים שחולקים בדיוק על זה – ולרוב שורש אי ההסכמה נובע בדיוק מחוסר הבנה בסיסי במתמטיקה – לא במובן של "לא יודע לחשב אינטגרלים" או "גרוע בחשבון", אלא במובן של "לא מבין את השפה". הטענות הנפוצות ביותר שלהם הן "זה לא אחד אלא רק שואף לאחד", "זה כמעט אחד", "זה יצור אינסופי בניגוד לאחד שהוא יצור סופי" וכיוצא בזה. ובכן, לא. לא נכון. לא במה שנקרא "מתמטיקה". במתמטיקה, זה 1. בדיוק 1.

אין בי רצון עז לחפש דוגמאות רבות לאלו שמסרבים להאמין ש-…0.999=1 (או חמור מכך, טוענים שהם יכולים להוכיח ההפך). הנה דוגמה טיפוסית אחת מתוך sci.math; הנה דוגמה תוצרת בית, פרי עטו של דורון שדמי שכבר הוזכר כאן.

לפני שאכנס לנבכי המספר המוזר הזה ומה הוא בעצם אומר, הנה כמה הוכחות "אינטואטיביות" לנכונות השוויון. קשה לקרוא להן פורמליות, שכן כולן מתבססות על הנחות לא מוכחות; עם זאת, אני סבור שהאינטואיציה של רבים מהקוראים תסכים עם נכונות ההנחות הללו, ולכן ההוכחות יהיו משכנעות מספיק כדי שניתן יהיה לעבור בלב שקט לשלב הבא. פרט לכך, אני חושב שההוכחות הללו נחמדות מאוד (בניגוד להוכחה ה"אמיתית", שהיא סתם טכנית).

ובכן, גישה אלמנטרית ומשעשעת אומרת כך: אנחנו יודעים ש-\(\frac{1}{3}=0.333\dots\). נכפול את שני האגפים בשלוש ונקבל \(1=0.999\dots\) מייד. כמובן שהאינסטינקט הראשוני של קורא ההוכחה עלול להיות זריקה לעזאזל של האמונה ש-\(\frac{1}{3}=0.333\dots\); אני מקווה שלא גרמתי זאת לאיש.

הוכחה חביבה עוד יותר היא זו: נסמן \(x=0.999\dots\) (כבר הנחנו שהסימון הזה הוא מספר). נכפול ב-10 ונקבל \(10x=9.999\dots\) (מה הנחנו כאן?). כעת נחסר 9 משני האגפים ונקבל \(10x-9=0.999\dots=x\). נעביר אגפים ונקבל \(9x=9\), נצמצם ונקבל \(x=1\), כנדרש.

טיעון משכנע ביותר (שקשה לקרוא לו "הוכחה" בשום צורה שהיא) הוא פשוט לשאול "אם 1 שונה מ-…0.999, אז מה זה \(1-0.999\dots\)?". כמובן שהעונה לא יכול להגיד \(0.000\dots\) (או שהוא טוען שהביטוי הזה אינו אפס?), ולכן התשובה תהיה משהו מוזר כמו \(0.000\dots1\) – כלומר, אינסוף אפסים ו"בסוף" 1 – אבל כמובן שזה לא פיתוח עשרוני חוקי – ואם זה לא מובן, עוד מעט אסביר.

אם כן, ההוכחות הללו הובילו אותנו  אל המושג של פיתוח עשרוני. בשורה התחתונה, אי אפשר להימנע ממנו; הסיבה היחידה שבגללה כל מהומת …0.999 קיימת היא שהסימון הזה הוא פיתוח עשרוני, ושליצורים הללו המוזרויות שלהם.

פיתוח עשרוני, בראש ובראשונה, הוא סימון. הוא דרך שבה אנחנו לוקחים אוסף של סמלים – "תווים", מצרפים אותם אחד לשני ונותנים לצירוף הזה משמעות מוסכמת. בלי שתהיה מראש הסכמה על המשמעות של הסימון הזה, כל דיון עליו הוא חסר ערך. אני סבור שכל מהומות …0.999 נובעות מחוסר הסכמה כבר בשלב הזה. אנשים פשוט מנסים לייחס לסימון הזה יותר ממה שיש בו. המשמעות המקובלת של פיתוח עשרוני היא פשוטה – הסכום של טור מתכנס של מספרים רציונליים. כאן כדאי לעצור ולהדגיש את הנקודה – כשיש לנו טור מתכנס, אז הסכום שלו הוא מספר. לא "בערך מספר" ולא "שואף למספר". זה הפירוש של "סכום" – "מספר שמותאם לטור, על פי התנאים הזה והזה". מהם התנאים – זה כבר עניין הגדרתי שעוד נגיע אליו.

הרעיון בפיתוח עשרוני הוא להציג כל מספר ממשי בתור סכום של חזקות של 10. עבור מספרים טבעיים זה קל. כך למשל 123 הוא הסכום הבא:

\(123=100+20+3=1\cdot 10^2+2\cdot 10^1+3\cdot 10^0\)

אנחנו מורגלים לחלוטין לצורת הכתיבה הזו, ומקבלים כמובן מאליו את הרעיון הגאוני שמאחוריה, שכלל איננו מובן מאליו – ערכי מיקום. כלומר, אותה ספרה, כשהיא מופיעה במקומות שונים במספר, יכולה לייצג מספרים שונים לחלוטין. אם 5 היא ספרת האחדות, היא מייצגת את המספר "חמש"; אם לעומת זאת היא ספרת המאות, היא מייצגת את המספר "חמש מאות". זה לא רעיון טריוויאלי. בספרות רומיות זה לא קיים.

המספר 10, שאת החזקות שלו אנחנו סוכמים, נקרא "בסיס הספירה". אין שום דבר קדוש במספר 10, כמובן; אפשר להשתמש בכל מספר טבעי אחר כבסיס (כולל אפילו 1, אבל זה כבר קצת יותר מסובך). במחשבים נפוצים מאוד הבסיסים 2, 8 ו-16. המאיה השתמשו בבסיס 20. הבבלים – בבסיס 60 (רעיון לא מופרך כפי שעלול להתקבל הרושם; לבבלים הייתה שיטת ייצוג פשוטה ונאה לכל המספרים עד 60. עם זאת, השיטה "שלנו" עדיין טובה יותר). לפחות בחלק מהמאה ה-20, הייתה קבוצה שקראה למעבר לבסיס 12 בחיי היום יום, והיו להם כמה נימוקים מוצלחים מאוד. עם זאת, בסיס 10 הוא הבסיס השולט היום, וכנראה שהמצב לא עומד להשתנות, למרות שהוא לא אופטימלי עד כדי כך. היתרון הגודל שעומד לזכותו – לרוב בני האדם יש 10 אצבעות.

אם כן, מספרים טבעיים קל לייצג בשיטה הזו. גם מספרים שליליים שלמים קל – פשוט מוסיפים סימן מינוס. הכיף מתחיל כשמגיעים למספרים הרציונליים. כזכור, יש כבר צורת סימון מקובלת לרציונליים, כמנה של שני מספרים שלמים. למשל \(\frac{2}{5}\). דא עקא, רוצים לייצג אותם גם כסכום של חזקות של 10. בשביל זה, השינוי המהותי שמתירים הוא חזקות שליליות של 10. שימו לב – חזקה שלילית אין פירושה מספר שלילי, אלא פשוט שבר: כלומר, \(10^{-1}=\frac{1}{10}\), ובאופן כללי \(10^{-k}=\frac{1}{10^k}\).

יש מקרים שבהם זה עובד מצויין. למשל, \(\frac{1}{2}=5\cdot 10^{-1}\), ולכן כותבים \(\frac{1}{2}=0.5\). הכלל פשוט: כותבים נקודה באמצע המספר –  "הנקודה העשרונית" – ומה שמימין לה הוא חזקות שליליות של 10 (המספר הראשון מימין – מינוס 1. השני – מינוס 2, וכן הלאה). עם זאת, הצרות מתחילות כבר במספר הנחמד \(\frac{1}{3}\) שקשה לייצג אותו בצורה דומה (בבסיס 12 זה לא היה קורה – הרי לכם נימוק לטובת בסיס 12). מה קורה עם \(\frac{1}{3}\)? הוא קטן מ-0.4 אבל גדול מ-0.3 ולכן המספר שמייצג אותו חייב להתחיל בספרות 0.3. מה הלאה? שוב – קטן מ-0.34, גדול מ-0.33, ולכן חייב להתחיל בספרות 0.33 אבל שם זה לא נגמר, וכן הלאה וכן הלאה. הבנתם מה קורה – חייבים להשתמש כאן באינסוף ספרות בשביל לתת ייצוג "מדויק".

מן הסתם, אינסוף ספרות הן לא משהו שניתן לכתוב בצורה מפורשת. למרבה המזל, אין בכך צורך; הרעיון של "מכאן והלאה הביטוי חוזר על עצמו" הוא משהו שאדם מסוגל לתפס גם בשכלו ה"מוגבל" (טיעון נפוץ בדיונים בנושא הוא שאדם, שמוחו סופי, לא מסוגל "לתפוס" משהו אינסופי). את הרעיון הזה מסמנים באמצעות שלוש נקודות, שמופיעות אחרי שהקטע שחוזר על עצמו הופיע כבר מספר פעמים כזה שמאפשר להבין מה הולך כאן. זה לא תיאור פורמלי במיוחד, אך כמעט תמיד הוא מספיק. המהדרין כותבים את המספר בלי שלוש נקודות, ועם קו מעל החלק המחזורי. למשל, \(0.123\overline{456}\) מייצג את המספר שניתן לכתוב גם כ-…0.123456456456 – כלומר, בהתחלה מופיעות הספרות 123, אבל מאז ועד עולם יופיעו 456.

ומה המשמעות המדוייקת של סימון שכזה?

ובכן, הזכרתי כבר את המילה הגסה "טור מתכנס", ואכן אין לחמוק ממנה. באופן כללי, "טור" במתמטיקה הוא סכום של מספרים. נהוג לסמן טור בעל t איברים באופן הבא: \(\sum_{n=1}^ta_n\), כאשר \(a_n\) זה פשוט סימון כללי ל"האיבר ה-n-י בטור". לרוב הצורה שבה כותבים טור ספציפי היא באמצעות נוסחה כלשהו שקושרת את \(a_n\) לערכו של \(n\), כך למשל \(\sum_{n=1}^t\frac{1}{n}\) (כלומר, \(a_n=\frac{1}{n}\) הוא טור – וטור מיוחד, שזכה לשם משל עצמו: "הטור ההרמוני".

אם כן, טור הוא בסך הכל סדרה של איברים שמצויירת בצורה מסויימת. מה שבאמת מעניין בטור הוא הסכום שלו – מספר מיוחד שמוגדר באמצעותו. ההגדרה די ברורה – זה מה שמתקבל כשמחברים את כל איברי הטור (אנחנו יודעים לחבר שני איברים; סכום של שלושה איברים הוא סכום האיבר שמתקבל מסכום שני הראשונים והשלישי; וכו' וכו').

המספר הזה מקיים כמה תכונות "נחמדות" וצפויות – למשל, אם מחברים שני טורים, גם הסכומים שלהם מתחברים ואם כופלים את כל אבריו של טור במספר כלשהו, גם הסכום מוכפל במספר זה. זה, פחות או יותר, הרעיון שיש לנו בראש כשאנחנו פונים לחשוב על טורים אינסופיים.

מה ההבדל בין \(\sum_{n=1}^t\frac{1}{n}\) ובין \(\sum_{n=1}^\infty\frac{1}{n}\)? הבדל של סימן אחד, שם למעלה – במקום האות t כתבנו סימן שהמשמעות המקובלת שלו היא "אינסוף". פירוש הדבר הוא שלכל מספר טבעי n מותאם איבר \(a_n\) בתוך הטור (יש סימונים עוד יותר כלליים והגדרות עוד יותר כלליות שאליהן לא אכנס).

אם כן, השאלה הראשונה היא האם לכל סדרה של מספרים אפשר להתאים "סכום" שיתנהג בצורה נחמדה? התשובה המצערת היא שממש, אבל ממש, לא. הנה שתי דוגמאות קלאסיות.

הדוגמה הראשונה היא הסכום \(\sum_{n=0}^\infty 2^n\), כלומר \(1+2+4+8+\dots\). אם מניחים שלברנש הזה אפשר להתאים מספר שיקיים את תכונות החשבון הרגילות, אנו צפויים לאכזבה. נניח שיש כזה מספר – נסמנו A, כלומר  \(1+2+4+8+\dots=A\). כעת נבצע להטוט – נכפול את שני האגפים ב-2. התוצאה?

\(2+4+8+16+\dots=2A\)

השלב הבא – נוסיף 1 לשני האגפים:

\(1+2+4+8+16+\dots=1+2A\)

אבל מה יש לנו כרגע באגף שמאל? בדיוק את A המקורי. כלומר, קיבלנו:

\(A=1+2A\)

ואחרי העברת אגפים:

\(A=-1\)

מסקנה – ה"סכום" של הטור הזה, שכולו מספרים חיוביים, הוא מינוס אחד. מספר שלילי. ברור שזה כבר מקלקל לנו לחלוטין את המשמעות האינטואיטיבית שהיינו רוצים לייחס לסכומים; יתר על כן, הלהטוט הזה בסך הכל הצביע על מוזרות אחת שנובעת מההגדרה – אולי יש מוזרות נוספת, סותרת, שתנבע מלהטוט אחר? בקיצור, מעדיפים שלא להגדיר את סכום הטור הזה וחסל (אפשר להגדיר אותו בתור "אינסוף" וגם לכך יש שימושים, אבל לא נעסוק בזה).

הדוגמה השנייה היא הסכום \(\sum_{n=0}^\infty(-1)^n\), ובמילים אחרות, הסכום \(1-1+1-1+\dots\).לכאורה טור תמים ונחמד. הבעיה מתחילה אם מנסים לעשות לו כינוס איברים. אפשר לכתוב את הסכום בשתי הצורות הבאות:

\((1-1)+(1-1)+\dots \)

\(1-(1-1)-(1-1)-\dots\)

מה הבעיה? בשיטת הכינוס הראשונה יש לנו סכום של אפסים – ועל פי כל אינטואיציה אפשרית, סכום שכזה הוא אפס; על פי שיטת הכינוס השנייה נקבל 1 פחות (סכום של אפסים), כלומר 1. קיבלנו שני ערכים אפשריים שונים – שוב, בעיה.

אם כן, איך מגדירים סכום של טור שכזה? אציג את ההגדרה הפורמלית, והרעיון המקסים שמאחוריה, בפוסט הבא, ואז גם יתברר מדוע על פי ההגדרה הפורמלית מקבלים תכף ומייד \(0.999\dots=1\) (רמז: טור הנדסי מתכנס).

כמה מעלות טובות לרדיאן עלינו

אחד מהחיפושים שהוביל נפש תועה לשווא אל הבלוג הזה היה "כמה מעלות אלגברה פאי". הניחוש שלי הוא שפשר השאלה הוא איך פאי, ברדיאנים, מתרגם למעלות. זה תירוץ מצויין לדבר קצת על מהם רדיאנים ולמה פתאום, באמצע הלימודים הבית ספריים, מפסיקים להשתמש במעלות ועוברים לדבר עליהם. לשם כך קודם כל צריך לדבר על מה שבכלל מודדות הן מעלות והן רדיאנים – זווית. זו אולי נראית שאלה פשוטה ומטופשת, אבל מהי בעצם זווית?

זווית
הדרך הטובה ביותר שאני מכיר לתאר זווית היא פשוט בתור "כמות סיבוב". נהוג לחשוב על זה כך: קחו שני קווים ישרים בעלי נקודת התחלה משותפת ואותו אורך (פורמלית קוראים לשני דברים כאלו "קטעים", כי קו הוא אינסופי, אבל מה זה חשוב). ה"זווית" שבין שני הקווים היא כמות הסיבוב שנדרשת כדי להניח אחד מהם על השני. תכף ומייד מתברר שההגדרה הזו היא מה שמכונה במתמטיקה "לא מוגדרת היטב", פשוט כי יש שתי דרכים לסובב את הישרים כך שיונחו אחד על השני – הדרך הקצרה והדרך הארוכה (אורך שתיהן שוות רק כששני הקווים פונים לכיוונים מנוגדים). מכאן שכל שני קווים מגדירים שתי זוויות ולא אחת.

אם כן, זוהי זווית, אבל כדי למדוד אותה יש צורך ביחידות (אי אפשר להגיד "סיבוב קצר", "סיבוב קצת יותר גדול" וכדומה). בשביל לעשות זאת, רצוי להתחיל מסיבוב "מלא" (לוקחים קו; מסובבים אותו סביב ציר שנמצא באחת מנקודות הקצה שלו, עד שהוא חוזר למקום שבו היה בהתחלה; מודדים את כמות הסיבוב שנדרשה לשם כך) ולהגיד כמה יחידות הוא מכיל. על פניו, הגדרה "טבעית" תהיה להגיד שסיבוב מלא הוא יחידה אחת, כלומר 1, ולכן רבע סיבוב (שיוצר את מה שמכונה "זווית ישרה") יהיה בגודל 1/4, וכן הלאה. זה לא רעיון מופרך, אך לא משתמשים בו.

מה שכן משתמשים בו, לפחות בהתחלה, הוא מעלות. לסיבוב המלא נותנים שרירותית את הגודל 360 מעלות, ואז זווית ישרה תהיה בת 90 מעלות, למשל. למרות שזו החלטה שרירותית לכאורה, יש בה הגיון רב. היא ככל הנראה נובעת מהבבלים הקדמונים, שהייתה להם חיבה למספר 60 (הוא היה בסיס מערכת הספירה שלהם, שהייתה מתקדמת מאוד לזמנה), וייתכן מאוד שהושפעה מכך שיש 365 ימים בשנה. היתרון הברור של 360 על פני 1 הוא שאת 360 אפשר לחלק בהמון דרכים שונות, ולכן לתת ייצוג מספרי פשוט (במספרים שלמים, במקום בשברים) להמוני זווית קטנות שהן שבר פשוט של סיבוב שלם (\(360=2^33^25\) ולכן אפשר לייצג במעלות שלמות דברים כמו "חצי סיבוב", "רבע סיבוב", "שמינית סיבוב", "שליש סיבוב", "תשיעית סיבוב", "חמישית סיבוב", "עשירית סיבוב", וכדומה). למעשה, אפשר לקבל אישוש כלשהו לכמה השיטה הזו מוצלחת בכך שעד היום אנחנו משתמשים בה למרות שהמספרים שלה אינם "טבעיים" כמו כפולות של 10, ובוודאי שאינם "טבעיים" כמו הרדיאנים שתכף אציג.

אם כן, במשך רוב שנות בית הספר, ובפרט בלימודי הגאומטריה האוקלידית, משתמשים במעלות ותו לא. גם בחיי היום יום משתמשים במעלות. הרדיאנים צצים לראשונה בדרך כלל רק כשהתלמידים מגיעים ללימודי החשבון הדיפרנציאלי והאינטגרלי. רק על עצמי לספר ידעתי: כשלימדו אותי את המושג לראשונה, לא הבנתי כלום. בפרט לא הבנתי למה צריך אותו ואיך מגיעים אליו. כל מה שהבנתי הוא את נוסחת המעבר ממדידה במעלות למדידה ברדיאנים, וגם אותה שכחתי כל הזמן. מה לעשות – אחרי שמתרגלים למעלות, מדידה באמצעות פאי נראית לא טבעית בעליל. האתגר הקשה של הצגת הרדיאנים הוא המוטיבציה לקיומם; אומרים שהם "טבעיים", ומצד שני, קשה להסביר למה למישהו שטרם למד חשבון דיפרנציאלי. אעדיף קודם להציג אותם ורק אחר כך להגיע לנימוק בדיוק מסיבה זו – כדי שגם מי שטרם נתקל בחשבון דיפרנציאלי יוכל לפחות להבין על מה מדובר כשמדברים על רדיאנים.

הצעתי קודם שיטה אחרת למדידה – לוקחים את "הסיבוב המלא" בתור 1. מהו "הסיבוב המלא" המדובר? אם מסתכלים על נקודת הקצה השנייה של הקו הישר שמסובבים, רואים שכאשר מסובבים אותו סיבוב מלא, הוא יוצר מעגל (תזכורת לשונית קטנה – מעגל הוא כל הנקודות שנמצאות על שפת הצורה שנוצרת. עיגול הוא גם ה"בפנוכו" של הצורה הזו). כאשר מסובבים אותו סיבוב חלקי, הוא יוצר חלק ממעגל – מה שמכונה "קשת" (Arc). כעת, למעגל כבר קיימים שני גדלים מדידים שמשוייכים אליו – הרדיוס שלו, והיקפו. הרדיוס של מעגל הוא מרחק הנקודות של המעגל מנקודת המרכז שלו. מכיוון שנקודת המרכז שלנו היא אחת מקצוות הישר שמסובבים, וכל נקודה על המעגל נמצאת על קצהו השני של הישר, הרדיוס במקרה הזה הוא אורכו של הישר שמסובבים. כעת, היקף המעגל תלוי ברדיוס – מן הסתם מעגלים בעלי רדיוס גדול יותר יהיו בעלי היקף גדול יותר – אך בכל זאת הוא קבוע במובן מסויים – היחס שלו ושל הרדיוס הוא מספר קבוע (למיטב זכרוני, ההוכחה נובעת מתכונות דמיון משולשים, בנוסף להגדרה המדוייקת של "היקף", אך לא ניכנס לכך בינתיים). כלומר, אם מגדילים את הרדיוס של מעגל פי 2, גם היקפו גדל פי 2. זהו קשר פשוט ונאה מאוד. כדי שאפשר יהיה לקשר את הרדיוס וההיקף באמצעות נוסחה פשוטה כדאי לתת סימון לקבוע של היחס בין ההיקף והרדיוס; בפועל, ניתן סימון לקבוע של היחס בין ההיקף וקוטר המעגל (קוטר המעגל הוא אורך כל ישר שמחבר שתי נקודות על המעגל ועובר דרך המרכז – אורכו הוא פעמיים הרדיוס). הסימון הזה הוא פאי, \(\pi\). בשל כך, מתקיים הקשר הבא בין הרדיוס \(r\) ובין ההיקף \(c\): \(c=2\pi r\).

איך זה מתקשר לרדיאנים? ובכן, הלך המחשבה הוא זה: במקום להגדיר שרירותית את גודל הסיבוב של "מעגל שלם" בתור המספר 1 או המספר 360, אפשר להשתמש בגודל "טבעי" שכבר קיים עבורו – היקפו. הבעיה היא שההיקף, כאמור, אינו קבוע ותלוי ברדיוס המעגל. אם כן, כדי לקבל מספר קבוע, מגדירים את גודל הסיבוב של "מעגל שלם" בתור היקפו חלקי רדיוסו – מקבלים שגודל הסיבוב הזה הוא המספר \(2\pi\).

אורך קשת

כעת יש לנו גם אפשרות למדוד זוויות אחרות: באופן כללי, כשנתונה לנו זווית באמצעות שני ישרים שווי אורך, מהסוג שתיארתי קודם, אפשר לחשב את אורך הקשת שמחברת אותם (במובן מסויים זהו המרחק שהישר הראשון צריך לעבור עד שיגיע אל הישר השני – שכן הוא נע בסיבוב ולא בצורה ישרה, ולכן הקו הישר שמחבר בין שתי קצוות הישרים אינו המרחק האמיתי ביניהם) ולחלק באורכם. לרוב כדי להימנע מכל החלוקה הזו, פשוט מגדירים את הזווית באמצעות שני ישרים שאורכם 1. ה"יחידות" של אופן המדידה הזה נקראות "רדיאנים" – אבל למעשה, אלו אינן יחידות שרירותיות; מכיוון שאפשר להגדיר את הרדיאן בצורה פורמלית בתור אורך חלקי אורך (אורך הקשת חלקי אורך הישר שמסובבים), היחידות הן של מספרים "טהורים" – מה שמכונה בפיזיקה "גודל חסר ממד" (כלומר, שאינו תלוי במערכת המדידה שלנו). יתר על כן, הצלחנו לקשר את הכמות שמתארת זווית לכמות שמתארת מושג מרכזי עוד יותר – אורך, ולכן הרדיאנים הם אכן יחידות "טבעיות". את היתרון של ה"טבעיות" הזו אראה בפוסט הבא.

הקשר בין מעלות לרדיאנים הוא, בתקווה, קצת יותר ברור כעת: אם במעגל יש 360 מעלות (שמסומנות \(360^\circ\)) ו-\(2\pi\) רדיאנים, אז מתקיים הקשר \(2\pi=360^\circ\). לכן, מעלה אחת היא \(\frac{\pi}{180}\) רדיאנים, ואילו רדיאן אחד הוא \(\frac{180}{\pi}\) מעלות. בפרט, בתשובה לשאלה שפתחה את הדיון הזה, פאי רדיאנים הוא בדיוק 180 מעלות.

ומה על המוטיבציה? ובכן, אני מתכנן לזרוק לחלל האוויר בפוסט הבא את סינוס וקוסינוס, ואת הגבול \(\lim_{x\to 0} \frac{\sin(x)}{x}=1\), ואולי גם טיפה טורי פורייה; אבל אשמח לשמוע עוד דוגמאות למקומות שבהם נוח להשתמש ברדיאנים ולא במעלות (וגם אשמח לראות הוכחה פורמלית לכך שפאי קבוע, אם כבר מדברים על כך, או הפניה לספר שמוכיח זאת).