לוגיקה מתמטית
Transcription
לוגיקה מתמטית
לוגיקה מתמטית 10במרץ 2012 תקציר הסיכום מבוסס על הרצאותיו של פרופ' דורון פלד מאוניברסיטת בר אילן ,בקורס 200־ 89בלוגיקה מתמטית, לסמסטר א' תשע"ב 2012־.2011 כולי תקווה שהסיכום יעזור בהבנת החומר הנלמד .לתיקונים ,הערות ושאלות ,אתם מוזמנים לשלוח לי אי־מייל [email protected] 1 Logics Studenteen.org 10במרץ 2012 תוכן עניינים Iלוגיקה של פסוקים 1 2 II 4 תחביר הפסוקים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 הגדרת תחשיב הפסוקים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2 הדרגה של נוסחא . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 תתי־נוסחאות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4 טבלאות האמת והסמנטיקה של השפה הלוגית . . . . . . . . . . . . . . . . . . . . . . 5 1.5 טיאוטולוגיות וספיקות של נוסחא . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.6 גרירה לוגית . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 מערכת ההוכחה בלוגיקה של פסוקים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1 הוכחה ומשמעותה . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 משפט הדדוקציה . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 הוכחה לפי מקרים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 נאותות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 שלמות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 12 3.1 הגדרת השפה הפורמלית . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2 הסמנטיקה של לוגיקה מסדר ראשון . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 משתנים קשורים וחופשיים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 מערכת ההוכחה של לוגיקה מסדר ראשון . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 6 12 לוגיקה מסדר ראשון ־ מהי? הגישה הפורמלית ,הסמנטיקה . . . . . . . . . . . . . . . . . . . . 4.0.1 5 7 7 לוגיקה מסדר ראשון 3 4 15 כללי הוכחה 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הוכחות בלוגיקה מסדר ראשון . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 נאותות ושלמות ,ספיקות וקונסיסטנטיות 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 הקשר ההדוק בין קונסיסטנטיות וספיקות לשלמות ונאותות . . . . . . . . . . . . . . . 18 5.2 משפט הקומפקטיות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.3 משפט השלמות ללוגיקה מסדר ראשון . . . . . . . . . . . . . . . . . . . . . . . . . . 20 משפט אי־השלמות של גדל . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 21 Studenteen.org III 7 Logics לוגיקה מודלית 8 22 7.1 דוגמא למשפחות מודלים . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.2 לוגיקה של ידע . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.3 לוגיקה טמפורלית . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 הגדרה פורמלית של לוגיקה טמפורלית . . . . . . . . . . . . . . . . . . . . . אימות תוכנה הוכחת נכונות חלקית . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 8.2 25 27 הוכחת נכונות . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 V 22 לוגיקה מודלית פורמלית במבנה . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Kripke 7.3.1 IV 10במרץ 2012 27 28 רלטיויזציה 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . הוכחת סיום ,ולוגיקת . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hoare הערות לסיום 30 30 3 Logics Studenteen.org 10במרץ 2012 חלק I לוגיקה של פסוקים תחביר הפסוקים 1 אחד העקרונות החשובים בלוגיקה הוא הפרדה בין התחביר ,הסימון הכללי והכתיבה הנאותה של נוסחאות, והסמנטיקה ,המשמעות של נוסחאות. כיצד מגדירים סמנטיקה של לוגיקה? אם לוגיקה הינה שפה פורמלית ,האם יש צורך להגדיר אותה באמצעות שפה פורמלית אחרת? ניתן להגדיר את הלוגיקה באופן מתמטי ,אך רצינו להגדיר את המתמטיקה בלוגיקה. כיצד נפתור זאת? הסמנטיקה מוגדרת בשפה טבעית ,שתיקרא כאן "מטה שפה". הלוגיקה תשמש להוכחות .הוכחות על לוגיקה יעשו במטה שפה. 1.1 הגדרת תחשיב הפסוקים הגישה הפשוטה ביותר בלוגיקה ,והגישה הראשונה שנעבור עליה כאן תהיה שפת תחשיב הפסוקים. באופן אינטואיטיבי ,נגדיר טענות בסיס A, B, C, ...כך שלכל טענה שכזו ,ניתן ערך 1או .0בהתאם לכך ,נוכל לבנות טענות משורשות התלויות בנכונות או אי־נכונות של הטענות האחרות. נתחיל בלהגדיר את שפת התחשבים הפסוקים ,או בשם אחר ,קבוצת הנוסחאות בשפה )קבוצת הנוסחאות הבנויות היטב(. יהיו הקבוצות }V ar = {p0 , p1 , ... }) Symb = {∧, ∨, ¬, →, T, F, (, האיברים של V arהינם האטומים של השפה )טענות הבסיס( ,ו־ Symbהינה קבוצת הקשרים הלוגיים שבשפה )למען בניית טענות משורשרות(. הגדרה .נגדיר את קבוצת הנוסחאות הבנויות היטב )WFFמ־ ,(Well Formed Formulasבצורה האינדוקטיבית: .1לכל .pi ∈ WFF ,pi ∈ V ar .T ∈ WFF .2 .F ∈ WFF .3 .4אם φ1 , φ2 ∈ WFFאזי .(φ1 ∧ φ2 ) ∈ WFF .5אם ,φ1 , φ2 ∈ WFFאזי .(φ1 ∨ φ2 ) ∈ WFF .6אם ,φ1 , φ2 ∈ WFFאזי .(φ1 → φ2 ) ∈ WFF .7אם ,φ ∈ WFFאזי .¬φ ∈ WFF הקבוצה WFF{→,F } ⊆ WFFמוגדרת באופן דומה ,אבל בשימוש רק בתנאים .1,3,6 4 Studenteen.org 1.2 Logics 10במרץ 2012 הדרגה של נוסחא ההגדרה האינדוקטיבית של WFFבונה את הנוסחאות בשלבים .הגדרות אינדוקטיביות הן בנייה מלמטה למעלה. משפט הקריאה היחידה מאפשר לנו לראות נוסחאות גם מלמעלה למטה בצורה חד משמעית. הגדרה .תהי rank : WFF → Nהמוגדרת באופן הבא: .1נגדיר .WFF0 = {T, F }∪V arאם ,φ ∈ WFF0אזי .rank(φ) = 0אנחנו קוראים ל־ WFF0גם נוסחאות אטומיות. .2אם ,φ1 , φ2 ∈ WFFnאזי .φ1 , (φ1 ∧ φ2 ) , (φ1 ∨ φ2 ) , (φ1 → φ2 ) , ¬φ1 ∈ WFFn+1מגדירים )rank(φ כ־ n ∈ Nהמינימלי כך ש־ .φ ∈ WFFn 1.3 תתי־נוסחאות כל הנוסחאות המשמשות בבניה הרקורסיבית של נוסחא הן תתי הנוסחאות שלה. למשל ,לנוסחא )) ((p1 → F ) → (p2 → Fיש את תתי הנוסחאות: )) p1 , (p1 → F ) , p2 , (p2 → F ) , ((p1 → F ) → (p2 → F נרשום לפעמים נוסחא בצורה פרמטרית ) .φ (φ1 , φ2 , .., φnצורת כתיבה זו תשתמש בסימונים φiכממלאי מקום עבור נוסחאות. למשל ,אם )) ,φ (φ1 , φ2 ) = ((φ1 → F ) → (φ2 → Fונציב ) φ2 = (p2 → F ) ,φ1 = (p1 → p3נקבל )) .(((p1 → p3 ) → F ) → ((p2 → F ) → F 1.4 טבלאות האמת והסמנטיקה של השפה הלוגית משמעות נוסחא בנוייה היטב היא אלמנט מתוך הקבוצה } ,{0, 1כאשר 0הוא שקר ו־ 1הוא אמת. נבחין בין הערכים 0ו־ 1הסמנטיים ו־ Tו־ Fהסינטקטיים .טבלאות האמת מתארות את התנהגות הקשרים הלוגים ¬ .∨, ∧, המטרה של החלק הבא היא להגדיר את פונקציית המשמעות הנתונה בידי קבוצה של השמות .הטבלאות יכילו n ערכים של } {0, 1ויחזירו } ,{0, 1זאת אומרת שנוצרת פונקציה }TT : {0, 1}k → {0, 1 נרצה לתת פירוט לכל אחד מהמשתנים האטומיים של הנוסחא ,זאת אומרת ,נשים } {0, 1בכל אחד מהם .נגדיר }} As = {Z | Z : V ar → {0, 1קבוצת ההשמות. פונקציית המשמעות Mהינה פונקצייה }.M : WFF × As → {0, 1 5 Logics Studenteen.org 10במרץ 2012 הגדרה .טבלת אמת מסדר ,nהינה פונקצייה } .TT : {0, 1}n → {0, 1לכל אחד מהקשרים הלוגיים → ∧, ∨, נשייך טבלת אמת בינארית: TT∧ (0, 0) = 0 , TT∧ (0, 1) = 0, TT∧ (1, 0) = 0, TT∧ (1, 1) = 1 TT∨ (0, 0) = 0 , TT∨ (0, 1) = 1, TT∨ (1, 0) = 1, TT∨ (1, 1) = 1 TT→ (0, 0) = 1 , TT→ (0, 1) = 1, TT→ (1, 0) = 0, TT→ (1, 1) = 1 TT¬ (0) = 1, TT¬ (1) = 0 כמו כן ,מוגדר ,TTT = 1ו־.TTF = 0 כעת ,נגדיר את פונקציית המשמעות } MP L : WFF × As → {0, 1על השמת אמת zבאופן האינדוקטיבי הבא: .MP L (pi , z) = z(pi ) .1 .MP L (T, z) = TTT = 1 .2 .MP L (F, z) = TTF = 0 .3 .MP L ((φ1 ∧ φ2 ), z) = TT∧ (MP L (φ1 , z), MP L (φ2 , z)) .4 .MP L ((φ1 ∨ φ2 ), z) = TT∨ (MP L (φ1 , z), MP L (φ2 , z)) .5 .MP L ((φ1 → φ2 ), z) = TT→ (MP L (φ1 , z), MP L (φ2 , z)) .6 .MP L (¬φ, z) = TT¬ (MP L (φ, z)) .7 באותו אופן פונקציית המשמעות } M{→,Fמוגדרת עבור נוסחאות ב־ } ,WFF{→,Fכצמצום של הפונקציה .MP L 1.5 טיאוטולוגיות וספיקות של נוסחא נוסחאות אשר לכל השמת אמת מחזירות ערך ,1נקראות טיאוטולוגיות. כיצד ניתן להוכיח שנוסחא היא טיאוטולוגיה? ניתן לבדוק ע"י בדיקת כל השמת אמת ,ולבדוק כי אכן הנוסחא מחזירה 1לכל השמה שכזאת .אלגוריתם זה אינו יעיל שכן קיימות 2nהשמות אמת ,כאשר nהינו מספר המשתנים בנוסחא .בהמשך נדבר על מערכת הוכחה ,המאפשרת להוכיח זאת באופן יותר פשוט. נאמר שנוסחא היא ספיקה )ברת סיפוק( אם קיימת השמת אמת למשתניה הנותנת ערך לוגי .1 קל לראות כי אכן כל טיאוטולוגיה היא ברת סיפוק .האם קיים קשר נוסף? • לכל φטיאוטולוגיה ¬φ ,אינה ברת סיפוק ,ולהיפך. • לכל נוסחא φשאינה ברת סיפוק ¬φ ,היא טיאוטולוגיה. 6 Studenteen.org 1.6 10במרץ 2012 Logics גרירה לוגית נאמר שקבוצת פסוקים Σגוררת לוגית את ϕאם לכל השמת אמת שמספקת את כל הנוסחאות ב־ ,Σמספקת את .ϕנסמן זאת ב־.Σ ϕ נאמר ש־ ,Σ ` ϕאם אנחנו יכולים להוכיח את ϕמ־ .Σכלומר ,קיימת שרשת הוכחה שמשתמשת בהנחות מ־,Σ אקסיומות ,וכללי הוכחות )למשל ,(M Pומסתיימת ב־.ϕ למה Σ ∪ {ϕ → F } ⇐⇒ Σ ϕ .אינה ברת סיפוק. נניח ש־ ,Σ ϕאזי ,כל השמת אמת שמספקת את Σמספקת את ,ϕולכן לא יכולה לספק את } .{ϕ → F לצד השני ,נניח ש־} Σ ∪ {ϕ → Fאינה ברת סיפוק .אזי ,כל השמת אמת שמספקת את Σלא מספקת את } ,{ϕ → Fולכן מספקת את .ϕ מערכת ההוכחה בלוגיקה של פסוקים 2 מהי מערכת הוכחה? ביומיום ,אנחנו מוכיחים טענות מתמטיות בשימוש באקסיומות ,משפטים שהוכחנו ,וכלל הוכחה המאפשר לנו הסקת מסקנות מנכונות של מספר טענות בו־יחדיו. נכליל את הרעיון ,ונאמר שמערכת הוכחה בתחשיב הפסוקים היא קבוצת אקסיומות Υוכללי הוכחות ,כך שכל הוכחה תהיה סדרה סופית של טענות. נגדיר כעת את מערכת ההוכחה שלנו ע"י האקסיומות הבאות .1אקסיומה .(ϕ → (ψ → ϕ)) :A1 .2אקסיומה .((ϕ → (ψ → η)) → ((ϕ → ψ) → (ϕ → η))) :A2 .3אקסיומה .(((ϕ → F ) → F ) → ϕ) :A3 עם שימוש בכלל ההיסק ,MP-Modus Ponensהאומר :אם מניחים } {ϕ → ψ, ϕמסיקים .ψ 2.1 הוכחה ומשמעותה בכל שלב בהוכחה ,Σ ` ϕיכול להופיע או פסוק מ־ ,Σאו אקסיומה ,ואם הופיעו ההנחות של M Pאז המסקנה של M Pיכולה להופיע. בכל שלב נרשום גם את ההצדקה לשלב הבא .נשים לב כי המשמעות של ההוכחה Σ ` ϕהינה כי ההוכחה היא .Σ ϕ דוגמא.∅ ` (ϕ → ϕ) . 1. (ϕ → ((ϕ → ϕ) → ϕ)),............A1 2. ((ϕ → ((ϕ → ϕ) → ϕ)) → ((ϕ → (ϕ → ϕ)) → (ϕ → ϕ)))..........A2 7 Studenteen.org 10במרץ 2012 Logics )3. ((ϕ → (ϕ → ϕ)) → (ϕ → ϕ))................MP(1,2 4. (ϕ → (ϕ → ϕ)).................A1 )5. (ϕ → ϕ)................MP(4,3 דוגמא.{F } ` ϕ . 1. F ..........Assumption 2. (F → ((ϕ → F ) → F )).............A1 )3. ((ϕ → F ) → F ).............MP(1,2 4. (((ϕ → F ) → F ) → ϕ)..............A3 5. ϕ................MP(3,4). נדגיש כי אם ניתן להוכיח פסוק מסוים ϕמקבוצת פסוקים , Σאזי ניתן להוכיח את ϕגם מכל קבוצה המכילה את .Σההוכחה לכך פשוטה ,אפשר פשוט לחזור על כל סדרת ההוכחה ,מבלי להשתמש בפסוקים הנוספים. 2.2 משפט הדדוקציה משפט Σ ` ϕ → ψ .אם"ם .Σ ∪ {ϕ} ` ψ הוכחה .בכיוון ⇐ ,נניח ש־) ,Σ ` (ϕ → ψאזי ,Σ ⊆ Σ ∪ {ϕ} ,לכן ) .Σ ∪ {ϕ} ` (ϕ → ψנשתמש בסוף ההוכחה בכלל M Pלקבל את .ψכלומר.Σ ∪ {ϕ} ` ψ , בכיוון ⇒ ,נביט בסדרת ההוכחה של ,Σ ∪ {ϕ} ` ψונראה באינדוקציה על אורך סדרת ההוכחה שכל שורה שבה הוכחנו ,χניתן להוכיח את ) (ϕ → χמבלי להשתמש ב־ ϕכהנחה .כלומר.Σ ` (ϕ → χ) , בסיס .נניח שאנו בשורה הראשונה של ההוכחה ,נסמנה .χאזי ,לשורה הראשונה χיש אפשרות להיות אקסיומה, או איבר של } .Σ ∪ {ϕאם השורה היא ,ϕאזי ,נידרש להוכיח את ,ϕ → ϕוזה ניתן להוכחה מכל ) Σהוכחנו קודם( .עבור המקרה השני ,השורה הראשונה היא או אקסיומה או איבר של .Σאם χמתקיים ,אזי לפי אקסיומה ,A1מתקיים ) ,χ → (ϕ → χועם M Pנסיק כי ) ,(ϕ → χרק בעזרת ,Σכנדרש. הוכחה .נניח כי אנו בשורה כלשהי ,χואנחנו מניחים נכונות לכל השורות הקודמות .אזי ,אם χאקסיומה או איבר מ־} ,Σ ∪ {ϕניתן להוכיח כי ) Σ ` (ϕ → χבאותו אופן. האפשרות השניה היא ש־ χמתקבלת באמצעות M Pמשתי שורות קודמות ,שורה µושורה .µ → χלפי הנחת האינדוקציה.Σ ` (ϕ → (µ → χ)) ,Σ ` (ϕ → µ) , נשתמש באקסיומה A2לקבל ))) ,((ϕ → (µ → χ)) → ((ϕ → µ) → (ϕ → χונשתמש פעמיים ב־ ,M Pונקבל ).(ϕ → χ זה נכון גם עבור השורה האחרונה ,ψולכן נקבל ) .Σ ` (ϕ → ψמ.ש.ל. 8 Logics Studenteen.org 10במרץ 2012 באמצעות משפט הדדוקציה ניתן להוכיח טענות חשובות ,כגון טרנזטיביות הגרירה ,ואת ) .Contrapositiveאם מניחים ,ϕ → ψאזי ניתן להסיק ) .((ψ → F ) → (ϕ → F 2.3 הוכחה לפי מקרים נוכיח כי אם ,Σ ∪ {ϕ} ` ψוגם ,Σ ∪ {ϕ → F } ` ψאזי .Σ ` ψ הוכחה. 1. Σ ` (ϕ → ψ)......................Deduction From Σ ∪ {ϕ} ` ψ 2. Σ ` (ϕ → F ) → ψ...........................Deduction From Σ ∪ {ϕ → F } ` ψ 3. Σ ` (((ϕ → F ) → F ) → ϕ)............................A3 4. Σ ` (((ϕ → F ) → F ) → ψ)........................Transitivity of 3,1 5. Σ ` ((ψ → F ) → ((ϕ → F ) → F ))....................Contrapositive of 2. 6. Σ ` ((ψ → F ) → ψ))...........................................Transitivity of 5,4 )7. Σ ` ((ψ → F ) → (ψ → F ))..............................Idempotence (χ → χ 8. Σ ` ((ψ → F ) → (ψ → F )) → (((ψ → F ) → ψ) → ((ψ → F ) → F )))..........................A2 )9. Σ ` (((ψ → F ) → ψ) → ((ψ → F ) → F )).........................MP(7,8 )10. Σ ` ((ψ → F ) → F )..............................MP(6,9 11. Σ ` (((ψ → F ) → F ) → ψ)...........................A3 12. Σ ` ψ......................................MP(10,11). 2.4 נאותות נאמר שמערכת היסק היא נאותה ,כלומר ,אם לכל קבוצת פסוקים Σופסוק ,ϕאם ,Σ ` ϕאזי .Σ ϕהמשמעות של דבר כזה היא שהמערכת שהגדרנו היא "נכונה" .כלומר ,שהאקסיומות שהגדרנו עבור המערכת נכונות לוגית, ושכלל ההוכחה שלנו משמר נכונות. כמו כן ,נאמר שמערכת היא שלמה אם עבור כל קבוצת פסוקים Σופסוק ,ϕאם ,Σ ϕאזי .Σ ` ϕהמשמעות של דבר כזה היא שכל דבר שנכון לוגית ,ניתן להוכיח אותו במסגרת כללי ההוכחה שהגדרנו. המערכת שהצגנו ,מערכת אקסיומות Lyndonוכלל ההוכחה ,M Pהינה נאותה .ניתן להוכיח זאת באינדוקציה על סדרת ההוכחה ,כאשר האקסיומות תמיד מתקיימות ,וכלל M Pמשמר נכונות. 9 Studenteen.org 2.5 Logics 10במרץ 2012 שלמות נרצה להוכיח כי לכל Σולכל ,ϕאם ,Σ ϕאזי .Σ ` ϕ הוכחה. נוכיח באופן שקול ,כי אם ,Σ 0 ϕאזי .Σ 2 ϕרעיון ההוכחה הוא להראות קיום של השמת אמת שמספקת את Σ אך לא מספקת את ,ϕמבלי למצוא מפורשות את ההשמה. נניח כי .Σ 0 ϕידוע כי קבוצת הפסוקים בלוגיקה הינה בת מניה ,ולכן ניתן לסדר את כל הפסוקים בסדרה ϕ0 , ϕ1 , ϕ2 , ....וכך הלאה. נגדיר כעת סדרה של קבוצות Σ = Σ0 ⊆ Σ1 ⊆ Σ2 ⊆ .....באופן הבא: .1אם ,Σi ∪ {ϕi } 0 ϕאזי } .Σi+1 = Σi ∪ {ϕiאחרת.Σi+1 = Σi , .2נגדיר .Σ∗ = Σ0 ∪ Σ1 ∪ Σ2 ∪ ...... נוכיח כעת טענות עזר על ∗.Σ טענה .עבור פסוק כלשהו ,ψלא ייתכן ש־ ∗ ,ψ ∈ Σוגם ∗.(ψ → F ) ∈ Σ ∈ .ψבאותו אופן הוכחה .נניח בשלילה שכן .אזי ,לפי הבנייה ,קיים ,i ∈ Nכך ש־ .ψ = ϕiואז/ Σi , ψ ∈ Σi+1 , ∈ ) .(ψ → Fניקח } .n = max{i, jנקבל ∈ ) ψ, (ψ → F קיים ,j ∈ Nכך ש־ / Σj , (ψ → F ) ∈ Σj+1 .Σn+1נפעיל כלל M Pונקבל כי .Σn+1 ` Fומכאן ) Σ ` ϕכי ניתן להוכיח הכל עם ,(Fבסתירה לבנייה! הסתירה מוכיחה את הטענה . טענה .עבור פסוק כלשהו ,ψלא ייתכן שגם ψוגם ) (ψ → Fאינם נמצאים ב־ ∗.Σ הוכחה .נניח בשלילה שכן .מכאן ,לפי הבנייה ,קיים i ∈ Nכך ש־ .Σi ∪ {ψ} ` ϕכמו כן ,קיים j ∈ Nכך ש־ .Σj ∪ {ψ → F } ` ϕנסמן } .n = max{i, jנקבל כי ,Σn ∪ {ψ} ` ϕוכי .Σn ∪ {ψ → F } ` ϕלפי הטענה "הוכחה לפי מקרים" שהוכחנו לעיל ,נקבל ,Σn ` ϕבסתירה לבנייה! הסתירה מוכיחה את הטענה . כלומר ,נוכל להסיק כי כל פסוק או השלילה שלו נמצאים ב־ ∗ ,Σאך לא שניהם. טענה (χ → η) .נמצא ב־ ∗ η ⇐⇒ Σאו ) (χ → Fנמצאים ב־ ∗.Σ הוכחה .עבור ⇐ ,נניח ש־) (χ → ηב־ ∗ .Σנניח בשלילה שגם ) (η → Fוגם χנמצאים ב־ ∗ .Σאזי ,באותו אופן בהוכחות לעיל ,קיים n ∈ Nכך ש־ .{χ, (η → F ), (χ → η)} ⊆ Σnמכאן ,נקבל בשימוש פעמיים ב־ M P ש־ ,Σn ` Fומכאן נוכל לומר , Σn ` ϕבסתירה לבנייה .ולכן נקבל את הדרוש. עבור ⇒ ,נניח ש־ ∗ .η ∈ Σאזי ,קיים i ∈ Nכך ש־ .η ∈ Σiבעזרת אקסיומה ,A1נקבל )),Σi ` (η → (χ → η ועם M Pנסיק ) .Σi ` (χ → ηבגלל שכל פסוק או שלילתו נמצאים ב־ ∗ ,Σאם ∗ ,((χ → η) → F ) ∈ Σאזי קיים ,j ∈ Nכך ש־ .((χ → η) → F ) ∈ Σjניקח } , n = max{i, jונקבל כי ) .Σn ` (χ → ηכמו כן, 10 Studenteen.org 10במרץ 2012 Logics ∈ ) ,((χ → η) → F ,((χ → η) → F ) ∈ Σnמכך נסיק כי ,Σn ` Fכלומר ,Σn ` ϕ ,בסתירה לבנייה .ולכן ∗/ Σ ולכן ,ולכן אם ∗ η ∈ Σאזי ∗.(χ → η) ∈ Σ כעת ,נניח ש־ ∗ .(χ → F ) ∈ Σאזי קיים i ∈ Nכך ש־ .(χ → F ) ∈ Σiנרצה להראות ש־) , Σi ` (χ → ηואז נקבל ,בדומה לעיל ,שאם השלילה ) ((χ → η) → Fהיה ב־ ∗ ,Σאזי קיים n ∈ Nעבורו .Σn ` ϕלפי משפט הדדוקציה .Σi ∪ {χ} ` η ⇐⇒ Σi ` (χ → η) ,אבל ,(χ → F ) ∈ Σiולכן ,Σi ∪ {χ} ` Fולכן ,Σi ∪ {χ} ` η כנדרש . כעת ,מכל התוצאות לעיל נגיע לתוצאה הסופית ,שהיא כי .Σ 2 ϕ ∗ נגדיר סמנטיקה )פירוש של כל נוסחא לערך 0או (1באופן הבא ,אם פסוק ,ψ ∈ Σאזי נאמר שמשמעותו .1אחרת .0 ,ראינו באמצעות טענות העזר ,שאין שייך פסוק ושלילתו ל־ ∗ ,Σולכן אין זה מתנגש עם השלילה בסמנטיקה של טבלאות אמת. הטענה השלישית מוכיחה לנו כי סמנטיקת הגרירה נשמרת גם היא בסמנטיקה שמשרה ∗ . Σכלומר ,אם הפסוק ) (χ → ηמחזיר ערך אמת ,אזי או ש־ ηמחזיר ערך אמת או ש־ χ → Fמחזיר ערך אמת ,כלומר χ ,מחזיר ערך שקר ,וגם להפך .כלומר ,אם ηמחזיר ערך אמת ,או χ → Fמחזיר ערך אמת ,אזי גם ) (χ → ηמחזיר ערך אמת. זה נכון גם ב־ ∗.Σ ולכן נוכל לומר שהסמנטיקה שמגדירה כך ∗ Σשקולה לסמנטיקה של טבלאות האמת ,כלומר ,קיימת השמת אמת לקבוצת כל הפסוקים } ,WFF{→,Fהמתלכדת עם הסמנטיקה של שייכות ל־ ∗.Σ ∈ ,ϕכי אם כן ,היה שלב בבנייה בו ϕנכנס ל־ Σnעבור n ∈ Nכלשהו ,וכמובן Σn ` ϕמיידית, ברור כי ∗/ Σ בסתירה לבנייה .ולכן ,המשמעות של ϕתהיה .0 כמו כן ,Σ ⊆ Σ∗ ,ולכן כל ערכי האמת של כל הפסוקים ב־ Σהם .1כלומר ,בגלל שקילות הסמנטיקה ,קיימת השמת אמת ) Zשבעצם מושרית ע"י ∗ (Σשמספקת את כל פסוקי ,Σאך אינה מספקת את .ϕמכאן מיד נובע כי .Σ 2 ϕ ובכאן נסיים את דברינו בלוגיקה של תחשיב הפסוקים ,המהווה מבוא ללוגיקה מסדר ראשון ,עליה נדבר בחלק הבא. 11 Studenteen.org Logics 10במרץ 2012 חלק II לוגיקה מסדר ראשון לוגיקה מסדר ראשון ־ מהי? הגישה הפורמלית ,הסמנטיקה 3 בלוגיקה מסדר ראשון ,במקום לדבר על השמות אמת לפסוקים ,נדבר על עולם .העולם הוא מבנה מתמטי המכיל איברים ,יחסים ,קבועים ,ופונקציות. דוגמאות למבנים שניתן לתאר באמצעות לוגיקה מסדר ראשון: .1מבנה של גרף ) ,G = (V, Eכאשר המבנה הינו קבוצה ,Vובעולם קיים יחס ,E ⊆ V × Vכאשר (v1 , v2 ) ∈ Eאם קיימת קשת מ־ v1ל־ v2בגרף. .2המבנה של המספרים הטבעיים .הקבוצה במבנה היא } ,N ∪ {0פונקציית חיבור ,+N : N × N → Nפונקציית כפל .·N : N × N → Nכמו כן ,קיימים הקבועים ,0N , 1Nוהיחס ,≤N ⊆ N × Nשמשמעותו היא (x, y) ∈≤N אם xקטן או שווה ל־.y באופן דומה גם ניתן לדבר על המבנה של המספרים הממשיים ,הרציונלים ,ועוד. באופן כללי ,ניתן לדבר על מבנה כלשהו כ־> ,< X, fX , gX , rX , cX , dXכאשר Xהוא העולם עליו אנחנו מדברים fX , gX ,הינן פונקציות rX ,היא יחס ,ו־ cX , dXהינם קבועים. נרצה להגיד את השפה שלנו כדי שתתאים לתיאור מבנים מתמטיים ,ולכן נגדיר כמה מושגים. הגדרות. .1נגדיר אוסף של סימני יחסים ,Rn,mכאשר nהינו מספר הפרמטרים שהיחס מקבל ,ו־ mהינו סודר. .2נגדיר אוסף של סימני פונקציות ,fn,mכאשר nהוא מספר הפרמטרים שהפונקציה מקבלת ,ו־ mהינו סודר. .3נגדיר אוסף של קבועים ,Cmכאשר mהינו סודר) .ניתן להסתכל על קבועים כפונקציות עם 0פרמטרים( .4נגדיר אוסף משתנים .vi ∈ V נרצה לבטא בלוגיקה הזו בין היתר טענות על המבנים המתמטיים שדיברנו עליהם לעיל .למשל ,הטענה כי "לכל צומת בגרף יש בדיוק kשכנים" ,או כי "יש אינסוף מספרים ממשיים" .נגדיר את השפה של לוגיקה מסדר ראשון באופן כזה שנוכל לבטא את כל הטענות הללו. 3.1 הגדרת השפה הפורמלית נגדיר כעת את מושג ה־"ביטוי" ) (termבאופן אינדוקטיבי להלן: .1בסיס .המשתנים וסימני הקבועים הם ביטויים. .2אם t1 , t2 , . . . , tnהם ביטויים ,ו־ fn,mפונקציה המקבלת nפרמטרים ,אזי ) fn,m (t1 , t2 , . . . , tnהינו ביטוי. 12 Logics Studenteen.org 10במרץ 2012 בנוסף לביטויים ,גם הקשרים הלוגיים ¬ ∃,∀,→ ,∧ ,∨ ,נכנסים לפעולה בשפה. הגדרה .נגדיר נוסחא אטומית כהפעלת יחס ) Rn,m (t1 , ..., tnעל קבוצה של ביטויים ) .t1 , t2 , ..., tnאו יחס נוסף של =( סימן השיוויון לעיל ,גם הוא הינו יחס בינארי ,ונסמן אותו ע"י סימן מיוחד ע"מ לייחד את משמעותו בעתיד )להבטיח שסימן זה יקיים את אקסיומות השיוויון(. כעת נוכל להגדיר את מושג ה־"נוסחא" ,באופן דינדוקטיבי להלן: .1בסיס .נוסחא אטומית היא נוסחא. .2אם ϕ1ו־ ϕ2נוסחאות ,ו־ viהוא משתנה ,אזי גם ) ∀vi ϕ1 ,∃vi ϕ1 ,(ϕ1 → ϕ2 ) ,¬ϕ1 ,(ϕ1 ∨ ϕ2 ) ,(ϕ1 ∧ ϕ2 הן נוסחאות. 3.2 הסמנטיקה של לוגיקה מסדר ראשון כעת ,איך נפרש את השפה שהגדרנו? נשייך את הסימנים שהגדרנו לאלמנטים מן המבנה המתמטי אותו אנו מתארים .כלומר ,לסימני הפונקציות נתאים פונקציות אמיתיות בתוך המבנה ,לסימני היחסים נתאים יחסים כלשהם המוגדרים על המבנה ,ולסימני הקבועים נשייך קבועים במבנה. באופן דומה ללוגיקה פסוקית ,נגדיר פונקציית הצבה ,שתיתן למשתנים בנוסחא ערך מעל המבנה המתמטי ,ובאופן רקורסיבי נגדיר את המשמעות של נוסחא בלוגיקה מסדר ראשון. הגדרה .פונקציית הצבה ,Z : V → Xהינה פונקצייה הנותנת ערך במבנה המתמטי מעל הקבוצה Xלכל משתנה .vi ∈ Vכמו כן ,נגדיר פונקצייה Pהמייחסת לכל סימן פונקציה ,סימן קבוע וסימן יחס לפונקציה ויחס במבנה. כעת ,נוכל להגדיר את פונקציית המשמעות ,MT ,התייחס משמעות לביטויים: .1בסיס.MT(ci , Z) = P(ci ) .MT(vi , Z) = Z(vi ) . .2אם t1 , ..., tnביטויים ,אזי )).MT(fn,m (t1 , ..., tn ), Z) = P(fn,m )(MT(t1 , Z), ..., MT(tn , Z כעת ,נגדיר את פונקציית המשמעות ,Mהתייחס ערכי אמת לנוסחאות. .1בסיס .עבור נוסחא אטומית ) M (Rn,m (t1 , ..., tn ) , Z) ,Rn,m (t1 , ..., tnהיא האם ∈ ))(MT(t1 , Z), ..., MT(tn , Z ) ) P(Rn,mבמילים ,האם הביטויים מקיימים את היחס(. .2אם t1 , t2ביטויים ,אזי ,M(t1 = t2 , Z) = Tאם ).MT(t1 , Z) = MT(t2 , Z .3אם ϕ1 , ϕ2נוסחאות ,אזי, ))M(ϕ1 ∧ ϕ2 , Z) = TT∧ (M(ϕ1 , Z), M(ϕ2 , Z ))M(ϕ1 ∨ ϕ2 , Z) = TT∨ (M(ϕ1 , Z), M(ϕ2 , Z 13 Logics Studenteen.org 10במרץ 2012 ))M(ϕ1 → ϕ2 , Z) = TT→ (M(ϕ1 , Z), M(ϕ2 , Z ))M(¬ϕ1 , Z) = TT¬ (M(ϕ1 , Z .4אם ϕנוסחא ,מתקיים כי ,M(∃vi ϕ, Z) = Tאם קיימת פונקציית הצבה ,Zהשונה מההצבה Zעד כדי המשתנה ,viכך ש־ .M(ϕ, Z) = T .5אם ϕנוסחא ,מתקיים כי ,M(∀vi ϕ, Z) = Tאם לכל פונקציית הצבה ,Zהשונה מההצבה Zעד כדי המשתנה ,viמתקיים ).M(ϕ, Z נוסחא יכולה להיות בעלת ערך אמת עבור הצבה כלשהי תחת כל מבנה ,ויכולה להיות נכונה תחת מבנה ספציפי, ואינטרפרטציה ספציפית .למשל הנוסחא ) ∀vi (vi = viנכונה תחת כל מבנה בו מוגדר יחס השיוויון. לעומת זאת ,הנוסחא )) ,∀v(∃u(R(u, vכאשר היחס Rמבטא יחס < ,תהיה נכונה עבור המספרים השלמים )כי לכל מספר קיים מספר שקטן ממנו( ,אך לא תהיה נכונה בהמספרים הטבעיים. 3.3 משתנים קשורים וחופשיים נאמר שמשתנה vהוא קשור בנוסחא ,ϕאם vנמצא תחת השפעה של כמת ב־) ϕכאשר כמת משמעו ∀ או ∃(. אחרת ,ייקרא vמשתנה חופשי. נגדיר כעת פורמלית ,בהינתן ביטוי ,tאת ) ,var(tהמשתנים של הביטוי ,t .1בסיס .אם vמשתנה ,אזי }.var(v) = {v .2אם t1 , ..., tnביטויים ,אזי ) .var(fn,m (t1 , ..., tn )) = var(t1 ) ∪ ... ∪ var(tn נגדיר כעת פורמלית ,בהינתן נוסחא ,ϕאת קבוצת המשתנים החופשיים שלה,f ree(ϕ) , .1בסיס .אם ) ϕ = Rn,m (t1 , ..., tnנוסחא אטומית ,אזי ) .f ree(ϕ) = var(t1 ) ∪ ... ∪ var(tnבאופן דומה עבור ” = ”. .2אם ϕ1 , ϕ2נוסחאות ,אזי, ) f ree(ϕ1 ∧ ϕ2 ) = f ree(ϕ1 ) ∪ f ree(ϕ2 ) f ree(ϕ1 ∨ ϕ2 ) = f ree(ϕ1 ) ∪ f ree(ϕ2 ) f ree(ϕ1 → ϕ2 ) = f ree(ϕ1 ) ∪ f ree(ϕ2 ) f ree(¬ϕ1 ) = f ree(ϕ1 }f ree(∃vϕ1 ) = f ree(ϕ1 )\{v }f ree(∀vϕ1 ) = f ree(ϕ1 )\{v 14 Studenteen.org 10במרץ 2012 Logics למשל ,כל הופעה של משתנה vבנוסחא ,ϕבנוסחא ∃vi ϕההופעה הינה קשורה. נגדיר כעת פורמלית את קבוצת המשתנים הקשורים בנוסחא ,bound(ϕ) ,ϕ .1בסיס .אם ) ϕ = Rn,m (t1 , ..., tnנוסחא אטומית ,אזי ∅ = ) .bound(ϕבאופן דומה עבור ” = ”. .2אם ϕ1 , ϕ2נוסחאות ,אזי, ) bound(ϕ1 ∧ ϕ2 ) = bound(ϕ1 ) ∪ bound(ϕ2 ) bound(ϕ1 ∨ ϕ2 ) = bound(ϕ1 ) ∪ bound(ϕ2 ) bound(ϕ1 → ϕ2 ) = bound(ϕ1 ) ∪ bound(ϕ2 ) bound(¬ϕ1 ) = bound(ϕ1 }bound(∃vϕ1 ) = bound(ϕ1 ) ∪ {v }bound(∀vϕ1 ) = bound(ϕ1 ) ∪ {v נדגיש כי משתנה יכול להופיע קשור וגם חופשי באותה נוסחא ,למשל ,בנוסחא )) .R2,1 (v0 , v1 ) ∧ ∃v1 (R2,2 (v0 , v1 כמו כן ,נדגיש כי אין קשר בין המופעים הנ"ל של .v1 ובכאן סיימנו לדבר על הסמנטיקה וההגדרה הפורמלית של לוגיקה מסדר ראשון ,ונעבור למערכת ההוכחה בלוגיקה מסדר ראשון. 4 מערכת ההוכחה של לוגיקה מסדר ראשון מערכת ההוכחה שלנו בלוגיקה מסדר ראשון תהיה דומה לזו שנתקלנו בה בתחשיב הפסוקים .באותו אופן לעיל, נשתמש בקשרים הלוגיים } {→, Fבלבד ,ובמקום הכמת ∃vi ϕנשתמש בכמת . (∀vi (ϕ → F )) → F להלן האקסיומות של מערכת ההוכחה שלנו: 1. (ϕ → (ψ → ϕ)). )))2. ((ϕ → (ψ → η)) → ((ϕ → ψ) → (ϕ → η )3. (((ϕ → F ) → F ) → ϕ .כאשר vאינו מופיע חופשי ב־4. (∀v(ϕ → ψ) → (ϕ → ∀v(ψ))) ϕ כאשר tאינו מופיע קשור ב־5. ∀v(ϕ) → ϕ(t) ϕ 15 March 10, 2012 Studenteen.org Logics מדוע יש חשיבות להגבלות באקסיומות ?4,5נדגים זאת ע"י דוגמא. עבור האקסיומה הרביעית ,נביט בטענה )) .∀v(R(v) → R(vטענה זו נכונה לכל מבנה .אם לא הייתה ההגבלה, ניתן היה להסיק מן הטענה כי )) .R(v) → ∀v(R(vאם נביט בעולם בני האדם ,בו ) R(vמשמעו האדם vהינו ג'ינג'י ,נקבל שאם vכלשהו הוא ג'ינג'י ,כל בני האדם הם בעלי שיער ג'ינג'י )?(. עבור האקסיומה החמישית ,נביט בטענה )) .(∀v(¬∀w(v = wאם נשתמש באקסיומה החמישית ללא ההגבלה, נוכל להסיק כי ) ,¬∀w(w = wכלומר ,לא מתקיים לכל wכי .(?) w = w נגדיר כעת אקסיומות נוספות עבור סימן השיוויון ,פרדיקט מיוחד שיסמל שיוויון במבנה: )1. ∀v(v = v כאשר ) A(v, vמתקבל מ־) A(v, wע"י החלפת ההופעות החופשיות של ))2. (v = w) → (A(v, v) → A(v, w wב־v לאקסיומות הנ"ל נקרא אקסיומות 6,7בהתאמה. 4.0.1 כללי הוכחה כללי ההוכחה במערכת ההוכה יהיו ,Modus-Ponensאו בקיצור ,MPוכלל נוסף ,(Generalization) Gen ,האומר, כי אם מסיקים ) ,ϕ(vניתן להסיק ) ,∀xϕ(xרק כאשר vאינו חופשי באף אחת מן ההנחות .Σ מדוע הגבלה זו? נניח שבהנחות נמצאת הנוסחא .v = 0מכאן נוכל להסיק ).(?) ∀x(x = 0 4.1 הוכחות בלוגיקה מסדר ראשון תזכורת .הוכחה של Σ ` ϕהינה סדרת הוכחות ,כאשר כל שלב בה יכול להיות הנחה מ־ ,Σאקסיומה מן הרשומות לעיל ,או שימוש בכללי MP,Genעל השלבים הקודמים. דוגמא{∀v∀wϕ(v, w)} ` ∀w∀v(ϕ(v, w)) . 1. ∀v∀wϕ(v, w)..............................Assumption. 2. ∀v∀w(ϕ(v, w)) → ∀w(ϕ(v, w))...............................A5.1 3. ∀w(ϕ(v, w))......................................MP(1,2). 4. ∀w(ϕ(v, w)) → ϕ(v, w).......................................A5.2 5. ϕ(v, w)............................................MP(3,4). 6. ∀vϕ(v, w).............................Gen(5).3 7. ∀w∀v(ϕ(v, w)).....................Gen(6)4 1שימו לב כי כאן אנו מחליפים את 2שימו לב כי כאן אנו מחליפים את 3קל לראות כי אין מופע חופשי של 4קל לראות כי אין מופע חופשי של vעם עצמו ,ולכן כל מופע קשור של vבתוך ϕלא יינזק עקב ההצבה. wעם עצמו ,ולכן כל מופע קשור של wבתוך ϕלא יינזק עקב ההצבה. vב־).∀v∀wϕ(v, w wב־).∀v∀wϕ(v, w 16 Logics Studenteen.org 10במרץ 2012 דוגמא.{v = w} ` w = v . 1. v = w................................Assumption. 2. (v = w) → ((v = v) → (w = v))..................A75 . 3. (v = v) → (w = v)............................MP(1,2). 4. ∀v(v = v).......................................A6. 5. ∀v(v = v) → (v = v)......................A5.6 6. v = v.................................MP(4,5). 7. w = v................................MP(3,6). דוגמא{u = v, v = w} ` u = w . 1. v = u.......................................Previous example ))2. (v = u) → ((v = w) → (u = w))...............A7(A(v, v) = (v, w )3. (v = w) → (u = w).............................MP(1+2 4. v = w.........................................Assumption. 5. u = w........................................Assumption. משפט הדדוקציה :לכל קבוצת נוסחאות Σולכל שתי נוסחאות ϕ, ψמתקיים.Σ ` ϕ → ψ ⇐⇒ Σ ∪ {ϕ} ` ψ : כזכור ,משפט זה זהה למשפט הדדוקציה מתחשיב הפסוקים ,וגם מתקיים כאן ,וכרגע לא נוכיח אותו כאן. כמו כן ,גם בלוגיקה מסדר ראשון "הוכחה לפי מקרים" מתקיים .כלומרΣ ∪ {ϕ} ` ψ ∧ Σ ∪ {ϕ → F } ` ψ =⇒ , .Σ ` ψ 5כאשר ) A(v, vמסמל את .v = v 6שימו לב ,מדוע ניתן להשתמש באקסיומה? 17 Studenteen.org 5 10במרץ 2012 Logics נאותות ושלמות ,ספיקות וקונסיסטנטיות בחלק זה נדון בשלמות של לוגיקה מסדר ראשון ,בשקילות בין סיפוק וקונסיסטנטיות של קבוצת נוסחאות ,ואף נציג דוגמא לכוחה החלש של לוגיקה מסדר ראשון. הגדרה .נאמר שקבוצת נוסחאות Σהיא קונסיסטנטית אם לא קיימת נוסחא ϕכך ש־ Σ ` ϕוגם ) .Σ ` (ϕ → F 7 משפט .לכל קבוצת נוסחאות Σונוסחא ,ϕמתקיים Σ ∪ {ϕ → F } ⇐⇒ Σ ` ϕלא קונסיסטנטית. הוכחה .בכיוון ⇒ ,נניח ש־} Σ ∪ {ϕ → Fלא קונסיסטנטית .אזי ,בהכרח .Σ ∪ {ϕ → F } ` ϕ 8 כמו כן ,בהכרח מתקיים .Σ ∪ {ϕ} ` ϕמכאן ,לפי "הוכחה לפי מקרים" ,בהכרח .Σ ` ϕ בכיוון ⇐ ,נניח ש־ .Σ ` ϕמכאן ,בהכרח ,9 Σ ∪ {ϕ → F } ` Fולכן לפי ההגדרה Σ ∪ {ϕ → F } ,לא קונסיסטנטית. תזכורת .נאמר שקבוצת נוסחאות ,Σ ϕאם לכל מודל )לכל מבנה( ולכל הצבה המספקת את כל המשתנים בנוסחאות ב־ ,Σבהכרח ההצבה מספקת את .ϕ נאמר שקבוצת נוסחאות Σהיא ספיקה )או כי ל־ Σקיים מודל( ,אם קיים מודל בו כל נוסחא ב־ Σמקבלת ערך .T 5.1 הקשר ההדוק בין קונסיסטנטיות וספיקות לשלמות ונאותות נניח כרגע כי שלמות ונאותות מערכת ההוכחה שלנו הוכחה .כלומר Σ ϕ ⇐⇒ Σ ` ϕ ,לכל קבוצת נוסחאות Σונוסחא .ϕ טענה ⇐⇒ Σ ` ϕ .קיימת תת־קבוצה סופית Σ0 ⊆ Σכך ש־ .Σ0 ` ϕמדוע? 10 מכאן ,נוכל להסיק כי ⇐⇒ Σ ϕקיימת תת־קבוצה סופית Σ0 ⊆ Σכך ש־.Σ0 ϕ 11 מכאן ,נוכל להסיק בעזרת השלמות ,כי } Σ ∪ {ϕ → Fאינה ספיקה ⇒⇐ } Σ ∪ {ϕ → Fאינה קונסיסטנטית. משפט .אם קבוצת נוסחאות Σקונסיסטנטית ,אזי לכל ϕנוסחא ,או ש־} Σ ∪ {ϕקונסיסטנטית או } Σ ∪ {ϕ → F קונסיסטנטית. הוכחה .נניח בשלילה ששתי הקבוצות לא קונסיסטנטיות .תהי נוסחא ,ψאזי ,בהכרח מתקיים ,Σ ∪ {ϕ → F } ` ψ ו־.Σ ∪ {ϕ} ` ψ מכאן ,לפי מקרים נסיק כי ,Σ ` ψוזה נכון לכל פסוק .ψכלומר Σ ,לא קונסיסטנטית ,בסתירה. תזכורת Σ ∪ {ϕ → F } ⇐⇒ Σ ϕ .אינה ספיקה .הוכחנו זאת בפרק הקודם. 7ניסוחים שקולים .Σ 0 F :ניסוח נוסף לאי־קונסיסטנטיות הוא שלכל נוסחא ϕמתקיים .Σ ` ϕ 8מדוע? היזכרו בהגדרה השקולה לקונסיסטנטיות. 9ניתן להסיק את Fבעזרת כלל .MP 10רמז :כל הוכחה היא בהכרח סופית. 11זה נובע משלמות מערכת ההוכחה ומן הטענה לעיל. 18 Studenteen.org Logics 10במרץ 2012 נראה כעת את הקשר החזק בין ספיקות וקונסיסטנטיות ,לשלמות ונאותות. משפט .נניח כי קונסיסטנטיות גוררת ספיקות .אזי מערכת ההוכחה שלמה. הוכחה .נניח כי .Σ 0 ϕאזי Σ ∪ {ϕ → F } ,קונסיסטנטית .ולכן ,לפי ההנחה Σ ∪ {ϕ → F } ,ספיקה .ולכן .Σ 2 ϕ משפט .נניח כי ספיקות גוררת קונסיסטנטיות .אזי ,מערכת ההוכחה נאותה. הוכחה .נניח כי .Σ ` ϕאזי Σ ∪ {ϕ → F } ,לא קונסיסטנטית ,ולכן לפי ההנחה Σ ∪ {ϕ → F } ,אינה ניתנת לסיפוק ,ומכאן נוכל להסיק .Σ ϕ מכאן ,נוכל לקבל שקילות בין הקשר של תכונה סינטקטית לתכונה סמנטית: • לכל קבוצת נוסחאות ,Σמתקיים Σ :קונסיסטנטית ⇒⇐ Σספיקה. • לכל קבוצת נוסחאות Σונוסחא ,ϕמתקיים.Σ ϕ ⇐⇒ Σ ` ϕ : ולכן ,קיימת שקילות בין היחס הסינטקטי של קונסיסטנטיות וספיקות לנאותות ושלמות. כעת ,בעזרת שלמות ונאותות ,נוכיח את משפט הקומפקטיות. 5.2 משפט הקומפקטיות משפט) .קומפקטיות( לקבוצת נוסחאות Σקיים מודל ⇒⇐ לכל תת קבוצה סופית Σ0 ⊆ Σקיים מודל. הוכחה .כזכור Σ ,לא קונסיסטנטית ⇒⇐ ⇐⇒ Σ ` Fקיימת תת קבוצה סופית Σ0 ⊆ Σכך ש־ ⇐⇒ Σ0 ` F קיימת תת קבוצה סופית לא קונסיסטנטית של .Σ מכאן ,לפי קונטרפוזיציה ,יתקיים כי Σקונסיסטנטית ⇒⇐ כל תת קבוצה סופית שלה קונסיסטנטית. לפי שלמות מערכת ההוכחה ,קונסיסטנטיות שקולה לספיקות ,כלומר ,לקבוצת נוסחאות Σקיים מודל ⇒⇐ לכל תת קבוצה סופית של Σקיים מודל. למשפט הקומפקטיות יש משמעות חזקה .עבור קבוצת נוסחאות Σקיים מודל מתמטי שבו כל הנוסחאות ב־Σ מתקיימות אם ורק אם לכל תת קבוצה סופית של Σיש מודל מתמטי המקיים אותן. נוכיח כעת בעזרת זאת את אחת מחולשותיה של לוגיקה מסדר ראשון: סימון .נסמן ב־ ∞ Γאת כל הנוסחאות ,ϕiכך שמשמעות ϕiהיא כי בעולם קיימים לפחות iאלמנטים. משפט .לא קיימת קבוצת נוסחאות ,Σהמתארת אך ורק את כל המודלים הסופיים. 12חשבו כיצד ניתן לרשום פסוק זה. 19 12 Logics Studenteen.org 10במרץ 2012 הוכחה .נניח בשלילה ש־ Σהיא קבוצת נוסחאות המתארת אך ורק את כל המודלים הסופיים .תהי תת קבוצה סופית כלשהי של ∞ .Γ ⊆ Γבגלל שהיא סופית ,קיים i ∈ Nמקסימלי כך ש־.ϕi ∈ Γ בהכרח לקבוצה Σ ∪ Γיש מודל ,מכיוון שניתן לקחת מודל עם בדיוק iאיברים ,והוא יקיים גם את )Σהמתארת את כל המודלים הסופיים( גם כל תת קבוצה סופית שלה ואת ) Γהמתארת מודל עם לפחות iאלמנטים(. מכאן ,בהכרח נקבל כי לכל תת קבוצה סופית של ∞ Σ ∪ Γיש מודל ,13וממשפט הקומפקטיות נוכל להסיק כי יש מודל ל־ ∞ ,Σ ∪ Γאבל אז קיים מודל המספק את Σואת ∞ ,Γובכך נקבל כי קיים מודל סופי המספק את ∞,Γ בסתירה לכך שהקבוצה מספקת אך ורק מודלים אינסופיים. משפט .לא קיימת נוסחא ,ϕשתתאר אך ורק את המודלים האינסופיים. הוכחה .נניח בשלילה שקיימת נוסחא שכזו .ϕאזי ,בהכרח .Γ∞ ϕלפי שלמות המערכת ,קיימת תת קבוצה סופית ∞ Γ ⊆ Γכך ש־ .Γ ϕאבל ,קיים מודל בו כל נוסחאות Γמתקיימות )מודל עם מספר סופי של אלמנטים ,בהתאם לנוסחא המקסימלית המופיעה ב־ ,(Γאבל הוא לא מקיים את ) ϕשמתארת אך ורק מודלים אינסופיים( ,בסתירה. מסקנה .לא קיימת קבוצה סופית Γהמתארת אך ורק את המודלים האינסופיים. הוכחה .נניח בשלילה שקיימת קבוצה } Γ = {χ1 , χ2 , ..., χnכך שמתארת אך ורק את המודלים האינסופיים .אזי, נגדיר .ϕ = χ1 ∧ χ2 ∧ ... ∧ χn מכאן בהכרח נקבל כי ϕמתאר אך ורק את את המודלים אינסופיים ,בסתירה למשפט. למחשבה .נגדיר את הנוסחא ) .ϕ = ∀x∀y((f1,1 (x) = f1,1 (y)) → (x = y) ∧ ∃y∀x(f1,1 (x) 6= yלמעשה נוסחא זו מתארת כי יש פונקציה חח"ע שאינה על ,תנאי הכרחי לאינסופיות הקבוצה. האם זה סותר את המשפט לעיל? 14 5.3 משפט השלמות ללוגיקה מסדר ראשון ההוכחה למשפט תשתמש בשקילות שהראנו .למעשה ,ניתן להוכיח ,עם הוכחה דומה למשפט השלמות לפסוקים ,כי אם קבוצה היא קונסיסטנטית ,אזי יש לה מודל. המודל שנבנה יהיה בנוי מ־ ∗ Σמן הפרק הקודם ,למעט מספר תיקונים וחידודים .עקב קוצר הזמן )והמקום( ,איני הולך לרשום את ההוכחה כאן. 13מדוע? 14נשים לב בעיון כי הפונקציה החח"ע שאינה על היא סימן פונקציה ,כלומר ,עבור מודל מתאים ומבנה מתאים ,בהחלט יכול להתקיים כי f1,1חח"ע ואינה על .אך במודל אינסופי אחר יכול להתקיים כי f1,1,חח"ע ועל ,ולכן הנוסחא אינה מספקת כל מודל אינסופי. למעשה בלוגיקה מסדר שני ,ניתן לתאר זאת בנוסחא אחת ,מכיוון שניתן לנסח בלוגיקה מסדר שני קיום פונקציה )בסופו של דבר ,פונקציה היא קבוצה של זוגות סדורים ,כשכל זוג סדור הינו קבוצה של אלמנטים(. 20 Studenteen.org 6 Logics 10במרץ 2012 משפט אי־השלמות של גדל את ההוכחה למשפט הנ"ל איני הולך להוכיח כאן .ההוכחה שהוצגה הינה הוכחה בעזרת כלים מתורת החישוביות )רדוקציה משפה שאינה כריעה( .את ההוכחה המקורית ניתן למצוא באינטרנט. 21 Logics Studenteen.org 10במרץ 2012 חלק III לוגיקה מודלית עד כה דיברנו על מודל של לוגיקה בו לכל נוסחא יש שני מצבים ,נכונות או אי־נכונות .ברצוננו להרחיב את המודל הנ"ל לעולם דינמי ,עולם בו נכונות של נוסחא תלוי במדד נוסף )למשל ,זמן ,מצב ,ידע.(... השימוש העיקרי בלוגיקה מודלית בא לידי בידי בהוכחת נכונות של תכניות ,בינה מלאכותית ,ועוד. לדוגמא ,נביט בעולם הבא p, q q העולמות שלנו מייצגים "מצבים" ,ולכל עולם מותאמים כל הפסוקים המתקיימים בו ,ועולמות הנגררים ממנו .15 7 לוגיקה מודלית פורמלית במבנה Kripke מבנה Kripkeמהווה פורמליזציה לאינטואיטיביות מאחורי ההגדרה לעיל. הגדרה .מבנה Kripkeהינו רביעייה ) (W, R, L, Pהמוגדרת כך: P .1הינה קבוצת נוסחאות .16 W .2הינה קבוצת העולמות במבנה .17 R .3הינו יחס בינארי .18 R ⊆ W × W ,19 L : W → 2P .4המתאימה לכל w ∈ Wתת קבוצה של נוסחאות ,Pשמתקיימות בעולם .w כעת ,נוכל להגדיר פורמלית את מושג המשמעות" ,נכונות" של נוסחא בעולם כלשהו. 15זאת ניתן לזהות ע"י הקשתות בגרף. 16למעשה זו קבוצת הנוסחאות להן נייחס משמעות במבנה הלוגי. 17לקבוצה זו ניתן להתייחס עפ"י הדוגמא לעיל כקבוצת הקודקודים בגרף. 18יחס זה הינו "יחס הנגררות" בין העולמות. 19משמעות 2Pהינה קבוצת החזקה של P־ קבוצת כל תתי הקבוצות של נוסחאות ב־.P 22 Studenteen.org הגדרה .יהי x ∈ Wעולם כלשהו .נאמר ש־x p את הגרירה הלוגית: Logics 20 10במרץ 2012 פסוק יסודי ,p ∈ Pאם ) .p ∈ L(xמכאן נגדיר רקורסיבית .1נאמר ש־ x ¬ϕאם ורק אם .x 1 ϕ x ϕ ∧ ψ .2אם"ם x ϕוגם .x ψ x ϕ ∨ ψ .3אם"ם x ϕאו . x ψ x ϕ .4אם"ם לכל y ∈ Wכך ש־ ,(x, y) ∈ Rמתקיים .y ϕ x ϕ .5אם"ם קיים y ∈ Wכך ש־ ,(x, y) ∈ Rומתקיים .y ϕ דוגמא .נשים לב לשקילויות הבאות: • ).ϕ = ¬ (¬ϕ • ).ϕ = ¬(¬ϕ • ).(p ∧ q) = (p ∧ q • ).(p ∨ q) = (p ∨ q שימו לב ,כי ) ,(p ∨ q) 6= (p ∨ qוכי ) ,(p ∧ q) 6= (p ∧ qמדוע? 21 הגדרה .נאמר שנוסחא ϕהיא • ברת סיפוק אם קיים עולם w ∈ Wהמקיים אותה ,במודל 22מסוים. • אינה ברת סיפוק אם אינה מתקיימת בכל עולם ובכל מודל. • נכונה במודל ,אם מתקיימת בכל .w ∈ W • validאם לכל מודל ולכל עולם ϕ ,w ∈ Wמתקיימת ב־.w • validבמשפחה מוגבלת של מודלים ,23אם לכל מודל במשפחה ולכל עולם ϕ ,w ∈ Wמתקיימת ב־.w כמו כן ,יוגדרו כללי היסק ואקסיומות ,בדומה ללוגיקה הפסוקית ־ כלל ,M Pאקסיומות ,A1 , A2 , A3האקסיומה החדשה ) ,K : (ϕ → ψ) → (ϕ → ψוכלל היסק GENהאומר כי מ־ ϕניתן להסיק .ϕ 20הסימון בהרצאה היה ,ובתרגול . 21עבור הראשון ,אין זה מחייב שאם כל העולמות מקיימים את ,p ∨ qאזי כל העולמות השכנים מקיימים את pאו כל העולמות השכנים מקיימים את .qעבור השני באותו האופן. 22המשמעות של מודל הינה זהה למשמעות בלוגיקה מסדר ראשון ,ה"ייקום" עליו אנו מדברים. 23דוגמא לזאת נראה בהמשך. 23 Studenteen.org 7.1 10במרץ 2012 Logics דוגמא למשפחות מודלים נגדיר כעת תכונות שמודלים מסויימים יכולים לקיים: הגדרות .נאמר שמודל הוא .1מודל ) Tרפלקסיבי( אם לכל עולם ,(w, w) ∈ R ,w ∈ Wשקול ל־ .ϕ → ϕ .2מודל ) Dסיראלי (24אם לכל ,w ∈ Wקיים w0 ∈ Wכך ש־ ,(w, w0 ) ∈ Rשקול ל־.ϕ → ϕ .3מודל ) 4טרנזטיבי( אם לכל ,u, v, w ∈ Wאם ,(u, v) ∈ Rו־ (v, w) ∈ Rאזי ,(u, w) ∈ Rשקול ל־.ϕ → ϕ .4מודל ) 5אוקלידי( אם לכל ,u, v, w ∈ Wאם ,(u, v) ∈ Rו־ (u, w) ∈ Rאזי ,(v, w) ∈ Rשקול ל־.ϕ → ϕ כמו כן ,נאמר שמודל הוא ליניארי ,אם הוא טרנזיטיבי ,מסודר היטב ,ואין בו מעגלים .למשל p3 7.2 p2 p1 לוגיקה של ידע בלוגיקה של ידע ,נרצה לבנות מודל המתאר את יחסי הידע בין המצבים. נגדיר לשם כך קבוצת סוכנים .A, B, Cבניגוד ללוגיקה מודלית ,כאן יהיו לנו מספר יחסים ־ ,RA , RB , RCכך ש־ RAמסמל יחס בין מצבים ש־ Aאינו יכול להבדיל בינהם .נדרוש כי אלו יהיו יחסי שקילות. הגדרה .יהי s ∈ Wעולם במודל ידע )המוגדר באופן דומה למודל .(Kripkeנאמר ש: s KA (ϕ) .1אם לכל r ∈ Wכך ש־ (s, r) ∈ RAמתקיים ,25 r ϕעבור סוכן .A s C(ϕ) .2אם ϕהוא ידע משותף .כלומר ,כל סוכן יודע את ,ϕכל סוכן יודע שכל סוכן יודע את ,ϕוכך הלאה. למעשה ,המשמעות של ההגדרה הראשונה KA (ϕ) ,אומר כי בכל העולמות שהסוכן Aאינו יכול להבדיל בינהםϕ , בהכרח מתקיים .מכך ניתן להסיק שהוא יכול לדעת בוודאות כי ϕמתקיים. דוגמאות .תכונות לוגיקת ידע משמרות תכונות טריוויאליות שנדרוש מידע. • מתקיים ) ,KA (ϕ → ψ) → (KA ϕ → KA ψכלומר ,ידע היא תכונה בה ניתן להסיק מסקנות. • ,KA ϕ → ϕכלומר ,אם אני יודע ש־ ϕמתקיים ,אז הוא בהכרח מתקיים בעולם שלי. • ,KA ϕ → KA KA ϕכלומר ,אני יודע שאני יודע משהו. • ,¬KA ϕ → KA ¬KA ϕכלומר ,אני יודע מה אני לא יודע. 24בלעז .Serial 25שימו לב כי גם מוגדרת הסמנטיקה הקשורה ללוגיקה פסוקית. 24 Studenteen.org 7.3 10במרץ 2012 Logics לוגיקה טמפורלית בלוגיקה טמפורלית ,נרצה למדל מצבים של ריצה של תכנית .בין המצבים יתקיים יחס ליניארי ,וסדר .נשתמש בלוגיקה זו לנסח טענות על ריצה מסוימת ,ולאחר מכן על כל ריצה. הגדרה .נגדיר את הכמתים • ϕ־ ϕיתקיים תמיד ,לעולם. • ϕ־ ϕיתקיים מתישהו ,בשלב מסוים. • ϕ־ ϕיתקיים בשלב הבא. • ϕUψ־ ϕיתקיים עד .ψ דוגמאות. • p־ משמעו כי pיתקיים אינסוף פעמים. • p־ משמעו כי בשלב כלשהו p ,יתקיים לתמיד. קיימות שלל דוגמאות בנושא זה .במידה ותרצו להפריך טענה מסויימת ,למשל ,הדוגמא הבאה מפריכה את הטענה כי )(ϕ ∨ ψ) = (ϕ) ∨ (ψ ψ 7.3.1 ϕ ψ ϕ ψ הגדרה פורמלית של לוגיקה טמפורלית הגדרה .תהי σ = s0 , s1 , ...סדרת ריצה ,ו־ .si ∈ Wנגדיר σ iלהיות הסיפא .si , si+1 , ...נאמר ש: σ i p .1אם"ם .26 si p σ i ϕ .2אם קיים j ≥ iכך ש־.σ j ϕ σ i ϕ .3אם לכל .σ j ϕ ,j ≥ i σ i ◦ϕ .4אם .σ i+1 ϕ σ i ϕUψ .5אם קיים j ≥ iכך ש־ ,σ j ψולכל i ≤ k < jמתקיים .σ k ϕ למעשה s ∈ W ,מתארים לנו את המצבים σ ,הינה ריצה אפשרית כלשהי .נוכל לומר כי P ϕאם כל סדרת ריצה σשל Pמקיימת .σ ϕ 26שימו לב כי גם מוגדרת הסמנטיקה הקשורה ללוגיקה פסוקית. 25 Studenteen.org 10במרץ 2012 Logics דוגמא .נציג את דוגמת מצב קפיץ s3 release pull s2 s1 start release כאשר נגדיר } ,L(s2 ) = {extendedכאשר משמעות extendedהיא כי הקפיץ מתוח ,ו־},L(s3 ) = {extended, malf unction כאשר malf unctionמשמעו כי הקפיץ אינו עובד יותר. להלן טענות שניתן לנסח על סדרת הריצה σ = s1 s2 s1 s2 s3 s3 s3 .... • r2 extended־ זה לא מתקיים ,כי ∅ = ) .L(s1 • r2 ◦extended־ זה מתקיים ,כי ב־ s2כן מתקיים .extended • r2 ◦ ◦ extended־ זה לא מתקיים ,וזאת כי לאחר שני מצבים ,המצב יהיה s1חזרה ,ושם לא מתקיים .extended • r2 extended־ זה מתקיים ,כי הרי ב־ s2מתקיים .extended • r2 extended־ זה לא מתקיים ,המצב s1אינו מקיים extendedומגיעים אל המצב הזה בהרצה .r2 • r2 extended־ זה מתקיים ,כי מתישהו בהרצה מגיעים לשלב ) s3לאחר 4צעדים( ושם מתקיים .extended • r2 ¬ extended־ בסעיף הקודם הראנו שהשלילה של הטענה נכונה ,ולכן זו אינה נכונה. • ) r2 (¬extended)U(malf unction־ זה לא מתקיים ,שכן הפעם הראשונה בה מתקיים malf unction היא בצעד הרביעי ,בעוד שבצעד בשני כבר מתקיים extendedולכן לא מתקיים .¬extended • ) r2 (¬extended → ◦extended־ זה מתקיים ,שכן לכל צעד ,אם מתקיים בו ,¬extendedהרי שהמצב היחיד שזה יקרה הוא ,s1והשלב שאחרי s1הוא ,s2ולכן שם יתקיים .extended חשוב לנסות ולהבין בלוגיקה מודלית והלוגיקות הנגזרות ממנה מהו המודל ,איך הוא מוגדר ואיך לנסח בו טענות אותן היינו רוצים להוכיח או לדרוש במודל. 26 Studenteen.org 10במרץ 2012 Logics חלק IV אימות תוכנה נרצה כעת באמצעות שימוש בלוגיקה מסדר ראשון לאמת את נכונותן של תכניות ,ובמקרה שלנו Flowchat .programs 8 הוכחת נכונות השיטה לאימות תכניות שנציג כאן פיתח F loydבשנת .1967 הגדרה .המשתנים בנוסחאות שלנו יהיו מן הקבוצות הבאות :משתני הקלט ,X = {x1 , ..., xn } ,משתני התכנית } Y = {y1 , ..., ynומשתני פלט } .Z = {z1 , ..., zk נביט בתכנית הבאה: start ) (y1 , y2 ) = (0, x1 y2 ≥ x2 False True ) (y1 , y2 ) = (y1 + 1, y2 − x2 ) (z1 , z2 ) = (y1 , y2 halt 27 Studenteen.org 10במרץ 2012 Logics התכנית מחשבת את החילוק בשארית של x1ב־ .x2כלומר ,מחשבת z1 , z2כך ש־ x1 = z1 ·x2 +z2ו־ .0 ≤ z2 < x2 נרצה להוכיח כי אכן התכנית מבצעת את הדרוש .כלומר ,בהינתן קלט ) ,(x1 , x2הפלט ) (z1 , z2מקיים = x1 .z1 · x2 + z2 ∧ 0 ≤ z2 < x2 הגדרה. • נכונות חלקית ־ אם התנאי ההתחלתי מתקיים והתכנית עוצרת ,אז יחס הקלט־פלט מתקיים. • סיום ־ אם התנאי ההתחלתי מתקיים ,אזי התוכנית עוצרת. • נכונות מוחלטת ־ אם התנאי ההתחלתי מתקיים ,אזי התכנית עוצרת ויחס הקלט־פלט מתקיים. למשל ,בדוגמא לתוכנית לעיל ,התכנית נכונה חלקית עבור תנאי התחלה ,x1 ≥ 0, x2 ≥ 0אך נכונה באופן מוחלט עבור .x1 ≥ 0, x2 > 0 8.1 הוכחת נכונות חלקית לכל נקודה בין שני מצבים ניתן שם .למשל: start A ) (y1 , y2 ) = (0, x1 B B y2 ≥ x2 D False C True ) (y1 , y2 ) = (y1 + 1, y2 − x2 ) (z1 , z2 ) = (y1 , y2 E halt 28 Logics Studenteen.org 10במרץ 2012 לכל נקודה נשייך שמורה ,טענה לוגית שתתקיים במהלך הריצה של התכנית. למשל ,נציג שמורות לכל נקודה בתכנית לעיל: • ).ϕ(A) : (x1 ≥ 0) ∧ (x2 ≥ 0 • )ϕ(B) : x1 = (y1 · x2 + y2 ) ∧ (y2 ≥ 0 • ) ϕ(C) : x1 = (y1 · x2 + y2 ) ∧ (y2 ≥ x2 • ) ϕ(D) : x1 = (y1 · x2 + y2 ) ∧ (y2 ≥ 0) ∧ (y2 < x2 • ) ϕ(E) : x1 = (z1 · x2 + z2 ) ∧ (z2 ≥ 0) ∧ (z2 < x2 מתקיים ־ ) ϕ(Aהוא פרה־תנאי של השורה ) ,(y1 , y2 ) = (0, x1ו־) ϕ(Bהוא פוסט־תנאי של אותה שורה. ע"מ להוכיח את נכונות התכנית ,נרצה להראות קונסיסטנטיות של השמורות .כלומר ,בהנחה שכל שמורה גוררת את השמורה הבאה ,נרצה כי למשל השמורה ב־ Aתגרור את נכונות השמורה ב־ .Bאם זה יתקיים ,נקבל כי סה"כ תנאי הקלט ב־ Aגורר את תנאי הפלט ב־ ,Eובכך הוכחה נכונות התכנית. אך למרות זאת ,אם נרצה להוכיח כי השמורה Cגוררת את השמורה ,Bלא נוכל להוכיח ) ,ϕ(B) → ϕ(Cשכן הצבנו ערכים שונים לאותם משתנים! כיצד נפתור זאת? 8.1.1 רלטיויזציה נמיר את השמורה לפסוק שקול בשמורה הקודמת לה .לכל המשתנים בשמורה נוסיף סימן ,0ונציב לכל משתנה x0 את ) x0 = f (xכאשר fהינה ההצבה שהתבצעה. הטענה שנקבל תהיה הטענה השקולה לשמורה בעולם של השמורה הקודמת ,שם נצטרך להוכיח גרירה. דוגמא .נוכיח את הנכונות של הדוגמא לעיל. הוכחה. ראשית ,נוכיח קונסיסטנטיות מנקודה Aל־ .Bאנו יודעים כי ) .ϕ(B) : x1 = (y1 · x2 + y2 ) ∧ (y2 ≥ 0נבצע רלטיויזציה ל־ Aונקבל את הנוסחא )ϕ(B)A : x1 = (0 · x2 + x1 ) ∧ (x1 ≥ 0 קל לראות כי אכן .ϕ(A) → ϕ(B)A כעת ,נוכיח קונסיסטנטיות בין הנקודה Bאל .C כלומר ,נצטרך להראות כי בהינתן שתנאי הלולאה מתקיים ,השמורה Bגוררת את השמורה .Cנזכיר כי ϕ(C) : ) .x1 = (y1 · x2 + y2 ) ∧ (y2 ≥ x2 מכיוון שלא התבצעה הצבה בתנאי ,קל לראות כי אכן .ϕ(B) → ϕ(C)B כעת נוכיח כי השמורה Cגוררת את השמורה .Bנזכיר כי ) .ϕ(B) : x1 = (y1 · x2 + y2 ) ∧ (y2 ≥ 0נבצע רלטיויזציה ל־ Cונקבל את הנוסחא )ϕ(B)C : x1 = ((y1 + 1) · x2 + (y2 − x2 )) ∧ (y2 − x2 ≥ 0 29 Studenteen.org Logics 10במרץ 2012 קל לראות כי אכן .ϕ(C) → ϕ(B)C כעת ,הצעד האחרון הוא כי השמורה Dגוררת את השמורה .Eזהו צעד פשוט שכן לאחר הרלטיויזציה ,מתקיים .ϕ(D) = ϕ(E)D וכאן השלמנו את הוכחת הנכונות החלקית. דוגמאות נוספות ניתן למצוא במצגותיו של המרצה. 8.2 הוכחת סיום ,ולוגיקת Hoare לצערי ,הזמן אינו מאפשר לי לעבור על נושאים אלו ,ואולי תמצאו נחמה בכך שאלו אינם לבחינה(; . חלק V הערות לסיום אין להסתמך על סיכום זה בלבד ,ואני ממליץ ללמוד גם מן המצגות של פרופ' פלד ,לפתור מבחנים ,ועוד. ברצוני לאחל בהצלחה לכל הסטודנטים בקורס ולהודות למי שקרא את הסיכום ונהנה! 30