שינויים

תרגול 2 תשעז

הוסרו 2 בתים, 16:50, 19 במרץ 2019
/* תרגיל */
חזרה ל[[83-116, בדידה 1 להנדסה, מערכי תרגול|דף מערכי התרגול]]. ==כמתים כַּמָּתִים ופרדיקטים==
===פרדיקטים===
בניגוד לאטומים שהם ללא משתנים הבלוגיקה מתמטית, '''פרדיקטיםפרדיקט''' הינם פונקציות התלויות במשתניםהוא פונקציה המקבלת משתנה או כמה משתנים, ומחזירה ערך אמת (T או F). זוהי הכללה של האטומים שפגשנו בתרגול הקודם, שאינם אלא פרדיקטים ללא משתנים. לדוגמא לדוגמה ניתן להגדיר את הפרדיקט <math>S(x)</math> להיות "<math>x </math> הינו סטודנט באוניברסיטה".
גם אטומים וגם פרדיקטים יכולים להיות אמיתיים (מסמנים 1 או T) או שקריים (מסמנים 0 או F). המינוח המקובל הוא שאטום/פרדיקט הוא בעל '''ערך אמת''' T (במידה שהוא נכון) או בעל '''ערך אמת''' F (במידה שאינו נכון).
כיוון שאטומים הם ללא משתנים הם יכולים להיות T או F אבל לא שניהם. לעומתם, פרדיקטים הם תלויים במשתנים ולכן ערך האמת שלהם יקבע לפי ההצבה במשתנים. למשל הפרדיקט <math>SP(x,y)=x<y</math> יהיה נכון במקרה ש <math>SP(2,3)</math> ולא נכון במקרה ש <math>SP(3,2)</math>.
===כמתים===
בנוסף, לקשרים ניתן להוסיף כמתים(quantifiers)החשובים שבהם הם הכמת "לכל" <math>\forall</math> (זו A הפוכה, קיצור המילה All) והכמת "קיים" <math>\exist</math>(זו E הפוכה, קיצור המילה Exist).
תפקיד מרכזי של הכמת הוא להבהיר את כוונת הטענה. למשל הטענה ש "סטונדט הוא יצור חרוץ" יכולה לקבל 2 משמעויות בעזרת הכמתים. או "כל סטודנט הוא יצור חרוץ" או "קיים סטודנט שהוא יצור חרוץ".
לעומתה הטענה השניה טוענת שניתן למצוא סטודנט אחד (לפחות) שהוא חרוץ (אם רוצים להוכיח את הטענה צריך למצוא סטודנט שהוא חרוץ ואם רוצים להוכיח כי הטענה לא נכונה צריך לעבור בין כל הסטודנטים ולוודא שהם אינם חרוצים).
'''====תרגיל:''' ====הצרן: לכל מספר p גדול מ-1: (p ראשוני) אמ"מ (אם הוא מחלק מכפלת מספרים אז הוא מחלק את אחד המספרים).
פתרון:
ההצרנה <math>\forall p >1 : (P(p)\iff Q(p))</math> כאשר
* <math>P(x)</math> הוא הפרדיקט "<math>x" </math> הוא ראשוני".
* <math>Q(x)</math> הוא הפרדיקט <math>\forall a,b : p|ab \Rightarrow (p|a \lor p|b)</math>
==שלילת פסוקים==מהי השלילה של הפסוק "לכל סיר יש מכסה המתאים לו"הערה: סדר הכמתים כן משנה (לפעמים) למשל <math>\exist x\forall y S(x, או "לכל מאכלy)</math> לא שקול לפסוק <math>\forall y \exist x S(x, יש מישהו שמכין אותו טעים"?y)</math>.
בעת שלילה של פסוק לוגי, הכמתים 'לדוגמא: יש הבדל בין "לכל' ו'סיר קיים' מתחלפים זה עם זה, והשלילה עוברת הלאהמכסה" לבין "קיים מכסה שמתאים לכל סיר". האם אחד מן הפסוקים האלו גורר את השלילה על הקשרים ניתן לבצע באמצעות טאוטולוגיות וטבלאות אמת.השני?
לדוגמאעוד דוגמא:הצרן את המשפט "לכל מספר טבעי יש מספר טבעי הגדול ממנו" פתרון: <math>\forall n\in\mathbb{N}\,\exists m\in\mathbb{N}:n<m</math> לעומת זאת <math>\exists m\in\mathbb{N}\,\forall n\in\mathbb{N}:n<m</math> פירושו שקיים מספר טבעי שגדול מכל המספרים הטבעיים.
*נשים לב כי בשביל לקבוע אם הפסוק <math>\forall x P(x)</math> אנחנו צריכים לדעת איזה <math>x</math>-ים "לכל אדם בעולם קיים דג עם מספר קשקשים כגיל האדם או שאורכו עשירית מאורך האדםחוקיים"(בהנחה שאנחנו יודעים את <math>P</math>).
השלילה היא'''סימון:''' נעיר שיש דרכים רבות לכתוב פסוקים כגון אלו. מקובל למשל <math>\forall x P(x)</math>, <math>(\forall x)P(x)</math> או <math>\forall x, P(x)</math>. כל הסגנונות חוקיים, בתנאי שהפסוק ניתן לקריאה באופן חד-משמעי.
*"'''קיים''' אדם כך ש'''לא''' קיים דג עם מספר קשקשים כגיל האדם או שאורכו עשירית מאורך האדם"הערה: לכל כמת יש אזור תחולה. בתוך אזור תחולה שמות המשתנים אינם חשובים. למשל עבור הפרדיקט <math>S(x,y)</math> המוגדר <math>x\leq y</math> הפסוק <math>\forall x\forall y S(x,y)</math> הוא זהה לפסוק <math>\forall t\forall s S(t,s)</math>.
נמשיך:====תרגיל====
*שימו לב שגם למשתנים בהגדרות יש אזור תחולה. צריך לשים לב לא להתבלבל באזורים האלו, וכדי למנוע "קיים אדם שהתנגשויות" בשמות, פשוט נחליף אותם. למשל נגדיר מספר <math>x</math> להיות '''לכל''' דג בעולם '''לא נכוןדו־ריבועי''' אם קיימים <math>y,z</math> כך ש(יש לו מספר קשקשים כגיל האדם או שאורכו עשירית מאורך האדם)"-<math>x=y^2+z^2</math>. הוכיחו שלכל זוג מספרים <math>x,y</math> אם הם מספרים דו־ריבועיים, אז גם המספר <math>xy</math> הוא דו־ריבועי.
כלומר*"קיים אדם שלכל דג בעולם יש פתרון: נגדיר את הפרדיקט <math>Q(x)</math> להיות T אם ורק אם <math>x</math> הוא מספר קשקשים שונה מגיל האדם וגם אורכו של הדג שונה מעשירית אורך האדם"דו־ריבועי (הצרינו זאת!). אנו נדרשים להוכיח את הטענה <math>\forall x\forall y:(Q(x) \land Q(y)) \rightarrow Q(xy)</math>.
לפי ההגדרה, אם <math>x</math> הוא דו־ריבועי, אז קיימים <math>a,b</math> כך ש-<math>x=a^2+b^2</math>, ובאופן דומה אם <math>y</math> דו־ריבועי, אז קיימים <math>c,d</math> כך ש-<math>y=c^2+d^2</math>. כדי להוכיח ש-<math>xy</math> הוא גם דו־ריבועי, יש להראות שקיימים <math>e,f</math> כך ש-<math>xy=e^2+f^2</math>. נעזר בזהות <math>(a^2+b^2)(c^2+d^2) = (ac-bd)^2+(ad+bc)^2</math>. לכן קיבלנו <math>xy = (ac-bd)^2+(ad+bc)^2</math>, ומכאן שנוכל לבחור את <math>e,f</math> הדרושים לנו להיות <math>e=ac-bd</math>, <math>f=ad+bc</math>.
הערה: סדר הכמתים הוא חשוב (כמו בעברית) - לדוגמא: יש הבדל בין ==שלילת פסוקים==מהי השלילה של הפסוק "לכל סיר קיים יש מכסההמתאים לו" לבין , או "קיים מכסה שמתאים לכל סיר".דוגמא: הצרן את המשפט "לכל מספר טבעי מאכל, יש מספר טבעי הגדול ממנומישהו שמכין אותו טעים" פתרון: <math>\forall n\in\mathbb{N}\,\exists m\in\mathbb{N}:n<m</math> לעומת זאת <math>\exists m\in\mathbb{N}\,\forall n\in\mathbb{N}:n<m</math> פירושו שקיים מספר טבעי שגדול מכל המספרים הטבעיים.?
*תרגיל: הצרן את המשפט "כל מספר ממשי ניתן לקרב ע"י מספרים רציונאליים בקירוב טוב כרצוננו"בעת שלילה של פסוק לוגי, הכמתים 'לכל' ו'קיים' מתחלפים זה עם זה, והשלילה עוברת הלאה. כלומר לכל פרדיקט <math>P</math>, פתרון: * <math>\ \neg \forall x: P(x) \in\mathbb{R}\,equiv \exists A\subset\mathbb{Q}x:\forall\epsilonneg P(x)</math>, וכך גם* <math>\in\mathbb{R}_{+}neg \exists qx: P(x) \in Aequiv \,:|forall x-q|<: \epsilonneg P(x)</math> .
מה היא שלילתו של המשפט?שלילה על הקשרים ניתן לבצע באמצעות טאוטולוגיות וטבלאות אמת.
פתרון: נכתוב את הרמות השונות====תרגיל====* <math>\neg(\forall x\in\mathbb{R}\,\exists A\subset\mathbb{Q}:\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,:|x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\,\neg( \exists A\subset\mathbb{Q}:\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,:|x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\, \forall A\subset\mathbb{Q}:\neg(\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,:|x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\, \forall A\subset\mathbb{Q}:\exists\epsilon\in\mathbb{R}_{+}\neg(\exists q\in A\,:|x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\, \forall A\subset\mathbb{Q}:\exists\epsilon\in\mathbb{R}_{+}\forall q\in A\,\neg(:|x-q|<\epsilon )</math>*<math>\exists x\in\mathbb{R}\,\forall A\subset\mathbb{Q}:\exists\epsilon\in\mathbb{R}_{+}\forall q\in A\,הוכיחו או הפריכו:|x-q|\geq\epsilon</math>
תרגילים:דוגמאות של הצרנת ושלילת המושגים 'תלות לינארית', 'גבול סדרה', 'חח"ע', וכדומה<math>\lnot (\forall a\in \mathbb{N} \exists b\in \mathbb{N} (a|b\rightarrow (a\leq b\land a+b<a\cdot b)))</math>
==קבוצות קשרים שלמות==פיתרון: ראשית נראה מה הטענה בעצם אומרת:
תרגיל: הוכח באמצעות טבלאות אמת שניתן להציג את הקשרים 'גרירה' ו'וגם' באמצעות 'או' ושלילה בלבד<math>\exists a\in \mathbb{N} \forall b\in \mathbb{N} (a|b \land (a>b \lor a+b\geq a\cdot b))</math>
פתרון: מתקיים שימו לב שנעזרו בשקילות <math>\ (A\to rightarrow B ) \equiv ((\neg A ) \or lor B)</math>ומתקיים ובחוקי דה-מורגן. כעת נשים לב שאם <math>A a|b</math> אז <math>a\and B leq b</math> ולכן כדי שזה יהיה נכון צריך שיתקיים <math>a+b\equiv geq a\neg(\neg A \or \neg B)cdot b</math> וזה אכן קורה עבור <math>a=1</math>.
===צורות נורמליות: CNF ,DNF=תרגיל====
ישנן שתי "צורות נורמליות" להצגת '''כל''' פסוקית - DNF ו CNF.הוכח או הפרך (משתני הפרדיקט נלקחים מהטבעיים):
===DNF===א. <math>(\forall n (P(n) \lor Q(n))) \Rightarrow ((\forall n P(n)) \lor (\forall n Q(n)))</math>
ביטוי בצורת DNF מורכב מאוסף "פסוקיות" המחוברות ביניהן על ידי פעולות "או". כל פסוקית בעצמה מורכבת מאטומים המחוברים ביניהם על ידי פעולות "וגם". כל אטום הוא משתנה או שלילת משתנהב.<math>(\forall n (P(n) \lor Q(n))) \Leftarrow ((\forall n P(n)) \lor (\forall n Q(n)))</math>
בצורה סכמטיתפיתרון: <math>D_1 \lor D_2 \lor \dots \lor D_n</math> כאשר כל <math>D_i</math> מהצורה <math>p_1\land p_2 \land \dots \land p_m</math> וכל <math>p_i</math> שווה למשתנה <math>x</math> או לשלילתו <math>\lnot x</math>.
דוגמא: נמצא א. הפרכה. ניקח את צורת DNF של טבלת האמת הבאה:<math>P(n)</math> להיות <math>1</math> על הזוגיים ו-<math>0</math> על אי-זוגיים, ו-<math>Q(n)</math> להפך. אכן כל מספר טבעי הוא זוגי או אי-זוגי, אך זה לא נכון שכל מספר הוא זוגי או שכל מספר הוא אי-זוגי.
ב. הוכחה: יהי <math>n</math>. אם מתקיים <math>P(n)</math> אז בפרט מתקיים <math>P(n) \lor Q(n)</math> כדרוש. אחרת, לפי השקילות <math>a\lor b \equiv \lnot a \rightarrow b</math>, מתקיים שלכל מס' טבעי, ובפרט עבור <math>n</math>, מתקיים <math>Q(n)</math>, ולכן מתקיים <math>P(n) \lor Q(n)</math> כדרוש.
====תרגיל====
הצרן את המשפט "כל מספר ממשי ניתן לקרב ע"י מספרים רציונאליים בקירוב טוב כרצוננו".
{| border="1" align="center" style="text-alignפתרון:center;"|<math>f(x_1\forall x\in\mathbb{R}\,x_2\exists A\subset\mathbb{Q}:\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,x_3)</math>:| <math>x_3</math>x-q|<math>x_2\epsilon</math>|<math>x_1</math>|-|0|0|0|0|-|0|0|0|1.
|-|1|0|1|0מה היא שלילתו של המשפט?
פתרון: נכתוב את השלילות השונות האפשריות:* <math>\neg(\forall x\in\mathbb{R}\,\exists A\subset\mathbb{Q}:\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,:|x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\,\neg( \exists A\subset\mathbb{Q}:\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,:|1x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\, \forall A\subset\mathbb{Q}:\neg(\forall\epsilon\in\mathbb{R}_{+}\exists q\in A\,:|1x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\, \forall A\subset\mathbb{Q}:\exists\epsilon\in\mathbb{R}_{+}\neg(\exists q\in A\,:|0x-q|<\epsilon )</math>* <math>\exists x\in\mathbb{R}\, \forall A\subset\mathbb{Q}:\exists\epsilon\in\mathbb{R}_{+}\forall q\in A\,\neg(|x-q|<\epsilon )</math>*<math>\exists x\in\mathbb{R}\,\forall A\subset\mathbb{Q}:\exists\epsilon\in\mathbb{R}_{+}\forall q\in A\,:|x-q|0\geq\epsilon</math>
|-תרגילים:|0|0|1|1 |-|1|1|0|1 |-|0|1|1|0 |-|0|1|1|1 |- |} נתמקד בשורות שערך האמת שלהן הוא 1 (שורות 3, 4, 6). לשורה 3 נתאים את הפסוקית <math>D_1=\lnot x_1 \land x_2 \land \lnot x_3</math> מה עשינו? החלפנו כל משתנה שערכו 0 בשלילה שלו, וכל משתנה שערכו 1 השארנו בלי לגעת. מה יצא לנו מזה? שימו לב שרק הצבה דוגמאות של ערכי האמת של <math>x_1הצרנת ושלילת המושגים 'תלות לינארית',x_2'גבול סדרה',x_3</math> שמופיעים בשורה 3 תתן ערך אמת 1 ב <math>D_1</math>. כל הצבה אחרת (כלומר: הצבה של ערכי אמת של המשתנים בשורה אחרת) תתן 0 ב <math>D_1</math>. באופן דומה נייצר <math>D_2</math> עבור שורה 4 ו <math>D_3</math> עבור שורה 6: <math>D_2=\lnot x_1 \land\lnot x_2 \land x_3, \quad D_3=x_1\land \lnot x_2 \land x_3</math> כעת ה DNF של טבלת האמת היא פשוט <math>D_1\or D_2 \or D_3=(\lnot x_1 \land x_2 \land \lnot x_3) \or (\lnot x_1 \land \lnot x_2 \land x_3) \or (x_1 \land \lnot x_2 \land x_3)</math>. ===CNF=== ביטוי בצורת CNF מורכב מאוסף 'חח"פסוקיות" המחוברות ביניהן על ידי פעולות "וגם". כל פסוקית בעצמה מורכבת מאטומים המחוברים ביניהם על ידי פעולות "או". כל אטום הוא משתנה או שלילת משתנה. בצורה סכמטית: <math>C_1 \land C_2 \land \dots \land C_n</math> כאשר כל <math>C_i</math> מהצורה<math>q_1\lor q_2 \lor \dots \lor q_m</math> וכל <math>q_i</math> שווה למשתנה <math>x</math> או לשלילתו <math>\lnot x</math>. נדגים על הדוגמא לעיל. נתמקד בשורות שערך האמת שלהן הוא 0 (שורות 1ע', 2, 5, 7, 8) לשורה 1 נתאים את הפסוקית <math>C_1= x_1 \lor x_2 \lor x_3</math> מה עשינו? כל משתנה שערכו 0 השארנו בלי לגעת, וכל משתנה שערכו 1 החלפנו בשלילתו. מה יצא לנו מזה? שימו לב שרק הצבה של ערכי האמת של <math>x_1,x_2,x_3</math> שמופיעים בשורה 1 תתן ערך אמת 0 ב <math>C_1</math>. כל הצבה אחרת (כלומר: הצבה של ערכי אמת של המשתנים בשורה אחרת) תתן 1 ב <math>C_1</math>. באופן דומה נייצר <math>C_2,C_3,C_4,C_5</math> עבור שורות 2 , 5, 7 ו-8: <math>C_2= x_1 \lor \lnot x_2 \lor \lnot x_3, C_3=\lnot x_1\lor \lnot x_2 \lor x_3</math> <math> C_4=x_1 \lor \lnot x_2 \lor \lnot x_3, C_5= \lnot x_1 \lor \lnot x_2 \lor \lnot x_3</math> כעת ה CNF של טבלת האמת היא פשוט <math>C_1 \land C_2 \land C_3 \land C_4 \land C_5 </math> הרחבה על עניינים אלו (תרגול זה וקודמו) ניתן למצוא פה [[88-101 חשיבה מתמטית]]וכדומה
187
עריכות