מה בין טופולוגיה, First-person shooters, נמלים שמטיילות על טבעות ובקבוקים בלתי אפשריים?

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

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

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

איך זה קשור למשחקי מחשב?

אחת מההצלחות המפתיעות יחסית של שנת 2007 היא המשחק Portal. המשחק פותח על ידי החברה שיצרה את סדרת Half-Life – סדרה של משחקי יריות מגוף ראשון ששמה נודע לתהילה, והוא משתמש באותו מנוע שעליו מבוסס Half-Life 2. המשחק ההוא התהדר בעולם דינמי יחסית, שבו ניתן להזיז רבים מהחפצים שנראים על המסך, והדבר היה בסיס לאחד מכלי הנשק המקוריים ביותר במשחקי מחשב – ה-Gravity Gun, כלי נשק שמסוגל למשוך חפצים מרחוק, ואחר כך להשליך אותם בעוצמה (או סתם להניח אותם בשקט). כתוצאה מכך, הסביבה כולה הופכת לכלי נשק פוטנציאלי אחד גדול (ויש עוד דברים משעשעים שניתן לעשות עם הרובה – לא ניכנס לכך כרגע).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(או שמא בגלל אשר הטופולוגים אוהבים להשתמש בנמלים?)

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

מה הולך כאן? קודם כל נדביק את שתי הצלעות האדומות זו לזו. נקבל גליל:


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

כעת נתפוס את הקצה הנמוך יותר של הפרסה ונכניס אותו בכוח לתוך הצוואר השני של הפרסה:

כעת אפשר להדביק את שני הקצוות (שהאחד נמצא בתוך השני) זה אל זה. התוצאה נראית בערך כך:

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

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

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

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

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

אז הנה הקשר בין קומפקטיות ומשפט הקומפקטיות

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

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

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

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

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

הטופולוגיה של המכפלה, לעומת זאת, היא סיפור שונה לגמרי. קבוצה פתוחה בסיסית נראית כך: \(A_1\times A_2\times A_3\dots\) כך שכל \(A_i\) יכול להיות אחד מארבע הקבוצות הפתוחות שבמרחב הבסיסי – או הקבוצה הריקה, או הקבוצה שמכילה רק את 0, או הקבוצה שמכילה רק את 1, או הקבוצה שמכילה את שניהם. יתר על כן, מכיוון שזוהי טופולוגיית המכפלה ולא טופולוגיית התיבה, רק מספר סופי של \(A_i\)-ים יכול להיות שונה מהקבוצה שמכילה גם את 0 וגם את 1. כעת, מה המשמעות של כל זה?

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

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

נסכם – קבוצה פתוחה בסיסית היא קבוצת הצבות שהערכים של כולן זהים על תת-קבוצה סופית של משתנים. למשל – כל ההשמות שלמשתנה הראשון נותנים 0 ולשני נותנים 1 היא קבוצה פתוחה בסיסית.

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

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

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

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

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

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

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

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

ובכן, "ניתן לספק את \(\varphi\)" פירושו, פשוט מאוד, \(C_\varphi\ne\emptyset\) – כלומר, אוסף ההשמות שמספקות את \(\varphi\) אינו ריק. כעת, "ניתן לספק בו זמנית את כל הפסוקים \(\varphi_1,\dots,\varphi_k\) פירושו\(\bigcap_{i=1}^kC_{\varphi_i}\ne\emptyset\) – כלומר, קיימת השמה שמספקת כל אחד מהפסוקים בו זמנית.

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

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

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

על מכפלות קרטזיות ושערים לא לוגיים

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

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

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

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

השלב הבא הוא זה שבו הדברים מתחילים להשתגע. מה יקרה אם נרצה ש-n שלנו יהיה "אינסוף"? מה שנקבל יהיה סדרה של אינסוף מספרים ממשיים – מושג שקל לחשוב עליו וכל סטודנט לחדו"א מכיר היטב, ועם זאת קשה לנו לחשוב על משמעות גאומטרית שניתן לייחס לו. בנוסף, קצת פחות ברור איך להגדיר אותו בצורה פורמלית, והפתרון הטוב ביותר הוא בעזרת פונקציה: חושבים על סדרה אינסופית של ממשיים בתור פונקציה שמקבלת מספרים טבעיים ומחזירה מספרים ממשיים – ובסימון פורמלי, \(f:\mathbb{N}\to\mathbb{R}\). הרעיון הוא שהפונקציה מקבלת מספר שמייצג מקום בסדרה, ואומרת מי האיבר שנמצא במקום הזה. הסימון של כל הסדרות האפשריות של ממשיים הוא \(\mathbb{R}^\mathbb{N}\) – סימון שמתאים לא רע לסימונים שראינו עד כה, וגם מתאים לא רע לסימון המקובל מתורת הקבוצות, שם באופן כללי \(A^B\) כאשר \(A,B\) קבוצות פירושו "אוסף כל הפונקציות מ-\(B\) אל \(A\)".

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

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

מתברר שיש מספר דרכים, והדרך המועילה ביותר (תועלת שגם אנחנו ניווכח בה עם הוכחת משפט הקומפקטיות) היא לא הדרך האינטואיטיבית ביותר. הדרך האינטואיטיבית ביותר היא זו: כדי להגדיר טופולוגיה על מרחב, מספיק להגדיר עבורה "בסיס" – אוסף קטן יחסית של קבוצות פתוחות, כך שכל הקבוצות הפתוחות במרחב ניתנות להצגה כאיחוד שלהן (למשל, על הישר הממשי, הבסיס לטופולוגיה הוא אוסף כל הקטעים הפתוחים). כעת, נניח כי אנו כופלים את המרחבים \(X_1,X_2,\dots\) (אני מציג כאן מכפלה בת מניה כי קל לכתוב אותה במפורש – אותו הגיון מתקיים גם במכפלות שאינן בנות מניה), אז נגדיר איבר בסיס במרחב \(X_1\times X_2\times\dots\) פשוט בתור קבוצה שהיא עצמה מכפלה של קבוצות פתוחות מכל המרחבים, כלומר קבוצה מהצורה \(A_1\times A_2\times\dots\), כאשר \(A_i\subseteq X_i\) היא קבוצה פתוחה.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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