88-101 חשיבה מתמטית: הבדלים בין גרסאות בדף

מתוך Math-Wiki
אין תקציר עריכה
 
(127 גרסאות ביניים של 9 משתמשים אינן מוצגות)
שורה 1: שורה 1:
ה'''סדנא בחשיבה מתמטית''' מציגה את עקרונות היסוד של הלוגיקה המתמטית.
(דף זה, למרות שמו, אינו שייך לאף קורס במחלקה למתמטיקה.)


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


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


דוגמא:
* [[88-101 חשיבה מתמטית - לוגיקה פסוקית|חלק ראשון]] - לוגיקה פסוקית
*"אם אני גבוה, איני מגיע לתקרה. אם איני מגיע לתקרה, אני יכול להוריד את צנצנת העוגיות מהמדף העליון. לכן, מכיוון שהיני גבוה, אני יכול להוריד את צנצת העוגיות מהמדף העליון".
* [[88-101 חשיבה מתמטית - כמתים|חלק שני]] - כמתים
*"מכיוון ששלוש הינו מספר זוגי, 2 בחזקת שלוש אינו מספר שלם". (שימו לב ששני הטיעונים הינם תקפים, שכן אם ההנחות נכונות המסקנה נובעת מהן, במקרה השני ההנחה כלל אינה נכונה)
* [[88-101 חשיבה מתמטית - הגדרות והוכחות|חלק שלישי]] - הגדרות והוכחות
 
===תרגיל===
פרק את הטקסט הבא לטיעונים; טענות, ומסקנות:
*"אומרים לנו כי אל זה, המצווה לסלוח ולמחול על כל משגה, איננו נוהג כך כל עיקר בעצמו, אלא עושה ממש את ההפך. שכן עונש הבא ככלות כל הדברים, כאשר העולם גמור ונסתם עליו הגולל, אינו יכול לשים לו לתכלית לשפר או לתקן, ולפיכך הוא נקמה גרידא".
 
====פתרון====
 
טיעון 1:
#עונש הבא בסוף לא יכול להיות למטרת תיקון.
מסקנה:
*עונש מהאל הוא למטרת נקמה בלבד.
 
טיעון 2:
#עונש הבא מהאל הוא למטרת נקמה בלבד.
*המסקנה - האל לא סולח.
 
== פסוקים וקשרים ==
 
==== וגם ====
 
'''וגם''' הוא קשר לוגי: אפשר לומר משפטים כמו "התפוח הזה אדום, וגם הצלחת ירוקה", שההצרנה שלהם היא במבנה "A וגם B". אי אפשר לומר "התפוח הזה אדום וגם", משום ש"וגם" הוא '''קשר בינארי''' - הוא מחבר שני אטומים. ערך האמת של הפסוק "A וגם B" הוא T, רק כאשר גם A וגם B הם T. בכל מקרה אחר, ערך האמת הוא F.
 
{| border="1" align="center" style="text-align:center;"
|P
|Q
|P <math>\and</math> Q
|-
|T
|T
|T
|-
|T
|F
|F
|-
|F
|T
|F
|-
|F
|F
|F
|}
 
'''דוגמא'''. כשפוליטיקאי מבטיח "לא נעלה מסים וגם נגדיל את ההוצאה לחינוך" (שצורתו "(לא A) וגם B"), הוא יצטרך לקיים שתי הבטחות: גם לא A, וגם B.
 
==== לא ====
 
כבר פגשנו את קשר השלילה, '''לא''', שהוא ה'''קשר האונארי''' היחיד (קשר אונארי הוא קשר המטפל באטום אחד). הפסוק המתקבל משלילת A הוא, כמובן, "לא A"; ערך האמת שלו הפוך לזה של A: אם "יבוא שוטר" הוא פסוק אמיתי, אז "לא יבוא שוטר" הוא פסוק שקרי, ולהיפך.
 
==== או ====
 
קשר נוסף הוא '''או''': גם הוא קשר בינארי, המאפשר לבנות את הפסוק "A או B". פסוק כזה מקבל ערך אמת T אם אחת ההצהרות קיבלה ערך אמת T, או שתיהן.
 
{| border="1" align="center" style="text-align:center;"
|P
|Q
|P <math>\or</math> Q
|-
|T
|T
|T
|-
|T
|F
|T
|-
|F
|T
|T
|-
|F
|F
|F
|}
 
 
'''דוגמא'''. כשפוליטיקאי מבטיח "לא נעלה מסים, או שנגדיל את ההוצאה לחינוך" (שצורתו "(לא A) או B"), הוא יוכל להסתפק בקיום אחת ההבטחות.
 
==== אם-אז ====
 
הקשר '''אם-אז''' בונה משפטים כמו "אם נגדיל את ההוצאה לחינוך, נעלה מסים": "אם A אז B". אם ערך האמת של A הוא T, אז ערך האמת של "אם A אז B" שווה לערך האמת של B: אם מבטיחים, ההצהרה "אם הבטחתי אז אקיים" נכונה אם אקיים, ולא נכונה אם לא אקיים. לעומת זאת, אם לא הבטחתי, ההצהרה נכונה בכל מקרה: כשערך האמת של A הוא F, ערך האמת של "אם A אז B" הוא T בלי קשר לערך האמת של B. זהו הסכם חשוב, גם אם קצת קשה לקבל אותו בתחילה.
 
{| border="1" align="center" style="text-align:center;"
|P
|Q
|P <math>\rightarrow</math> Q
|-
|T
|T
|T
|-
|T
|F
|F
|-
|F
|T
|T
|-
|F
|F
|T
|}
 
 
נראה עוד כמה דוגמאות.
 
* "אם לסבתא היו גלגלים היא היתה אוטובוס". זהו פסוק מהצורה "אם A אז B", כאשר A="לסבתא יש גלגלים", ו-B="סבתא היא אוטובוס". בהנחה ששתי הטענות שקריות, הפסוק עצמו הוא נכון: '''אם''' היו לסבתא גלגלים אז היא היתה אוטובוס, אבל אין לה, כך שזה בכלל לא חשוב אם היא אוטובוס או לא; הפסוק אמיתי.
'''תרגיל'''. בדוק שאם ערך האמת של B הוא T, אז ערך האמת של "אם A אז B" הוא תמיד T. קבע מתי ערך האמת של "אם A אז B" הוא T, אם ידוע שערך האמת של B הוא F.
 
על טענה מהצורה "אם P אז Q" שבה ערך האמת של P הוא F, אומרים שהיא '''נכונה באופן ריק'''.
 
'''תרגיל'''. אמא מבטיחה לילד: אם תקבל 100 במבחן, נקנה לך כלבלב. הוא קיבל במבחן 97, ואיננו יודעים האם קיבל כלבלב או לא. האם קיימה האם את ההבטחה?
 
==== אם ורק אם ====
 
'''דוגמא'''. הפסוק "אם יש עננים אז יורד גשם" אינו אמיתי, משום שיתכן שיהיו עננים בלי שירד גשם. לעומת זאת הפסוק "אם יורד גשם אז יש עננים" הוא אמיתי. את הפסוק השני, האמיתי, אפשר לנסח בצורות נוספות: "יש עננים אם יורד גשם" (מוכרחים להיות עננים אם יורד גשם), וגם "יורד גשם רק אם יש עננים" (כל אימת שיורד גשם, מוכרחים להיות עננים).
 
{| border="1" align="center" style="text-align:center;"
|P
|Q
|P <math>\leftrightarrow</math> Q
|-
|T
|T
|T
|-
|T
|F
|F
|-
|F
|T
|F
|-
|F
|F
|T
|}
 
 
נסכם: הפסוקים "אם A אז B", "B אם A" ו"A רק אם B" אומרים אותו הדבר.
 
לכן, במקום להגיד "אם B אז A, וגם אם A אז B", אפשר לומר "A אם B, ו-A רק אם B", ובקיצור "A אם ורק אם B". זהו הקשר הבינארי האחרון שנציג בשם:  '''אם ורק אם'''. ערך האמת של "A אם ורק אם B" הוא T בדיוק כאשר ערכי האמת של A ושל B שווים.
'''דוגמא'''. משולש הוא ישר זווית ושווה שוקיים אם ורק אם יש לו שתי זוויות של 45 מעלות.
 
=== סימוני הקשרים ===
 
לקשרים הסטנדרטיים יש גם סימון סטנדרטי, שיש להכיר ולזכור.
* במקום "לא A" כותבים <math>\ \sim A</math> או <math> \neg A</math>.
* במקום "A וגם B" כותבים <math>\ A \wedge B</math>.
* במקום "A או B" כותבים <math>\ A \vee B</math>.
* במקום "אם A אז B" כותבים <math>\ A \rightarrow B</math>; מותר גם <math>\ B \leftarrow A</math>.
* במקום "A אם ורק אם B" כותבים <math>\ A \leftrightarrow B</math>.
 
=== פסוקים מורכבים ===
 
את הקשרים שפגשנו (לא, וגם, או, אם-אז, אם-ורק-אם) אפשר להפעיל לא רק על אטומים, אלא גם על פסוקים.
 
'''דוגמא'''. אם אדם הוא מאושר אם ורק אם הוא לומד דברים חדשים, אז אדם שאינו לומד דברים חדשים אינו מאושר. (שמצרינים ל"אם (A אם ורק אם B), אז (אם לא B, אז לא A)").
 
פסוק הוא רצף של תווים, שכל אחד מהם הוא או אחד מסימני האטומים (מקובל להניח שעומדת לרשותנו אספקה אינסופית של סימנים לאטומים), או אחד מסימני הקשרים, או אחד הסימנים המיוחדים "(" ו")" שתפקידם להבטיח קריאה חד-משמעית של הפסוק. לדוגמא, הפסוק <math>\ A \wedge B \vee C</math> אינו ניתן לקריאה באופן ברור: אין לדעת האם הכוונה היא ל-<math>\ (A \wedge B) \vee C</math> או ל-<math>\ A \wedge (B \vee C)</math>. ('''תרגיל''': מצא ערכי אמת של A,B,C שיתנו ערכי אמת שונים לשני הפסוקים האחרונים). הכלל במקרה של ספק הוא פשוט: עדיף לבזבז מאה זוגות סוגריים מיותרים, מאשר להשמיט זוג סוגריים חיוני אחד.
 
כמובן שלא כל רצף של סימנים הוא פסוק. "<math>\ )A\vee\neg\wedge)BA\neg</math>" אינו פסוק. אפשר '''להגדיר''' מהו פסוק "באינדוקציה על המבנה":
* כל פסוק הוא או אטום, או שיש לו הצורה <math>\ \neg(x)</math> כאשר x הוא פסוק, או הצורה <math>\ (x)R(y)</math>, כאשר R הוא אחד מסימני הקשרים הבינאריים, ו-x,y הם פסוקים.
הגדרה זו היא אחת מאבני היסוד של '''הלוגיקה הפסוקית''', המטפלת בפסוקים באופן פורמלי. זהו רק '''הסוג הראשון''' של פסוקים שאנו פוגשים - בהמשך נכיר שני סוגים מתוחכמים יותר.
 
'''תרגיל'''. הוכח, באינדוקציה על אורך הפסוק, שאפשר לבנות מכונה שתזהה האם רצף של תווים הוא פסוק של הלוגיקה הפסוקית, או לא (הנח שהמכונה יודעת לזהות אטומים).
 
== טבלאות אמת ==
 
'''טבלת אמת''' מאפשרת לטפל בפסוק על-ידי בחינת כל האפשרויות לערכי אמת של האטומים המעורבים בו. טכנית, אם בפסוק יש n אטומים, הטבלה מורכבת מ-<math>\ 2^n</math> שורות, שבכל אחת מהן מקצים אפשרות אחרת לערכי האמת של האטומים. למשל, בטבלת האמת של <math>\ \varphi = ((A \vee B) \rightarrow A) \rightarrow \neg B</math> יש ארבע שורות, המתאימות לערכי האמת TT, TF, FT, FF עבור האטומים AB. בטבלה יש להוסיף גם את ערך האמת של כל תת-פסוק (במקרה דנן, <math>\ A \vee B</math> ו- <math>\ (A\vee B) \rightarrow A</math>), ובסופו של דבר את ערך האמת של הפסוק עצמו.
 
פסוק שערך האמת שלו הוא תמיד T, לכל הצבה של ערכי אמת באטומים, נקרא '''טאוטולוגיה'''. פסוק שערך האמת שלו הוא תמיד F נקרא '''סתירה'''.
 
לטאוטולוגיות חשיבות מיוחדת בלוגיקה, משום שהם מבטאות אמת צורנית אוניברסלית, שאינה תלויה בהצבת ערכי האמת. (ראו גם [http://xkcd.com/703/]).
'''דוגמא'''. הפסוק <math>\ \varphi</math> שהוזכר לעיל הוא טאוטולוגיה. הוא קובע שאם מההנחה "A או B" אפשר להסיק את A, אז B מוכרח להיות שקרי.
 
'''תרגיל'''. אם <math>\ \psi = \psi(A_1,\dots,A_n)</math> הוא פסוק טאוטולוגי התלוי באטומים <math>\ A_1,\dots,A_n</math>, אז כל פסוק המתקבל מהצבה של פסוקים כלשהם <math>\ \theta_1,\dots,\theta_n</math> במקום האטומים (באופן עקבי), גם הוא טאוטולוגי.
 
חשוב להכיר טאוטולוגיות בסיסיות, ועוד יותר חשוב לדעת כיצד בודקים האם פסוק הוא טאוטולוגי, ולזהות פסוקים שאינם טאוטולוגיות.
'''דוגמאות'''. להלן כמה טאוטולוגיות שקל לבדוק:
* <math>\ (A \wedge B) \rightarrow A</math> (כלומר, אם A וגם B, אז בפרט A);
* <math>\ A \rightarrow (A \vee B)</math> (אם A, אז בוודאי מתקיים A או B);
* <math>\ A \vee \neg A</math> (זהו "כלל השלישי הנמנע": או שהתפוח אדום או שאינו אדום (כמובן, בתנאי שמגדירים היטב מתי תפוח הוא אדום));
* <math>\ ((A\rightarrow B)\wedge (B\rightarrow C)) \rightarrow (A \rightarrow C)</math> (אם מ-A נובע B ומ-B נובע C, אז מ-A נובע C).
 
אפשר להמציא עוד טאוטולוגיות כהנה וכהנה.
'''תרגיל'''. הסבר מדוע פסוק שמופיעים בו רק הקשרים הלוגיים "או" ו"וגם" אינו יכול להיות טאוטולוגיה.
 
חשוב גם להכיר סתירות בסיסיות:
*<math>P\and \neg P</math>
*<math>(A\rightarrow B)\and A \and \neg B</math>
*<math>(A \leftrightarrow B)\and (A\rightarrow \neg B)\and A</math>
 
הגדרתו של הקשר הלוגי "אם ורק אם" מובילה אותנו להגדרה שימושית:
 
'''הגדרה'''. הפסוקים <math>\ \varphi, \varphi'</math> הם '''שקולים''' אם הפסוק <math>\ \varphi \leftrightarrow \varphi'</math> הוא טאוטולוגיה. במקרה כזה מסמנים <math>\ \varphi \equiv \varphi'</math>.
 
'''דוגמאות'''.
* <math>\ \neg\neg A \equiv A</math>
* <math>\ (A\rightarrow B) \equiv ((\neg A) \vee B)</math>.
* <math>\ (A \leftrightarrow B) \equiv ((A \wedge B)\vee((\neg A)\wedge (\neg B)</math>.
* <math>\ (A \leftrightarrow B) \equiv (A \rightarrow B) \wedge (B \rightarrow A)</math>.
* <math>\ (A \rightarrow B) \equiv ((\neg B) \rightarrow (\neg A))</math>.
 
 
=== חוקי דה-מורגן ===
 
חשוב לדעת לנסח במדוייק את השלילה של פסוק נתון. הדוגמאות הבסיסיות מסוג זה נקראות '''כללי דה-מורגן''':
* <math>\ \neg (A \vee B) \equiv (\neg A) \wedge (\neg B)</math>.
* <math>\ \neg (A \wedge B) \equiv (\neg A) \vee (\neg B)</math>.
 
===משפט===
 
כל פסוק לוגי שקול להצבת האטומים <math>\ A_i</math> ושלילתם <math>\ \neg A_i</math>, בפסוק שבו מופיעים רק הקשרים "או" ו"וגם".
 
*<math>A \rightarrow B\equiv \neg A \or B</math>
*<math>A\or B \equiv \neg (\neg A \and \neg B) </math>
 
== הצרנה ==
 
'''הצרנה''' היא תרגום של פסוק או טיעון יומיומי או מתמטי לשפה לוגית מדוייקת, על-פי צורתו, תוך התעלמות מתוכנו. לאחר שהפסוק תורגם, אפשר להפעיל עליו כלים לוגיים סטנדרטיים על-מנת לבחון אותו, להעביר אותו לצורה שקולה, לעמת אותו עם פסוקים אחרים, וכדומה.
 
* "אם לא תגמור מהצלחת, יבוא שוטר".
כדי לטפל בפסוק כזה, עלינו להגדיר שני אטומים: A="תגמור מהצלחת", B="יבוא שוטר". הפסוק קובע "אם לא A אז B". כך אפשר לראות מיד שיש לו אותו מבנה לוגי, אותה צורה, כמו לפסוק הבא:
* "אם לא נכלכל את צעדינו בתבונה, נמצא את עצמנו מול שוקת שבורה".
(אם לא A אז B, כאשר A="נכלכל את צעדינו בתבונה" ו-B="נמצא את עצמנו מול שוקת שבורה").
 
הדוגמאות יכולות להיות מסובכות בהרבה:
* "כאשר אני עייף ורעב אני נעשה עצבני, או שאני הולך לישון; אבל אם אני עצבני ולא עייף, אז אני רעב". (כלומר, עבור הביטויים המתאימים A,B,C,D: (אם A וגם B אז (C או D)), וגם (אם C ולא A אז לא B)).
 
*חוקי המשחק [http://www.setgame.com/set/puzzle_frame.htm SET]: על השולחן מונחים שנים-עשר קלפים, לכל קלף במשחק יש שלוש תכונות: '''צורה''', '''צבע''', '''מספר''' ו'''מילוי'''. על השחקנים למצוא שלישיות חוקיות; ''שלישיה חוקית'' הינה '''שלישיה של קלפים אשר כל תכונה שלהם בנפרד שווה בכולם או שונה בכולם'''. לכן שלישיה הינה חוקית אם (((הצבע של שלושת הקלפים זהה) או (לכל קלף יש צבע אחר)) וגם ((המילוי של שלושת הקלפים זהה) או (לכל קלף יש מילוי אחר))וגם ((המספר של שלושת הקלפים זהה) או (לכל קלף יש מספר אחר)) וגם ((הצורה של שלושת הקלפים זהה) או (לכל קלף יש צורה אחרת))). (כלומר, עבור הביטויים המתאימים A,B,C,D,E,F,H,I: שלישיה הינה חוקית אם ((A או B) וגם (C או D) וגם (E או F) וגם (H או I))).
 
הצרנה היא כלי מתמטי ולא ספרותי, ותוך כדי יצירת ביטוי חד-משמעי היא עשויה לאבד את המשמעויות העדינות של המשפט המקורי. לדוגמא, מצרינים
* "ירד גשם ובכל זאת היה חם בחוץ" ו-
* "ירד גשם והיה חם בחוץ"
באותה צורה ("A וגם B"). המשמעות המרומזת ("בדרך כלל A גורר את השלילה של B") נעלמת.
 
'''תרגיל'''. הצרן: למדתי היטב למבחן, ואף על פי כן נכשלתי בו.
 
דוגמא נוספת:
*"ערן לובש חולצה סגולה אם הוא לובש מכנסיים בצבע שחור", "כאשר ערן לובש מכנסיים בצבע שחור אז הוא לובש חולצה סגולה", "יחד עם מכנסיים בצבע שחור, ערן לובש חולצה סגולה בלבד", וכן הלאה.
 
=== ערך אמת ===
 
'''ערך אמת''' הוא אחת משתי האפשרויות - אמת או שקר, שמסמנים לשם הקיצור T ו-F (מ-True ו-False, כמובן). אם האטומים מפורטים מספיק (מי יגמור מה ומתי מאיזו צלחת), כל אטום מקבל ערך אמת. או שתגמור מהצלחת, או שלא. או שיבוא שוטר, או שלא. אם תגמור מהצלחת, אז ערך האמת של הפסוק "תגמור מהצלחת" הוא T, ואחרת, הוא F. זו הדרך לחבר את תמונת העולם של המציאות, עם הפסוקים הלוגיים הפורמליים.
 
שימו לב שערך האמת עשוי להיות T או F; אומרים "לפסוק יש ערך אמת T" או "לפסוק יש ערך אמת F", ולא "לפסוק יש ערך אמת" או "לפסוק יש ערך שקר". (למתחכמים: כתוב כאן - אומרים ("לפסוק יש ערך אמת T" או "לפסוק יש ערך אמת F"), ולא ("לפסוק יש ערך אמת" או "לפסוק יש ערך שקר"), ולא - אומרים "לפסוק יש ערך אמת T" או ("לפסוק יש ערך אמת F", ולא "לפסוק יש ערך אמת") או "לפסוק יש ערך שקר").
 
כאשר משייכים לכל אטום של פסוק לוגי ערך אמת, אפשר לחשב את ערך האמת של הפסוק עצמו. לשם כך יש להכיר את ה'''קשרים''' הלוגיים הבסיסיים.
 
'''דוגמא'''-
 
קבעו את ערך האמת של הפסוקים הבא:
 
"(יצחק רבין נרצח וגם אריאל שרון נרצח) או (מלפפון הינו סוג של פרי)"
 
== תחשיב פרידקטים ==
 
הלוגיקה שלמדנו עד כה מאפשרת לטפל רק במצבים קונקרטיים: הצלחת הזו אדומה, הכלב הזה נובח. כלים אלו אינם מאפשרים לנסח אפילו טענות פשוטות כמו
* לכל מספר יש מספר גדול יותר
או
* מישהו כתב את הדפים האלה.
 
כדי להצרין טענות כאלה, המופיעות במתמטיקה בכל מקום, עלינו לרכוש שני כלים חדשים: פרדיקטים וכמתים.
 
=== פרדיקטים ===
 
בלוגיקה מתמטית, '''פרדיקט''' הוא פונקציה המקבלת משתנה או כמה משתנים, ומחזירה ערך אמת (T או F). זוהי הכללה של האטומים שפגשנו קודם לכן, שאינם אלא פרידקטים ללא משתנים. פרדיקט הוא למעשה '''תכונה''' - של משתנה בודד או של כמה משתנים. למשתנים יכולה להיות התכונה (הפרדיקט מקבל ערך-אמת T), או שלא תהיה להם התכונה (ערך F).
 
'''דוגמאות'''.
* כדי לומר "התפוח הזה צהוב", מגדירים פרדיקט <math>\ Y(x)</math>, עם משתנה אחד, המחזיר את הערך T כאשר x צהוב, ואת הערך F בכל מקרה אחר.
* כדי לומר "דפנה היא אמא של יובל", אפשר להגדיר פרדיקט <math>\ M(x,y)</math> המקבל ערך T כאשר x היא אמא של y. יש להציב את דפנה במקום x ואת יובל במקום y.
* כדי לומר "2 קטן מ-7", יש להגדיר פרדיקט של סדר, <math>\ S(x,y)</math>, המקבל ערך T כאשר <math>\ x<y</math>, ולכתוב <math>\ S(2,7)</math>. מכיוון שיחס הסדר כבר זכה לשם מוכר, אפשר להשתמש בו ישירות, ולכתוב את הפרדיקט <math>\ 2<7</math>.
 
'''תרגיל'''. הגדירו פרדיקטים והצבות במשתנים, כך שהפסוק <math>\ A(x) \vee (B(x,y) \wedge A(y))</math> יצרין את "אורן או חברתו קארין לומדים לוגיקה".
 
הפסוקים מהסוג הראשון שפגשנו הורכבו מאטומים המקושרים על-ידי הקשרים הלוגיים. הסוג השני הוא בעל אותו מבנה, אלא שבמקום אטומים מותר להשתמש בפרדיקטים עם משתנים כלשהם. התוצאה, כמו בסוג הראשון, היא פסוק לוגי - אלא שכאן התוצאה תלויה במשתנים. לכן, במקום לסמן את הפסוק באות בודדת, נכתוב <math>\ \psi(x)</math> או <math>\ \varphi(x,y)</math>.
 
חשוב להבין שערך האמת של פסוק המערב בפרדיקטים, כמו  <math>\ \psi(x) = Y(x) \rightarrow M(x,x)</math> ("אם x צהוב, אז הוא אמא של עצמו") תלוי בערך המשתנה: בדוגמא הזו, אם x הוא אדם צהוב, הפסוק מקבל את הערך F, ואם x הוא אדם שאינו צהוב, ערך האמת הוא T.
 
גמישות זו עדיין אינה מאפשרת לנסח טענות כלליות, כמו "אף אדם אינו אמא של עצמו". לשם כך יש צורך בכמתים.
 
== כמתים ==
 
=== פסוקים עם כמתים ===
 
ה'''כמתים''', המציינים תחולה של משתנה, הם תוספת חיונית למערך הקשרים שלנו. יש שני כמתים: "לכל", המסומן באות <math>\ \forall</math> (זוהי A הפוכה, קיצור של המלה All); ו"קיים", המסומן באות <math>\ \exists</math> (E הפוכה, קיצור של Exists). כשבונים פסוק עם כמתים, מותר לקחת פסוק קיים (הכולל פרדיקטים, שבהם x הוא משתנה), ולבנות:
* <math>\ \forall x : P(x)</math> - מקבל ערך אמת T אם הפסוק <math>\ P(x)</math> מקבל ערך אמת לכל הצבה של x.
* <math>\ \exists x: P(x)</math> - מקבל ערך אמת T אם יש הצבה של x כך שהפסוק <math>\ P(x)</math> מקבל ערך אמת.
 
'''דוגמא'''. את הפסוק "אין מספר גדול ביותר" אפשר להצרין באופן פשטני, כך: <math>\ \neg \exists x: L(x)</math>, כאשר <math>\ L(x)</math> הוא הפרדיקט "x הוא מספר גדול ביותר". הצרנה מעט יותר מתוחכמת תגדיר את הפרדיקט <math>\ P(x,y)</math> שפירושו "x<y", ותצרין ל-<math>\ \forall x: \exists y: P(x,y)</math>, כלומר, לכל מספר יש מספר הגדול ממנו.
 
זהו הסוג השלישי (והאחרון עבורנו) של פסוקים לוגיים. נסכם: פסוק הוא או פרדיקט (לרבות אטומים, שהם פרדיקטים ללא משתנים), או חיבור של פסוקים קצרים יותר באמצעות קשרים לוגיים, או החלה של כמת על פסוק קצר יותר.
 
=== פסוקים אמיתיים ===
 
לפסוקים שיש בהם כמתים אי אפשר לבנות טבלאות אמת, משום שלצד האטומים המקבלים רק שני ערכי אמת אפשריים, יש בהם משתנים העשויים לעבור על-פני מספר אינסופי של אפשרויות. לכן הלוגיקה המטפלת בפסוקים עם כמתים (הנקראת "לוגיקה מסדר ראשון") מורכבת יותר מן הלוגיקה הפסוקית, ויש לה יכולת ביטוי רחבה יותר. גם בלוגיקה זו אומרים ששני פסוקים <math>\ \varphi, \psi</math> הם שקולים אם <math>\ \varphi \leftrightarrow \psi</math> מקבל ערך אמת לכל הצבה של המשתנים המעורבים.
 
'''פסוק אמיתי''' הוא כזה שמתקיים לכל בחירה של הפרדיקטים ולכל הצבה במשתנים. כל הטאוטולוגיות הן פסוקים אמיתיים, אבל ההיפך אינו נכון. לא נכנס כאן לפרטים, שמהם מתפרנסים חוקרי הלוגיקה המתמטית.
 
'''תרגיל'''. קבע אלו מהפסוקים הבאים הם אמיתיים, כאשר הסימנים "לכל" ו"קיים" פירושם "לכל מספר שלם" ו"קיים מספר שלם". אם הפסוק אינו אמיתי, בחר פרדיקטים ומשתנים המדגימים זאת.
* <math>\ \forall x P(x) \implies \exists x P(x)</math>.
* <math>\ \forall z: P(z) \rightarrow \forall x,y: P(x^2+y^2)</math>.
* <math>\ \exists z: P(z) \rightarrow \exists x,y: P(x^2+y^2)</math>.
* <math>\ (\forall x: P(x) \wedge \forall x: Q(x)) \rightarrow \forall x: (P(x) \wedge Q(x))</math>.
* <math>\ \forall x: (P(x) \wedge Q(x)) \rightarrow (\forall x: P(x) \wedge \forall x: Q(x))</math>.
* <math>\ (\exists x: P(x) \wedge \exists x: Q(x)) \rightarrow \exists x: (P(x) \wedge Q(x))</math>.
* <math>\ \exists x: (P(x) \wedge Q(x)) \rightarrow (\exists x: P(x) \wedge \exists x: Q(x))</math>.
 
'''תרגיל'''. שכנע את עצמך באמיתיות הפסוק הבא:
* <math>\ (\forall x: P(x) \rightarrow Q(x)) \rightarrow (\forall x: P(x) \rightarrow \forall x: Q(x))</math>.
 
'''תרגיל'''. נניח ש-c הוא קבוע, A תכונה אטומית, ו-P פרידקט עם משתנה אחד. הוכח את השקילות של הפסוקים הבאים:
* <math>\ (\forall x: P(x)) \leftrightarrow A</math> (השמש זורחת אם ורק אם כל התרנגולים קוראים),
* <math>\ (P(c) \rightarrow A) \wedge A \rightarrow \forall x: P(x)</math> (כשהתרנגול קוקי קורא השמש זורחת, וכשהשמש זורחת כל התרנגולים קוראים).
* האם הפסוק הזה שקול לפסוק <math>\ \forall x: (P(x) \leftrightarrow A)</math> (כל תרנגול, בנפרד, קורא אם ורק אם השמש זורחת)?
 
=== משתנים ותחולתם ===
 
אנו מגיעים לנקודה חשובה ביותר הנוגעת לשמות המשתנים. לכל כמת יש אזור תחולה. אם נכתוב למשל <math>\ \forall x : (P(x) \rightarrow Q(x)) \rightarrow \exists y : P(y)</math>, אזור התחולה של הכמת הראשון הוא תת-הפסוק <math>\ P(x) \rightarrow Q(x)</math>, ואזור התחולה של הכמת השני הוא ההופעה השניה. בתוך אזור התחולה הזה, '''אין כל חשיבות לשם המשתנה''' - אין שום הבדל בין "לכל נורה x יש מתג y כך ש-y מפעיל את x" (הצרן את הפסוק הזה), לבין "לכל נורה z יש מתג y כך ש-y מפעיל את z": השני מתקבל מהחלפת המשתנה x במשתנה z. לעומת זאת, הפסוק "לכל נורה x יש מתג y כך ש-y מפעיל את z" הוא בעל משמעות שונה (יש לו "משתנה חופשי", z, שההצבה בו תקבע את ערך האמת); הצבה לא זהירה ושגויה משנה את משמעות הפסוק.
 
נתבונן בפרדיקט בן שני משתנים, <math>\ P(x,y)</math> (למשל x אוהב את y). ערך האמת שלו תלוי בהצבה של x ו-y.
נשווה זאת לפסוק <math>\ \forall x : P(x,y)</math> (כל x אוהב את y). בפסוק זה אי אפשר להציב את x: הפסוק למעשה אומר "כולם אוהבים את y", והתפקיד של x הוא פורמלי לחלוטין - לסמן את המשתנה העובר על כל האפשרויות. הפסוק <math>\ \forall z : P(z,y)</math> שקול לגמרי לקודם. כדי להדגיש זאת, אפשר לכתוב <math>\ \phi(y) = \forall x: P(x,y)</math>, עם המשתנה היחיד y.
 
שימו לב לתפקיד הרגיש של x בפסוק כזה. אם נכתוב למשל <math>\ \forall x : P(x,x)</math> ("כל אחד אוהב את עצמו"), נקבל פסוק בעל משמעות שונה לחלוטין. אם רוצים להציב ב-<math>\ \phi</math> את x דווקא, מוכרחים להחליף לפני כן את המשתנה. לא נכתוב <math>\ \phi(x) = \forall x: P(x,x)</math>, אלא <math>\ \phi(x) = \forall z: P(z,x)</math>.
 
נתבונן בדוגמא נוספת. אם ידועה תכונה Q הנכונה לכל x ולכל y, כותבים <math>\ \forall x : \forall y : Q(x,y)</math> (ולפעמים, בקיצור, <math>\ \forall x,y: Q(x,y)</math>). מכיוון שהטענה נכונה לכל x ולכל y, אפשר להציב בה ערכים בכל דרך שנרצה - כמובן שלכל x ו-y מתקיים <math>\ Q(x,y)</math>, אבל גם <math>\ Q(y,x)</math> או <math>\ Q(x,x)</math>.
 
לעומת זאת, הטענה <math>\ \exists x,y: Q(x,y)</math> אומרת שקיימים x,y המקיימים את התכונה (מישהו נשך מישהו אחר במרפק). אנחנו לא יכולים לבחור את x,y - וגם לא להניח שיש קשר מסויים ביניהם. בפרט, לא נובע מההנחה ש- <math>\ \exists x: Q(x,x)</math> (מישהו נשך את עצמו במרפק).
 
=== וריאציות וכימות יחסי ===
 
הכמתים היסודיים מאפשרים לנסח טענות סטנדרטיות נוספות.
* <math> \exists x : (P(x) \wedge \forall y : (P(y) \rightarrow x=y))</math> -- "קיים x המקיים את התכונה P, ובנוסף, כל y המקיים את התכונה P שווה ל-x". כלומר: "קיים x יחיד המקיים את התכונה P". לפעמים מקצרים את הפסוק הזה וכותבים <math>\ \exists! x: P(x)</math>. אפשר לראות בצירוף "<math>\ \exists !</math>" כמת שלישי, למרות שכאמור לעיל ניתן להגדיר אותו באמצעות שני הכמתים האחרים (בנוכחות פרדיקט השוויון).
 
לפעמים רוצים לומר שיש אינסוף מספרים המקיימים תכונה מסויימת. אפשר לעשות זאת כך:
* <math>\ \forall n : \exists x : ((x>n) \wedge P(x))</math>: "לכל n יש x גדול ממנו המקיים את התכונה". אם היה רק מספר סופי של מספרים המקיימים את התכונה המדוברת, אז הפסוק היה שקרי משום שאפשר היה לבחור בתור n את המספר הגדול ביותר.
 
מאחורי כל כמת מסתתרת "קבוצה אוניברסלית", שהיא קבוצת הערכים המותרים עבור המשתנה הצמוד לכמת (מספרים ממשיים, מספרים טבעיים, פירות, אנשים). בדרך כלל הקבוצה הזו מובנת מההקשר; אם לא, יש לציין במפורש מהו טווח הערכים המתאים. לצרכי נוחות, מרשים גמישות במבנה הפסוקים, כך שאפשר יהיה לכמת "כימות יחסי". לדוגמא, מותר לכתוב
* <math>\ \forall x>0: \exists y>0: y<x</math> - "לכל מספר חיובי x יש מספר חיובי y הקטן ממנו", כלומר "אין מספר חיובי קטן ביותר", בתור קיצור לכתיבה המלאה <math>\ \forall x: ((x>0) \rightarrow (\exists y: ((y>0) \wedge (y<x))))</math> - "לכל מספר x, אם הוא חיובי, אז קיים מספר y שהוא חיובי וקטן מ-x".
 
'''תרגיל'''. נאמר שאיבר a של קבוצת מספרים A הוא "חסם עליון" אם הוא גדול מכל איבר אחר בקבוצה. הצרן את הטענה "לקבוצה A יש חסם עליון". הצרן את הטענה "אם יש לקבוצה חסם עליון, אז הוא יחיד".
 
'''תרגיל'''.
* באחד התרגילים הקודמים היית אמור לאשר שהפסוק <math>\ \forall x P(x) \implies \exists x P(x)</math> הוא אמיתי, אם הכמתים מתייחסים לקבוצת המספרים השלמים. מצא מרחב חילה של הכמתים שעבורו הפסוק אינו אמיתי (חשוב על הפסוק "כל פיל מעופף יודע קרוא וכתוב; מכאן שיש פיל מעופף היודע קרוא וכתוב").
 
יש טענות שאפשר לנסח באופן ישיר, אבל קל יותר לנסח באופן יחסי:
'''תרגיל'''. נניח שהיכרות היא פרדיקט סימטרי P בשני משתנים (כלומר, <math>\ \forall x,y: P(x,y) \leftrightarrow P(y,x)</math>).
* נסח את הפסוק: מבין כל ששה אנשים, או שיש שלושה המכירים זה את זה, או שיש שלושה שאף אחד מהם אינו מכיר אף אחד אחר.
'''פתרון חלקי'''. הפתרון הישיר הוא מהצורה <math>\ \forall x_1,x_2,x_3,x_4,x_5,x_6: P(x_1,x_2,x_3,x_4,x_5,x_6)</math> כאשר P הוא פסוק ארוך מאד בן ששה משתנים, שאין בו כמתים. יעיל יותר לפתור כך: <math>\ x_1,\dots,x_6</math> שונים, קיימים y,z,u מתוך הערכים <math>\ x_1,\dots,x_6</math>, המקיימים תנאי מסויים.
 
בשלב זה קשה לכתוב "קיימים y,z,u מתוך" קבוצה מסויימת; כדי לעשות זאת היטב יש ללמוד מעט תורת הקבוצות.
 
=== שלילת כמתים ===
 
כמו לפסוקים המורכבים מקשרים בלבד, גם לאחר הוספת הכמתים יש לכל פסוק "פעולה אחרונה": הקשר האחרון או הכמת האחרון שהופעל כדי ליצור את הפסוק. לדוגמא:
* הפעולה האחרונה ב- <math>\ \forall x: ((x<y) \rightarrow (x<0))</math> ("לכל x, אם x קטן מ-y אז x שלילי") היא הכמת הכולל על x; לעומת זאת הפעולה האחרונה ב- <math>\ (\forall x: (x<y)) \rightarrow (y<0))</math> ("אם כל x הוא קטן מ-y, אז y שלילי") היא הקשר "אם-אז".
 
כבר למדנו כיצד לשלול פסוק שבו הפעולה האחרונה היא אחד הקשרים. כדי לשלול פסוק שבו הפעולה האחרונה היא כמת מפעילים שתי הבחנות פשוטות, שנציג כדוגמאות:
* "לא כל תפוח הוא צהוב" שקול לכך ש"קיים תפוח שאינו צהוב".
* "לא קיים תפוח צהוב" שקול לכך ש"כל תפוח אינו צהוב".
כלומר, לכל פרדיקט P,
* <math>\ \neg \forall x: P(x) \equiv \exists x: \neg P(x)</math>, וכך גם
* <math>\ \neg \exists x: P(x) \equiv \forall x: \neg P(x)</math>.
 
אפשר "לחסוך" ולהשתמש רק באחד משני הכמתים:
* <math>\ \exists x: P(x) \equiv \neg \forall x: \neg P(x)</math> ("קיים סוס שחור" = "אין זה נכון שכל הסוסים אינם שחורים").
באופן הזה אפשר להחליף כל מופע של הכמת "קיים" במופע אחד של הכמת "לכל"; כמובן, גם ההיפך אפשרי:
* <math>\ \forall x: P(x) \equiv \neg \exists x: \neg P(x)</math> ("כל הסוסים שחורים" = "אין אף סוס שאינו שחור").
בפועל, שני הכמתים נמצאים בשימוש מתמטי תמידי.
 
'''תרגיל'''. '''סדרה''' היא התאמה של מספר ממשי לכל מספר טבעי: <math>\ a_1,a_2,a_3,\cdots</math>. מספר ממשי L הוא '''גבול''' של הסדרה, אם לכל מספר חיובי שנבחר, יש מקום בסדרה שממנו והלאה מרחק האברים בסדרה מ-L קטן מן המספר האמור. הצרן את הטענות הבאות:
* "0 הוא הגבול של הסדרה <math>\ 1, 1/2, 1/3, 1/4, \cdots</math>".
* "לסדרה <math>\ 1, 1/2, 1/3, 1/4, \cdots</math> קיים גבול".
* "L איננו הגבול של הסדרה <math>\ a_1,a_2,\dots</math>".
* "לסדרה <math>\ a_1,a_2,\dots</math> לא קיים גבול".
* "אם יש לסדרה <math>\ a_1,a_2,\dots</math> גבול, אז הוא יחיד".
 
'''תרגיל'''. הפונקציה <math>\ f : C \rightarrow \mathbb{R}</math> '''רציפה בנקודה x''' אם לכל <math>\ \epsilon>0</math>, קיים <math>\ \delta>0</math> כך שאם <math>\ |x-y|<\delta</math> (עבור y בקטע) אז <math>\ |f(x)-f(y)|<\epsilon</math>. הפונקציה '''רציפה בקטע C''' אם היא רציפה בכל הנקודות x הנמצאות בקטע. הצרן את הטענות הבאות:
* הפונקציה <math>\ f(x) = x^5</math> רציפה בקטע [0,1].
* הפונקציה <math>\ f(x) = x^5</math> אינה רציפה בנקודה x=0.
* הפונקציה f רציפה בנקודה x אם ורק אם לכל סדרה <math>\ a_1,a_2,\dots</math> המתכנסת ל-x, הערך <math>\ f(x)</math> הוא גבול של הסדרה <math>\ f(a_1),f(a_2),\dots</math>.
 
'''תרגיל'''. הפונקציה <math>\ f : C \rightarrow \mathbb{R}</math> '''רציפה במידה שווה בקטע C''' אם לכל <math>\ \epsilon>0</math>, קיים <math>\ \delta>0</math> כך שלכל x,y בקטע, אם <math>\ |x-y|<\delta</math> אז <math>\ |f(x)-f(y)|<\epsilon</math>. הצרן את הטענות הבאות:
* הפונקציה <math>\ f(x) = x^5</math> רציפה במידה שווה בקטע [0,1].
* הפונקציה <math>\ f(x) = x^5</math> אינה רציפה במידה שווה בקטע [0,1].
* אם הפונקציה f רציפה במידה שווה בקטע C, אז היא רציפה בכל נקודה שלו.
 
'''תרגיל'''.
* נסח את שלילתו של הפסוק שהופיע קודם לכן, "מבין כל ששה אנשים, או שיש שלושה המכירים זה את זה, או שיש שלושה שאף אחד מהם אינו מכיר אף אחד אחר", עם חמישה אנשים במקום ששה.
* (נסה להוכיח ששתי הטענות נכונות: מכל ששה אנשים יש שלושה מכרים או שלושה זרים, אבל לא מכל חמישה).
 
=== על מה מכמתים ===
 
ראינו כמה טענות שכדי להביע אותן דרושים כמה כמתים, מקוננים זה בתוך זה. ראינו שאפשר לשכלל את מבנה הפסוקים עוד יותר באמצעות כימות יחסי. נתחיל בכמה דוגמאות קלות, ואחר-כך נראה שהדברים יכולים להסתבך.
 
'''דוגמא'''. הפסוק <math>\ (\exists x: x=x) \wedge (\forall x,y: x=y)</math> מקבל ערך אמת אם במרחב הכימות יש בדיוק ערך אחד.
'''תרגיל'''. כתוב פסוק שיקבל ערך אמת רק אם מרחב הכימות הוא בן שני ערכים.
'''תרגיל'''. כתוב פסוק שיקבל ערך אמת רק אם מרחב הכימות הוא בן שלושה ערכים.
 
התרגיל הבא יהיה, בשלב זה, קשה מאד לפתרון:
'''תרגיל'''. נסה לתכנן פסוק שיקבל ערך אמת רק אם מרחב הכימות הוא סופי.
 
הבעיה היא שעד כה הרשינו לכתוב <math>\ \forall x_1,x_2,x_3</math> בתור קיצור ל-<math>\ \forall x_1 \forall x_2 \forall x_3</math>, ובקלות אפשר לנחש למה הכוונה גם בביטוי כמו <math>\ \forall x_1,\dots,x_{100}</math> (למרות שלא נעים לכתוב אותו במפורש). אבל איננו יכולים לכתוב <math>\ \exists n: \forall x_1,\dots,x_n: Q(x_1,\dots,x_n)</math> (זה אינו קיצור של שום דבר). כשנרכוש נסיון מסויים בתורת הקבוצות נראה שאפשר לעקוף את הבעיה הזו די בקלות (הרעיון הוא שאפשר לכמת על אובייקט אחד - פונקציה המוגדרת על המספרים הטבעיים - במקום על מספר לא ידוע של אובייקטים). מאידך, כימות של פונקציה (או אובייקטים דומים לזה) הוא דבר מסובך בפני עצמו: הוא גורם שהפסוק כבר לא יהיה שייך ל"שפה מסדר ראשון". על כך - בקורס בלוגיקה מתמטית, ולא כאן.
 
ניתן דוגמא נוספת שבה נחוץ לכמת על משתנים שמספרם אינו ידוע מראש.
'''תרגיל'''. אחת הדרכים להגדיר את המבנה הקומבינטורי החשוב '''גרף''' היא לחשוב עליו כעל פרדיקט סימטרי P בשני משתנים (את הסימטריה הגדרנו קודם לכן). גרפים אפשר לצייר, על-ידי מתיחת קשת בין שני קודקודים x,y בדיוק כאשר הפרדיקט <math>\ P(x,y)</math> מקבל ערך אמת T.
* נסח את הפסוק "בגרף אין משולשים".
* גרף שאין בו לולאות נקרא '''עץ'''. נסח את הפסוק "גרף זה הוא עץ", עבור הגרף P.
 
====תרגיל====
אומרים שקבוצת וקטורים <math>v_1,...,v_n</math> '''תלויים לינארית''' אם"ם לא קיימים קבועים <math>a_1,...,a_n</math> כך ש <math>a_1v_1+...+a_nv_n=0</math> וגם לפחות אחד מבין הקבועים שונה מאפס
 
(דוגמא: (0,1), (1,0) אינם תלויים לינארית.)
 
 
הוכח ש<math>v_1,..,v_n</math> תלויים לינארית אם"ם <math>v_1+v_2,v_1-v_2,v_3,...,v_n</math> תלויים לינארית.
 
(ניתן להניח את חוקי האסוציאטיביות והפילוג על החיבור והכפל בקבועים.)
 
====תרגיל====
שלול את הטענה הבאה: לכל <math>a\in A</math> קיים <math>b \in B</math> כך ש <math>b\notin A \setminus \{a\}</math> וגם הקבוצה <math>(A\setminus\{a\})\cup \{b\}</math> הינה בת"ל.
 
פתרון: קיים <math>a\in A</math> כך שלכל <math>b \in B</math> מתקיים <math>b\in A \setminus \{a\}</math> או <math>(A\setminus\{a\})\cup \{b\}</math> לא בת"ל.
 
 
== הגדרות ==
 
הגדרות הן אחד הדברים המיותרים ביותר במתמטיקה, משום שהגדרה אינה נושאת שום תוכן משל עצמה: כל מה שהיא עושה הוא להחליף תכונה או מצבור של תכונות במונח קצר וייחודי. מאידך, הגדרות הן אחד הדברים החיוניים ביותר במתמטיקה: הן מחליפות מושגים בסיסיים ביותר, בהדרגה, במושגים מורכבים יותר, שאפשר להבין את המשמעות שלהן כל אחת לעצמה, ולו היינו פורשים אותן ויורדים בכל פעם אל המושגים הבסיסיים ביותר, הטענות היו מגיעות לאורך שקשה לתפוס.
 
'''דוגמא'''. באי שבו גדלים עצי קוקוס, חיים להם קופים ארוכי זנב. קוף x יכול להיות '''בעלים''' של אגוז קוקוס a (זהו פרדיקט). שני קופים הם '''חברים''' אם כל אחד מהם חולק לפחות מחצית מאגוזי הקוקוס שלו עם הקוף השני. קבוצה של קופים היא '''משפחה''', אם לכל אגוז קוקוס השייך לאחד הקופים בקבוצה, יש קוף אחר בקבוצה שהוא בעלים של אותו אגוז. שתי משפחות הן '''חברות''' אם יש קוף במשפחה האחת שהוא חבר של קוף מן המשפחה האחרת. קבוצה של משפחות היא '''שבט''', אם לכל שתי משפחות בקבוצה יש משפחה בקבוצה שהיא חברה של שתיהן. קוף הוא '''מנהיג''' של שבט, אם יש לו אגוז משותף עם כל קוף בשבט, פרט לקופים במשפחה אחת לכל היותר. האי '''מסודר''' אם לכל שבט יש מנהיג יחיד. נסו להצרין את המושג "האי מסודר" ישירות מתוך הפרדיקט.
 
הסיפור הזה מדגים כמה תופעות שכיחות. הגדרנו מושגים כמו "משפחה" ו"שבט", ונתנו להם משמעות חדשה, המתעלמת מן המשמעות המקובלת. מתמטיקאים עושים דברים כאלה כל הזמן (למושגים הבאים יש משמעות מתמטית טכנית ומוגדרת היטב: עץ, יער, חוג, שדה, מרחב, איבר, קבוצה, קשת, צביעה, חבורה, חבורה חופשית, מלה, שפה). השתמשנו באותה מלה (חברות) כדי לציין שני דברים שונים, אבל קרובים זה לזה: חברות של קופים וחברות של משפחות; גם זו תופעה נפוצה ביותר. באותו אופן לא הצלחנו להמנע מהשימוש במלה "קבוצה" לתאור אוספים שונים בתכלית: של קופים, ושל קבוצות קופים. בנינו כל הגדרה תוך שימוש חופשי בהגדרות קודמות: מרגע שהמושג הוגדר, הוא נכנס לשפת הדיבור, וקשה - איננו מנסים - להסתדר בלעדיו.
 
מכל הסיבות האלה, חשוב מאד '''לזכור''' ו'''להבין''' כל הגדרה שאתם נתקלים בה. בשפה הטבעית אפשר להבין מלים קשות מתוך ההקשר. במתמטיקה, כשלא זוכרים את ההגדרה, קשה - בוודאי לתלמיד חסר נסיון - לפענח למה הכוונה. מאידך, לא מספיק לזכור את ההגדרה באופן כזה שאפשר יהיה לפרוט אותה לרשימת התכונות המרכיבות אותה - כפי שראינו, נסיון כזה יגרום למשפטים שבהם המושג החדש מופיע להתארך במידה כזו שאי-אפשר יהיה להבין אותם כלל. (כשמנסים להמנע מהמושג "משפחה", מתברר ששבט הוא קבוצה של קבוצות של קופים, שבכל אחת מהן, לכל אגוז קוקוס השייך לאחד מחברי הקבוצה יש קוף אחר מאותה קבוצה שלו שייך אותו אגוז, וכך שאם יש שתי קבוצות שבכל אחת מהן, לכל אגוז קוקוס השייך לאחד מחברי הקבוצה יש קוף אחר מאותה קבוצה שלו שייך אותו אגוז, אז יש קבוצה נוספת שבה לכל אגוז קוקוס השייך לאחד מחברי הקבוצה יש קוף אחר מאותה קבוצה שלו שייך אותו אגוז, שבה יש קוף שהוא חבר לאחד הקופים מן הקבוצה הראשונה, וקוף שהוא חבר לאחד הקופים מן הקבוצה השניה).
 
כדי להבין הגדרה, תצטרכו לדמיין איזו תכונה היא אמורה לתפוס. בשלב ראשון כדאי לבדוק את ההגדרה על מקרים קיצוניים: האם קוף יכול להיות חבר של עצמו? (כן; כל קוף הוא חבר של עצמו). מיהם החברים של קוף שאין לו אגוזי קוקוס? (כל הקופים שאין להם אגוזי קוקוס, ורק הם). האם יכולה להיות משפחה שיש בה רק קוף אחד? (לא). וכן הלאה.
 
לפעמים הגדרה דורשת עבודת הכנה. יכולנו להגדיר, עבור שבט של קופים, ש"'''מלך השבט''' הוא הקוף שיש לו אגוז משותף עם כל קוף בשבט", אבל השימוש בהא-הידיעה רומז שאכן קיים לכל שבט מלך (יחיד), וזה בכלל לא ברור. הגדרה כזו אינה תקפה, עד שנוכיח את הקיום והיחידות של המלך. באי מסודר, המושג "מנהיג השבט" מוגדר כראוי, לא משום שהתאמצנו להוכיח את קיומו, אלא משום שכך הגדרנו מהו אי מסודר; גם זה תעלול מתמטי שכיח למדי.
 
=== המבנה של הגדרות ===
להגדרות יש מבנה אחיד: דבר מסויים נקרא בשם מסויים, אם הוא מקיים תכונה מסויימת. לדוגמא, קבוצה של קופים היא משפחה אם היא מקיימת תכונה מסויימת; ההגדרה אינה יכולה לחול על מה שאיננו קבוצה של קופים; אין משמעות לשאלה "האם אגוז קוקוס זה הוא משפחה", משום שהגדרנו מהי משפחה רק עבור קבוצות של קופים. בהמשך הדרך נוכל גם להגדיר מתי אגוז קוקוס הוא משפחה - ואז, כאשר נתון ש-A היא משפחה, יהיה עלינו להבין מן ההקשר האם מדובר בקבוצה של קופים (שהיא משפחה), או באגוז קוקוס.
 
ההבחנה בין פרדיקט (שיש לו משתנים) לאטום (שהוא פרידקט ללא משתנים) חלה גם על הגדרות. מנקודת המבט הזו יש שני סוגי הגדרות:
 
* מתאים/לא-מתאים
:: ההגדרה קובעת שעצמים (במחלקה מסויימת) העונים על תנאי ההגדרה ייקראו בשם מסויים. הגדרה כזו היא למעשה פרדיקט בן משתנה אחד, המקבל ערך אמת T כשמציבים במשתנה עצם העונה לתנאים, וערך אמת F בכל מקרה אחר. למשל,
::::: '''משולש''' הוא מצולע שיש לו שלושה קודקודים; '''או'''
::::: מצולע יקרא '''משולש''' אם יש לו שלושה קודקודים.
:: (לכאורה צריך היה לומר "מצולע הוא משולש אם ורק אם יש לו שלושה קודקודים"; כשכותבים הגדרה מקובל לנסח בקיצור, משום שממילא מדובר במושג חדש שלא היה לו קיום לפני ההגדרה).
:: באותו אופן בדיוק, במקום לדבר על עצם בודד, אפשר לדבר על הקשר בין שני עצמים (או יותר). למשל, "אדם x הוא ה'''בעלים''' של רכב y אם הרכב רשום על שמו במשרד התחבורה". ההגדרה הזו אינה מתייחסת לשאלה האם x הוא בעלים, באופן כללי, אלא רק לקשר בין x ל-y מסויימים. כמובן שעכשיו אפשר להגדיר "x הוא '''בעל רכב''' אם קיים y אשר x הוא הבעלים שלו".
* הגדרה מאפיינת
:: הגדרה כזו דומה לסוג הראשון בכך שהיא מבוססת על פרדיקט, אלא שהיא מנצלת תכונה נוספת שלו: קיום ויחידות.
:: נניח שלפרידקט יש משתנה אחד, כלומר, ההגדרה בודקת האם עצם מסויים עונה להגדרה או לא. אם אפשר להוכיח שיש עצם אחד ויחיד העונה להגדרה, אפשר להצמיד לשמו את הא הידיעה:
::::: המספר היחיד a שעבורו הנגזרת של הפונקציה <math>\ a^x</math> שווה לעצמה, נקרא '''בסיס הלוגריתמים הטבעי'''.
:: לעצם המקיים הגדרה כזו אפשר לתת סימון מיוחד, שהוא חד-משמעי משום שהעצם '''מוגדר היטב'''. כאן בדיוק נכנסת "עבודת ההכנה" שהזכרנו באחת הפסקאות הקודמות.
:: לעתים קרובות רוצים להגדיר מושג לא באופן אוניברסלי, אלא *עבור* עצם מסויים. למשל
::::: יהי a משולש. '''המעגל החוסם''' של a הוא המעגל היחיד העובר דרך שלושת הקודקודים של a.
:: (מהי עבודת ההכנה כאן?). ההגדרה הזו קובעת - לכל משולש - איזה מעגל נקרא המעגל החוסם של המשולש הזה. הגדרה כזו מבוססת על פרדיקט בן שני מקומות - <math>\ B(x,y)</math> - שמקבל ערך אמת T אם ורק אם y מהווה מעגל חוסם של x. מכיוון ש- <math>\ \forall x \exists ! y: B(x,y)</math>, אפשר לקרוא לאותו y (התלוי כמובן ב-x) בשם מיוחד - '''ה'''מעגל '''ה'''חוסם של x. שימו לב שכל מעגל חוסם איזשהו משולש (הצרינו זאת), ולכן איננו מגדירים כאן *איזה* מעגל נקרא מעגל חוסם (כמו בהגדרה מהסוג הראשון), אלא *מהו* המעגל החוסם של משולש מסויים.
 
'''תרגיל'''. החליטו לאיזה סוג שייכות ההגדרות הבאות:
* חוג הוא '''מקומי''' אם יש לו אידיאל מקסימלי יחיד.
* ה'''מרכז''' של חוג הוא תת-החוג הגדול ביותר שכל אבריו מתחלפים עם כל אברי החוג.
 
== הוכחות ==
 
עד כאן עסקנו במבנה הצורני של טענות: בתרגום לשפה פורמלית, בפסוקים שקולים וכדומה. עיקר העניין במתמטיקה אינו בטענות סתם, אלא בטענות '''נכונות''', ולא בטענות נכונות סתם, אלא באלו שאפשר '''להוכיח'''. אם כך, עלינו ללמוד להוכיח טענות: כיצד מוכיחים, כיצד כותבים הוכחה, כיצד בודקים הוכחה, ומהן השגיאות הנפוצות שמהן יש להמנע. התשובה שניתן כאן לשאלות האלה היא חלקית ועל קצה המזלג, ותגע ברעיונות הבסיסיים בלבד. ככל שתלמדו מושגים מתקדמים ותורות חדשות, תלמדו גם טכניקות מתקדמות להוכחת טענות.
 
פסוק שיש לו הוכחה מתמטית נקרא '''משפט'''. המשפטים מבוססים על משפטים קודמים להם וכן הלאה, עד שמגיעים אל האקסיומות היסודיות. בכל תורה מתמטית יש אקסיומות (למעט הלוגיקה הפסוקית, שבה אין בהן צורך). חלק מן הפסוקים האמיתיים שפגשנו קודם לכן נחשבים ל'''אקסיומות''' בכל מערכת מתמטית.
 
=== מודוס פוננס ===
 
'''הוכחה פורמלית''' של פסוק P היא רצף של פסוקים <math>\ P_1,\dots,P_n</math> שכל אחד מהם הוא או אקסיומה, או שאפשר לגזור אותו באופן פורמלי מפסוקים קודמים: אם <math>\ P_k</math> אינו אקסיומה, צריכים להיות קיימים <math>\ i,j<k</math> כך ש- <math>\ P_k = P_i \rightarrow P_j</math>.
 
הגזירה מתבססת כאן על הכלל הלוגי היסודי הנקרא '''מודוס פוננס''': מ- <math>\ P\rightarrow Q</math> ו- <math>P</math> אפשר לגזור (כלומר להסיק את) <math>Q</math>.
 
בלימודי המתמטיקה תפגשו הוכחות פורמליות לעתים נדירות ביותר. בדרך כלל מסתפקים בהוכחה מדוקדקת שאמנם אינה פורמלית, אבל '''אפשר לתרגם אותה להוכחה פורמלית'''. בכל שלב מהותי של ההוכחה תוכלו לזהות שמגיעים אל המסקנה מתוך שתי עובדות שהוכחו קודם לכן: ההנחה, והטענה שההנחה גוררת את המסקנה.
 
'''שימו לב'''. מהטענה <math>\ P \rightarrow Q</math> לא נובע P, ולא נובע Q, אלא רק ש'''אם''' P אז Q. תנו דוגמא מפורשת לכך.
 
'''תרגיל'''. נניח שהמשפט הבא הוא אמיתי: "כאשר אני בכושר אני מסוגל לרוץ 10 קילומטר".
*נניח עוד כי "כעת איני בכושר" האם אני מסוגל לרוץ 10 קילומטר? אם לא, הוכח (באמצעות הצרנה).
*נניח שאיני מסוגל לרוץ 10 קילומטר, האם אני בכושר? הוכח.
*נניח שאני מסוגל לרוץ 10 קילומטר, האם אני בכושר? הוכח.
 
=== "בלי הגבלת הכלליות" ===
 
'''דוגמא'''. בין המספרים השלמים מוגדרת פעולת כפל, ומוגדר יחס של חלוקה: <math>\ a|b \leftrightarrow \exists x: b=ax</math>. מספר p, שאינו אפס ואינו מחלק את 1, הוא '''ראשוני''' אם <math>\ \forall a,b: p | ab \rightarrow (p|a \wedge p|b)</math>. מספר p, שאינו אפס ואינו מחלק את 1, הוא '''אי-פריק''' אם <math>\ p=ab \implies (a|1 \wedge b|1)</math>. נוכיח שכל מספר ראשוני הוא אי-פריק: יהי p מספר ראשוני. כדי להוכיח שהוא אי-פריק, עלינו להראות שאם p=ab אז a|1 או b|1. נניח, אם כך, ש- p=ab. מכיוון ש- ab=p*1, p|ab ומכיוון ש-p ראשוני, '''בלי הגבלת הכלליות''', אפשר להניח ש- p|a. אבל אז קיים x כך ש- a=px=abx, ומכיוון ש-<math>\ a\neq 0</math> (אחרת p=0), אפשר לצמצם ולקבל bx=1, ומכאן b|1.
 
במלים "בלי הגבלת הכלליות" מותר להשתמש כשמבצעים הנחה שאינה מתחייבת מן הנתונים (במקרה שלנו, הנחנו ש-p|a, בעוד שכל מה שידוע לנו הוא ש-p|a או p|b; אולי דווקא p|b, ואז לא ידוע האם p|a?), ובכל זאת ברור שהיא מכסה את כל האפשרויות. במקרה שלנו אפשר היה לנסח כך: ראינו ש-p|ab, ומכיוון ש-p ראשוני, הוא מחלק את אחד הגורמים; אם הוא מחלק את b, נחליף את שמות הגורמים, וכך אפשר יהיה להניח שבכל מקרה p|a.
 
=== הוכחת טענות מכומתות ===
 
פסוק ללא כמתים אפשר להוכיח באמצעות טבלת אמת. כל הפסוקים מסוג זה נחשבים לאמיתות טריוויאליות, ולכן הם נמצאים בשכבה הראשונה של מאגר האקסיומות. את ההוכחה של פסוקים מורכבים יותר אפשר לתפוס כמשחק בין שני צדדים: ה"מוכיח", וה"יריב".
* כדי להוכיח טענה מהסוג <math>\ \forall x: P(x)</math>, על המוכיח להראות את אמיתות הטענה <math>\ P(x)</math>, וזאת לכל x *שבחר היריב*. היריב עשוי לבחור x שעבורו הוכחת הטענה קשה יותר. למוכיח אסור לבחור את x בעצמו, משום שהוא צריך להוכיח את הטענה '''לכל x'''.
* כדי להוכיח טענה מהסוג <math>\ \exists x: P(x)</math>, המוכיח צריך להראות את אמיתות הטענה <math>\ P(x)</math> עבור x כלשהו. הדרך הקלה והבטוחה ביותר לעשות זאת היא *להצביע* על x שעבורו הטענה נכונה; זוהי '''הוכחה קונסטרוקטיבית'''. יש גם הוכחות לא קונסטרוקטיביות, אבל בשלבי הלימודים הראשונים תתקלו בהן רק לעתים רחוקות.
 
בדרך כלל המשחק כולל יותר משלב אחד. למשל, כדי להוכיח "לכל x חיובי קיים y חיובי הקטן ממנו", עלינו לאפשר ליריב לבחור x כרצונו; אחר-כך עלינו להראות שקיים y הקטן מן ה-x הזה, וזאת נעשה על-ידי בחירת y מתאים (למשל: <math>\ y = x/2</math>). אפשר לכתוב זאת כך:
* יהי <math>\ x>0</math> (היריב בוחר x כרצונו). נבחר <math>\ y = x/2</math>, ואז <math>\ 0<y<x</math> (כאן אנו מראים שעבור y שבחרנו, הטענה אכן מתקיימת).
 
נזכיר שהסדרה <math>\ a_1,a_2,\dots</math> מתכנסת לגבול L אם
<math>\ \forall \epsilon >0 \exists N \forall n >N : |a_n-L|<\epsilon</math>; אכן, ההגדרה של מושג יסודי זה באנליזה כוללת שלושה כמתים. כדי לומר "הסדרה מתכנסת" (=יש מספר L שהוא הגבול שלה) נחוצים ארבעה כמתים. כדי להוכיח שסדרה נתונה מתכנסת, עלינו להצביע על ערכו הנכון של L; לתת ליריב לבחור את <math> \epsilon</math>; לבחור N, ולהראות שלכל n>N שיבחר היריב, מתקיים <math>\ |a_n-L|<\epsilon</math>.
'''תרגיל'''. תאר את מהלך המשחק המוכיח שסדרה מסויימת אינה מתכנסת.
 
סדר הפעולות במשחק חשוב ביותר. לאחר שבחרנו את L, היריב עשוי לבחור <math>\ \epsilon</math> התלוי ב-L; ואז נוכל בתורנו לבחור את N כפונקציה של L ושל <math>\ \epsilon</math> (אבל לא של n, שאינו מוגדר בכלל בשלב הזה!).
 
להלן כמה טכניקות הוכחה שכיחות.
* "'''מספיק להוכיח ש-'''": לפעמים הדרך הקצרה ביותר להוכיח טענה מסויימת היא הוכחת טענה חזקה יותר. זהו שימוש ישיר במודוס פוננס: במקום להוכיח את Q, אנו מוכיחים את P, כאשר הטענה <math>\ P\rightarrow Q</math> ידועה מראש. למשל, כדי להוכיח "קיים מספר ראשוני הגדול מ-<math>\ 10^{4300}</math>", מספיק להוכיח שקיימים אינסוף ראשוניים.
* '''הוכחה בדרך השלילה''' מבוססת על הטאוטולוגיה <math>\ ((\neg P)\rightarrow F) \leftrightarrow P</math>. כדי להוכיח את P, אנו מניחים את לא-P, ומראים שההנחה הזו מביאה לסתירה.
 
 
'''הפרכה''' של טענה אינה אלא הוכחה שהטענה אינה נכונה. הדוגמא החשובה ביותר היא '''הפרכה על-ידי דוגמא נגדית''':
* כדי להפריך את הטענה <math>\ \forall x: P(x)</math>, יש להראות שקיים x שעבורו הטענה <math>\ P(x)</math> אינה נכונה. גם כאן, הדרך השכיחה ביותר היא להצביע על ערך מסויים של x שעבורו הטענה אינה נכונה.
 
'''תרגילים'''.
* השתמש בפרדיקט <math>\ P(x,y)</math> (אדם x חובב חיות מסוג y) כדי להצרין את הטענה "כל אדם החובב חיות, חובב לפחות שני סוגים שלהן". מה יש לעשות כדי להוכיח טענה כזו? מה יש לעשות כדי להפריך אותה?
* מרחב הוא קומפקטי אם לכל כיסוי פתוח שלו, יש תת-כיסוי סופי. לצורך העניין אין זה חשוב מהו כיסוי פתוח של מרחב, מהו תת-כיסוי, ומתי תת-כיסוי הוא סופי; נעיר רק שכל תת-כיסוי הוא בעצמו כיסוי (אם תרצו, אתם יכולים להצרין את כל הנתונים האלה). קבע אלו מההגדרות הבאות שקולות:
** המרחב K הוא קומפקטי אם ורק אם יש לו כיסוי סופי.
** המרחב K הוא קומפקטי אם ורק אם יש לו כיסוי פתוח שיש לו תת-כיסוי סופי.
** המרחב K אינו קומפקטי אם ורק אם יש לו כיסוי פתוח שאין לו תת-כיסוי סופי.
** גם כאשר ההגדרה באחד הסעיפים הקודמים אינה שקולה מבחינה לוגית, על-פי הפרדיקטים שניסחתם; לכאורה יתכן שההגדרות כן שקולות, משום שיש תכונות נוספות של כיסויים פתוחים שלא לקחתם בחשבון. אלו תכונות של כיסויים פתוחים יספיקו כדי לקבוע בכל מקרה שההגדרות באמת אינן שקולות?
 
=== שגיאות נפוצות ===
 
שגיאות בהוכחה נדירות למדי באולמות ההרצאה, אבל עד שמתרגלים לחומר ולומדים אותו היטב, הן די שכיחות מחוץ להם. היכרות טובה עם שגיאות נפוצות יכולה לעזור לכם להמנע מהן.
 
אחת השגיאות הנפוצות היא '''החלפת סדר כמתים'''. יש הבדל עצום בין "לכל סיר יש מכסה המתאים לו", לבין "יש מכסה המתאים לכל הסירים". הצרינו את שתי הטענות, וקבעו איזו מהן גוררת את השניה.
 
שגיאה פופולרית נוספת היא '''הנחת המבוקש'''. צריך להוכיח שלכל נחש יש ארבע שיניים. יהי x נחש. בתחילת השאלה כתוב במפורש - "לכל נחש יש ארבע שיניים"; לכן יש ל-x ארבע שיניים, מש"ל.
 
שגיאה נוספת, הנובעת מחוסר תשומת לב (או ממצוקה פנים-מבחנית) היא שימוש ב"טאוטולוגיות" שגויות.
* כל החתולים צהובים. רוצים להראות ש-c חתול. לשם כך מראים שהוא צהוב.
* רוצים להפריך את הטענה שלפיה כל החולצות אדומות. מצביעים בארשת נצחון על כובע אדום.
* תנאי מספיק אך לא הכרחי: אם הוא יודע אלגברה לינארית, סימן שהוא חכם. האם נובע שאם הוא אינו יודע אלגברה לינארית אזי הוא טיפש? (אם f פונקציה רציפה אזי היא אינטגרבילית, אולם יש פונקציות שאינן רציפות וכן אינטגרביליות.)

גרסה אחרונה מ־00:25, 22 בספטמבר 2015

(דף זה, למרות שמו, אינו שייך לאף קורס במחלקה למתמטיקה.)

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

אם יש לכם שאלות, הצעות, השגות והערות אחרות, אתם מוזמנים לכתוב אותם בדף השיחה.