לוגיקה מתמטית

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‬‬