אי שלמות ואי כריעות בשפות פורמליות ד״ר אסף חסון ,אוניברסיטת בן־גוריון בנגב יובל אדם Young man, in mathematics you don’t understand things. You just get used to them. - John von Neumann תוכן עניינים 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 פרולוג . . . . . . . . . . . . . . . הגדרות . . . . . . . . . . . . . . תחשיב היחסים . . . . . . . . . . קומפקטיות ומסננים . . . . . . . . מסננים והלמה של צורן . . . . . . מכפלות . . . . . . . . . . . . . . משפט Losוהוכחת קומפקטיות . . עקביות . . . . . . . . . . . . . . מערכות היסק ויכיחות . . . . . . מערכות היסק ־ המשך . . . . . . מכונות טיורינג . . . . . . . . . . מכונות טיורינג ־ המשך . . . . . . פונקציות חשיבות . . . . . . . . . פונקציות חשיבות ־ המשך . . . . הצפנות . . . . . . . . . . . . . . חשיבות . . . . . . . . . . . . . . מניה רקורסיבית . . . . . . . . . פונקציות יציגות . . . . . . . . . . פונקציות יציגות . . . . . . . . . . הוכחת משפטי אי השלמות של גדל תורת רקורסיה . . . . . . . . . . תורת רקורסיה ־ המשך . . . . . . תורת רקורסיה ־ המשך . . . . . . תורת רקורסיה ־ המשך . . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 4 6 8 9 11 14 16 19 20 22 25 27 29 32 35 37 39 42 45 46 48 50 1 פרולוג • מספור הקטעים תואם למספור ההרצאות) .נשאיר כתרגיל לקורא החרוץ להבין מה זה אומר על פרק זה(... • נא להתחשב בסביבה .נא להדפיס מסמך זה רק אם הדבר הכרחי ,ורק את טווח העמודים הנדרש. • תודה לצביקה סקופינסקי על סיכומים של חלק מהשיעורים. • הערות/טענות/בקשות ־ כתובת המייל שלי היא yuv.admולאחר מכן gmail.com • שאו ברכה ,עלו והצליחו. 2 הגדרות • יהי Mמבנה לשפה מסדר ראשון s ,Lהשמה ל Mו־ tשם עצם .אז הערך של t ב־ Mעבור ההשמה sהוא: • אם tקבוע אישי cאז V alM (t, s) = cM • אם tמשתנה אישי xאז )V alM (t, s) = s(x • אם ) t = f (t1 , ..., tnאז ))V alM (t, s) = f M (V alM (t1 , s), ..., V alM (tn , s • יהיו , L ,Mו־ sכנ״ל ותהי ϕנוסחה ב־ Lאז ערך האמת של ) TRUEאו (FALSE של ϕב Mעבור ההשמה sמוגדר באינדוקציה באופן הבא: – אם ϕנוסחה אטומית ,כלומר ϕמהצורה ) R(t1 , ..., tnעבור הסימן יחס N־ מקומי Rושמות עצם t1 , ..., tnאזי T RU E ⇐⇒ hV alM (t1 , s), ..., V alM (tn , s)i ∈ RM = )V alM (ϕ, s . – אם ϕ = ¬ψעבור נוסחה ψאז T RU E ⇐⇒ V alM (ψ, s) = F ALSE = )V alM (ϕ, s – באופן דומה עבור יתר הקשרים הלוגיים – אם ) ϕ = (∃x)ψכלומר הנוסחה היא מסוג ״קיים איקס״ וההמשך הוא נוסחה קטנה יותר( אז hxi V alM (ϕ, s) = T RU E ⇐⇒ (∃a ∈ M )V alM (ψ, s ) = T RU E a כאשר s xaהינה ההשמה אשר נותנת לכל משתנה אישי yשאינו xאת הערך ) s(yולמשתנה האישי xאת הערך ) aכלומר רק מחליפה את .(xהגדרה שקולה: n hxi o V alM (ϕ, s) = T RU E ⇐⇒ max V alM (ψ, s ):a∈M a כאשר נגדיר שרירותית .F < T 2 – אם ϕ = (∀x)ψאז hxi ) = T RU E T RU E ⇐⇒ (∀a ∈ M )V alM (ψ, s a = הגדרה שקולה: o n hxi ):a∈M = T RU E ⇐⇒ min V alM (ψ, s a . )V alM (ϕ, s )V alM (ϕ, s הערות: .1בכל שפה לתחשיב פסוקים נניח שיש סימן יחס דו מקומי מיוחס ≈ אשר תמיד מתפרש כיחס השוויון .2כמוסכמה :אם אומרים ש Lשפה לתחשיב הפסוקים בד״כ לא נציין במפורש את סימן השוויון למרות שבמובלת נניח שהוא שם .3בקורס הזה לא ניתקל בכך ,אבל ניתן לעבוד בתחשיב ללא שוויון .יש משפטים שיותר קל להוכיח בתחשיב שכזה .בכל מקרה ,תמיד אפשר לעבור בין תחשיב עם שוויון לתחשיב ללא שוויון וחזרה. • תהי Lשפה לתחשיב הפסוקים ותהי Γקבוצת נוסחאות ב) Lלאו דווקא סופית(. נאמר ש Γספיקה ) (satisfiableאם קיים מבנה Mלשפה Lוקיימת השמה sלM כך ש V alM (ϕ, s) = T RU Eלכל .ϕ ∈ Γנסמן ) (M, s) |= Γלפעמים נשמיט את ההשמה sמן הסימונים( .דוגמאות: – } L = {Rו־})) Γ = {(∀x)¬R(x, x), (∀x∀y)(R(x, y) → R(y, xזו קבוצת פסוקים ספיקה כי לכל גרף ) Gלא מכוון( נגדיר מבנה MGל Lבאופן הבא: העולם של MGיהיה )) V (Gקבוצת הקודקודים של (Gוהיחס RMGיהיה )) E(Gקבוצת הקשתות(. n o W – }≈{ = Lו־ ) T3 = ∀x1 , x2 , x3 , x4 i,j (xi = xjאז T3ספיקה כי כל קבוצה בת פחות מ־ 4איברים מספקת אותה. – }<{ = Lו־ ∀x¬(x, x), ∀x, y(x < y → ¬(y < x)), ∀x, y, z(x < y ∧ y < z → x < z), ∀x, y(x 6= y → x < y ∨ y < x), )∀x, y∃z(x < y → x < z ≤ y = DLO אשר הינו dense linear orderאז מתקיים .(Q, ≤) |= DLO • אם Lו־ Γכנ״ל ו־ (M, s) |= Γאז נאמר ש Mמודל של .Γ • תורה זו קבוצה ספיקה של פסוקים. • פסוק בשפה Lזו נוסחה ללא משתנים חופשיים 3 • המשתנים החופשיים בשם עצם ,tנסמנם ) ,F ree(tהם אוסף כל המשתנים המופיעים ב־.t – אם ϕנוסחה אטומית ) R(t1 , ..., tnאז ti n [ = ).F ree(ϕ i=1 – אם ) ϕ = ϕ1 ϕ2קשר לוגי דו מקומי כלשהו( אז ∪ ) F ree(ϕ) = F ree(ϕ1 ) F ree(ϕ2 ∈x – אם ϕ = (∃x)ψאו ϕ = (∀x)ψאז ) F ree(ϕ) = F ree(ψאם )/ F ree(ψ ו־ F ree(ϕ) = F ree(ψ)\xאחרת. 3 תחשיב היחסים • לפסוק )שאין לו משתנים חופשיים פר הגדרה( יש ערך אמת ברגע שנקבע המבנה ,ללא כל תלות בהשמה • נוסחה ϕתקרא אמיתית לוגית אם לכל מבנה ) Mלשפה של (ϕולכל השמה sעבור Mמתקיים .V alM (ϕ, s) = T RU E – דוגמה :אם Pסימן יחס חד־מקומי אז ) P (x) ∨ ¬P (xאמיתי לוגית .מדוע? יהי Mמבנה עבור } {Pו sהשמה עבור .M ))= t∨ (V alM (P (x), s), V alM (¬P (x), s )V alM (P (x) ∨ ¬P (x), s ))= t∨ (V alM (P (x), s), t¬ (V alM (P (x), s ))= t∨ (Q, t¬ (Q = T RU E . – דוגמה :נניח ש) ϕ(xנוסחה עם משתנה חופשי xו־ cקבוע אישי שאינו מופיע ב) .ϕ(xאז ) ϕ(c) → (∀x)ϕ(xאמיתי לוגית )אם ) ϕ(cאמיתי לוגית ־ ייתכן שזה לא נדרש(. – דוגמה ∀x(P (x) ∨ ¬P (x)) :־ אז לפי הגדרת האמת ולפי הדוגמה הראשונה זהו פסוק אמיתי לוגית .מדוע זו אינה טאוטולוגיה? באינדוקציה על היצירה של ) ψהטאוטולוגיה של תחשיב הפסוקים( מראים: ∗ אם ψ = ¬ψ 0אז ) ψ(ϕ1 , ..., ϕk ) = ¬ψ 0 (ϕ1 , ..., ϕk ∗ אם ψ = ψ1 ψ2עבור קשר לוגי דו מקומי אז ) ψ1 (ϕ1 , ..., ϕk )ψ2 (ϕ1 , ..., ϕk = ) ψ(ϕ1 , ..., ϕk ∗ אבל )) (∀x)(P (x) ∨ ¬P (xלפי משפט הקריאה היחידה אינו מהצורה א׳ או ב׳ לכן אם הוא מתקבל ע״י החלפה כנ״ל מפסוק ψשל תחשיב הפסוקים ψ ,הוא בהכרח פסוק יסודי .אבל פסוק יסודי )משתנה פסוקי( אינו טאוטולוגיה. 4 • טאוטולוגיה )הגדרה שקולה לשאלה :(5נוסחה ϕהיא טאוטולוגיה של תחשיב היחסים אם קיימת טאוטולוגיה ) ψ(P1 , ..., Pkשל תחשיב הפסוקים )הסימון הזה אומר ש P1 , ..., Pkהם כל המשתנים הפסוקיים המופיעים ב) (ψלמשלψ(p, q) = ¬(p ∨ : ) (q) ⇐⇒ (¬p ∧ ¬qונוסחאות ) ϕ1 , ..., ϕkשל תחשיב היחסים( כך ש־ = ϕ ) ψ(ϕ1 , ..., ϕkו־ ϕמתקבלת ע״י החלפת כל מופע של Piב־ .ϕi • משפט הקריאה היחידה :תהי ϕנוסחה בתחשיב היחסים ,אזי בדיוק אחד מן הבאים מתקיים: – ϕנוסחה אטומית – קיימות נוסחאות ϕ1 , ϕ2יחידות וקשר לוגי דו מקומי יחיד כך ש־ ϕ = ϕ1 ϕ2 – קיימת נוסחה יחידה ϕ1כך ש־ ϕ = ¬ϕ1 – קיימת נוסחה יחידה ϕ1כך ש־ ϕ = ∃xϕ1 – קיימת נוסחה יחידה ϕ1כך ש־ ϕ = ∀xϕ1 • תרגיל לחשוב עליו בבית :ניתן לכתוב תוכנית מחשב )בשפת התכנות החביבה עליכם( שבהינתן נוסחה ϕבתחשיב הפסוקים בודקת האם ϕטאוטולוגיה של תחשיב היחסים. • )רמז( בהינתן נוסחה ϕשל תחשיב הפסוקים יש אלגוריתם הקובע האם ϕטאוטולוגיה. דברים שצריך בשביל העבודה: • )שאלה (4תהיינה ∆ Γ,קבוצות פסוקים .נסמן ∆ =| ) Γגורר( אם לכל מבנה M ולכל השמה sמתקיים :אם (M, s) |= Γאז ∆ =| ).(M, s – דוגמה :אם ב∆ יש רק טאוטולוגיות/נוסחאות אמיתיות לוגיות אז ∆ =| Γלכל .Γ – ל∆ כנ״ל אם ∆ |= Γאז ב Γיש רק נוסחאות אמיתיות לוגיות. – אם Γאינה ספיקה אז ∆ =| Γלכל ∆ )באופן ריק(. – אם ϕ |= ψאז |= ϕ → ψכלומר ϕ |= ψאמיתי לוגית .הכיוון השני גם נכון. • )שאלה (1אפשר לחשוב על Gכעל מבנה לשפה } {Rעבור יחס דו מקומי .Rאם G גרף סופי קיים פסוק ϕGבשפה הנ״ל כך שלכל מבנה Mבשפה ,אם M |= ϕGאז ∼.M =G • תזכורת :יהיו M, Nמבנים לשפה Lשל תחשיב היחסים. )איזומורפיים( אם קיימת פונקציה חח״ע ועל f : M → Nכך ש: ∼ M נאמר ש = N – f (cM ) = cNלכל קבוע אישי c – לכל סימן יחס N־מקומי Rולכל (a1 , ..., an ) ∈ MNמתקיים ∈ RM ⇐⇒ hf (a1 ), ..., f (an )i ∈ RN 5 ha1 , ..., an i – לכל סימן פונקציה N־מקומי Gולכל (a1 , ..., an ) ∈ MNמתקיים )) = GN (f (a1 ), ..., f (an )) f (GM (a1 , ..., an הכנה לשיעור הבא: • אם Γקבוצת נוסחאות ספיקה ו Γ0 ⊆ Γאז Γ0ספיקה • אם Γספיקה ו־ ϕ1 , ϕ2 ∈ Γאז גם } Γ ∪ {ϕ1 ∧ ϕ2ספיקה • אם ב Γיש פסוק ϕשאינו ספיק אז בוודאי Γאינה ספיקה • משפט הקומפקטיות :תהי Γקבוצת פסוקים סגורה תחת ∧ )כלומר אם ϕ1 , ϕ2 ∈ Γ אז גם (ϕ1 ∧ ϕ2 ∈ Γאז Γספיקה אם ורק אם כל ϕ ∈ Γספיקה. 4 קומפקטיות ומסננים משפט 4.1משפט הקומפקטיות :תהי Γקבוצת פסוקים סגורה תחת ∧ )כלומר אם ∈ ϕ1 , ϕ2 Γאז גם (ϕ1 ∧ ϕ2 ∈ Γאזי Γספיקה אם ורק אם כל ϕ ∈ Γספיק. טענה 4.2תהי Γקבוצת פסוקים אזי קיימת קבוצת פסוקים Γ ⊆ Γ0כך ש־ Γ0 .1סגורה תחת ∧ Γ ≡ Γ0 .2כלומר כל מודל של Γהוא מודל של Γ0ולהיפך הוכחה :תהי Γ0קבוצת הפסוקים המתקבלת מ Γבאופן הבא :לכל 1 ≤ k ∈ Nולכל k ^ , ϕ1 , ..., ϕk ∈ Γב Γ0יהיה הפסוק . ϕiנשים לב ש Γ0סגורה תחת ∧ .מדוע? יהיו i=1 ψ1 , ψ2 ∈ Γ0לפי ההגדרה של Γ0יש מספרים טבעיים 1 ≤ k1 , k2ופסוקים ϕ11 , ..., ϕ1k1ו־ ϕ21 , ..., ϕ2k2כך ש־ ϕ1i k1 ^ = ψ1 i=1 ו־ ϕ2i k2 ^ = ψ2 i=1 אז Θi ^k1 +k2 = ψ1 ∧ ψ2כאשר i=1 i ≤ k1 i > k1 ϕ1i ϕ2i−k1 6 ( = Θi מכיוון ש־ Θi ∈ Γלכל iגמרנו Γ0 .היא המועמדת שלנו לספק את הטענה ונותר להראות ש .Γ ≡ Γ0מספיק להראות שאם M |= Γאז .M |= Γ0יהי ψ ∈ Γ0ונניח כמו קודם k ^ = ψעבור ϕi ∈ Γכלשהו. ϕi i=1 אזי: ^ V alM ( ϕi ) = t∧ (V alM (ϕ1 ), ...V alM (ϕk )) = T RU E = )V alM (ψ מתקיים אמ״ם לכל .V alM (ϕi ) = T RU E 1 ≤ i ≤ kכיוון ש M |= Γאז M |= ϕiלכל iולכן .M |= ψ הגדרה 4.3קבוצת פסוקים Γנקראת ספיקה מקומית אם כל תת קבוצה סופית שלה היא ספיקה. משפט ) 4.4משפט הקומפקטיות ־ נוסח שקול( קבוצת פסוקים Γהיא ספיקה מקומית אם ורק אם היא ספיקה. הוכחה :נוכיח שמשפט הקומפקטיות גורר את הנוסח הזה .תהי Γקבוצת פסוקים ספיקה מקומית .תהי Γ0כמובטח בטענה ,כלומר Γ0 ≡ Γו Γ0סגורה תחת ∧ .מספיק להראות k ^ לפי משפט הקומפקטיות שכל פסוק ב Γ0הוא ספיק .יהי ψ ∈ Γ0אז ϕi = ψלאיזה i=1 . ϕ1 , ..., ϕk ∈ Γלפי ההנחה Γספיקה מקומית .לכן } {ϕ1 , ..., ϕkקבוצת פסוקים ספיקה. לכן יש מודל M |= ϕiלכל 1 ≤ i ≤ kלפי מה שהראנו בהוכחת הטענה .M |= ψלכן Γ0 סגורה תחת חיתוך וכל ψ ∈ Γ0ספיק .לפי משפט הקומפקטיות עבור Γ0יש M |= Γ0אבל Γ ≡ Γ0לכן .M |= Γ0 נוכיח את הכיוון השני )שהנוסח הזה גורר את משפט הקומפקטיות( .נניח Γמקיימת את ההנחות כלומר Γ0סגורה תחת ∧ וכל פסוק בה ספיק .יספיק להראות בעזרת הנוסח השקול ש Γספיקה מקומית .נוכיח באינדוקציה על kשכל קבוצת פסוקים מגודל kב־ Γהיא ספיקה. עבור k = 1־ נתון .נניח ש {ϕ1 , ..., ϕk } ⊆ Γוהראנו עבור כל קבוצת פסוקים מגודל k − 1 שהיא ספיקה .כיוון ש Γסגורה תחת חיתוך ∆ = {ϕ1 ∧ϕ2 , ϕ3 , ..., ϕk } . ϕ1 ∧ϕ2 ∈ Γהיא קבוצה בגודל k − 1ולכן לפי הנחת האינדוקציה היא ספיקה .אם ∆ =| Mאז M |= ϕi לכל i ≥ 3וכן . M |= ϕ1 ∧ ϕ2אבל M |= ϕ1 ∧ ϕ2 ⇐⇒ M |= ϕ1 ∧ M |= ϕ2ולכן } M |= {ϕ1 , ..., ϕkכנדרש .כלומר Γספיקה מקומית וע״ס הנוסח השקול ־ ספיקה. הגדרה 4.5תהי Iקבוצה )בד״כ אינסופית אבל לא בהכרח( .מסנן ) (filterעל Iזו קבוצה )) F ⊆ P(Iכלומר אוסף של תת קבוצות של (Iכך שמתקיים: ∅ 6∈ F .1 .2אם J ∈ Fו־ J ⊆ J 0אז J 0 ∈ F .3אם J, J 0 ∈ Fאז J ∩ J 0 ∈ F אם בנוסף לכל J ⊆ Iאם J 6∈ Fאז I\J ∈ F־ אז Fנקרא על מסנן. דוגמאות: 7 • תהי Iקבוצה כלשהי .לכל a ∈ Iנגדיר על מסנן Faבאופן הבאJ ⊆ I, J ∈ F : אמ״ם ). a ∈ Jהערה :על מסנן Fעל Iנקרא ראשי אם קיים Iכך ש־ .(F = Fa Tמסנן על .Iכיוון ש־I • אם Iסופית אז כל על מסנן על Iהוא ראשי .יהי Fעל סופית גם Fסופית ולכן באינדוקציה לפי JF = { J : J ∈ F } :3ו־ .JF ∈ Fאם JFיחידון ־ גמרנו .נניח בשלילה שזה לא המקרה .אחרת יש 2איברים שונים ב JF )לפחות( .ניקח J ⊆ Iשמכילה את הראשון אבל לא את השני .לא Jולא המשלים של Jיכולים להיות ב Fכי כל קבוצה ב Fמכילה את .JF • תהי Iקבוצה אינסופית .נגדיר }) .F = {U ⊆ I : |I\U | < ℵ0 (f initeתרגיל :זהו מסנן שאינו על מסנן. טענה 4.6תהי Iקבוצה לא ריקה F .מסנן על Iאזי קיים על מסנן .F ⊆ F 0במילים אחרות כל מסנן על Iניתן להרחבה לעל מסנן) .הוכחה בשיעור הבא(. 5 מסננים והלמה של צורן הגדרה 5.1תהי Iקבוצה )לא ריקה( אז מסנן Fעל Iזה אוסף של תת קבוצות של Iכך ש: ∅ 6∈ F .1 .2אם U1 , U2 ∈ Fאז U1 ∧ U2 ∈ F .3אם U ∈ Fו־ U ⊆ Vאז V ∈ F Fהוא על־מסנן אם לכל V ⊆ Iאם V 6∈ Fאז . I\V ∈ F למה 5.2הלמה של צורן ־ תהי )≤ (I,קבוצה סדורה חלקית V ⊆ I .תקרא שרשרת אם לכל v1 , v2 ∈ Vאו v1 ≤ v2או .v2 ≤ v1אז נניח שלכל שרשרת V ⊆ Iיש חסם מלעיל, כלומר קיים w ∈ Iכך ש־ ) w ≥ Vכלומר w ≥ vלכל .(v ∈ Vאזי ב)≤ (I,יש איבר מירבי ,כלומר קיים u ∈ Iכך שלכל u 6= v ∈ Iמתקיים .u 6≤ v טענה 5.3תהי Iקבוצה לא ריקה ו־ Fמסנן על .Iאזי קיים על־מסנן .F ⊆ Uבמילים אחרות ,כל מסנן Fעל Iניתן להרחבה לעל־מסנן .הוכחה :תהי Hקבוצת כל המסננים על .Iלאינטואיציה F ∈ P(P(I)) :אז ) H ⊆ P(P(Iאו ))) .H ∈ P(P(P(Iעל H אפשר להגדיר סדר חלקי ע״י הכלה .כלומר ,ל־ F1 , F2 ∈ Hנאמר ש F1 ≤ F2אם לכל V ∈ F1מתקיים גם .V ∈ F2אפשר לכתוב גם .F1 ⊆ F2נרצה להשתמש בלמה שרשרת אז ל Vיש חסם מלעיל ב .Hנגדיר של צורן ,לכן עלינו להראות שאם [ V ⊆ H = .FVנראה ש FVהוא מסנן. } V = {U ⊆ I : U ∈ F, f or some F ∈ V .1ברור כי ∅ 6∈ FV .2נניח ש .U1 , U2 ∈ FVקיימים F1 , F2 ∈ Vכך ש U1 ∈ F1וגם .U2 ∈ F2כיוון ש־ V שרשרת ,ב.ה.כ . F1 ⊆ F2לכן U1 ∈ F2לכן גם U1 ∩ U2 ∈ F2ולכן .U1 ∩ U2 ∈ FV .3אם U ∈ FVו־ U ⊆ Wאז לפי הגדרה קיים איזה F ∈ Vכך ש־ .U ∈ Fלכן גם W ∈ Fולכן .W ∈ FV 8 הראנו שלכל שרשרת ב Hיש חסם מלעיל ,כי ברור FV ∈ Hו־ F ⊆ FVלכל F ∈ V כלומר FVחסם מלעיל ל־ .Vלפי הלמה של צורן ,ב־ Hיש איבר מירבי ,נסמנו .Uנראה ש Uעל מסנן .נניח בשלילה שהוא לא .כיוון ש־ U ∈ Hהוא מסנן ולכן הנחת השלילה מבטיחה שיש קבוצה U ⊆ Iכך ש־ U 6∈ Uו־ .I\U 6∈ Uנשים לב כי במקרה זה } UU = U ∪ {W ⊆ I : U ∩ V ⊆ W, f or some V ∈ Uהוא מסנן וזאת תהיה סתירה למירביות של Uכי .U 6⊆ UUמדוע UUהוא מסנן? .1נוכיח ש .∅ ∈ UUאם ∅ ∈ UUהרי שהיא מהצורה U ∩ Vלאיזה .V ∈ Uאבל אז V ⊆ I\Uואז I\U ∈ Uבסתירה. UU .2סגורה כלפי מעלה מעצם הגדרתה. .3נראה כי אם U1 , U2 ∈ UUאז גם .U1 ∩ U2 ∈ UUב.ה.כ .U1 6∈ Uלכן U ∩ V ⊆ U לאיזה .V ∈ Uלכן U ∩ V ∩ U2 ⊆ U2 ∩ U1עבור Vהזו .אם U2 ∈ Uאז V ∩ U2 ∈ Uולכן U ∩ (V ∩ U2 ) ∈ UUוכך גם .U1 ∩ U2אחרת U ∩ V2 ⊆ U2 לאיזה . V2 ∈ Uואז U ∩ (V ∩ V2 ) ⊆ U1 ∩ U2וגם .U ∩ (V ∩ V2 ) ∈ UUקיבלנו UU ∈ Hו־ U 6∈ UUסתירה .לכן Uעל מסנן. )הרחבה( אם Fמסנן על Iנגדיר HF ⊆ Hאוסף המסננים המכילים את .Fבאופן טריויאלי לכל שרשרת ב־ HFיש חסם מלעיל ב־ )HFכי כל שרשרת כזו היא שרשרת של איברים שגדולים מ־ Fולכן אם יש לה חסם ב Hהרי שהוא חסם ב .HFלכן HFמקיימת את הלמה של צורן ,לכן יש איבר מירבי גם בHוראינו שאלו על מסננים. מסקנה 5.4לכל קבוצה אינסופית Iיש על מסנן Fעל Iכך שאם |I\U | < ℵ0אז .U ∈ F {Mאוסף של קבוצות לא Γקבוצה לא ריקה כלשהי ו־ [ γ }γ∈Γ הגדרה 5.5מכפלות :תהי Y → f : Γהמקיימות זה אוסף כל הפונקציות Mγ ריקות .אז המכפלה Mγ γ∈Γ γ∈Γ .f (γ) ∈ Mγהערה :אם } Γ = {1, ..., nו־ Mi = Mjלכל i, jאז M = Mn n Y . i=1 משפט 5.6אקסיומת הבחירה :אם Γלא ריקה ו־∅ = Mγ 6לכל γ ∈ Γאז ∅ =Mγ 6 Y . γ∈Γ 6 מכפלות {Mאוסף של קבוצות לא קבוצה לא ריקה כלשהי ו־ [ γ }γ∈Γ הגדרה 6.1מכפלות :תהי YΓ → f : Γהמקיימות זה אוסף כל הפונקציות Mγ ריקות .אז המכפלה Mγ γ∈Γ γ∈Γ n Y .f (γ) ∈ Mγהערה :אם } Γ = {1, ..., nו־ Mi = Mjלכל i, jאז M = Mn i=1 Y זה פשוט אוסף כל הפונקציות מΓ דוגמה :אם Mγ = Mלכל Mאז M = M Γ γ∈Γ ל.M 9 . Q xנגדיר הגדרה 6.2אם Γלא ריקה ו־∅ = Mγ 6לכל .γ ∈ Γתהי .M = Mγל¯, y¯ ∈ M .{γ ∈ Γ : x x ∼F yעבור על מסנן Fעל Γאם ¯(γ) = y¯(γ)} ∈ F טענה 6.3בסימונים של ההגדרה האחרונה ∼Fהוא יחס שקילות. הוכחה: {γ ∈ Γ : x ¯(γ) = y¯(γ)} = Γ ∈ F .1 {γ ∈ Γ : x ¯(γ) = y¯(γ)} = {γ ∈ Γ : y¯(γ) = x )א( })¯(γ )ב( נניח ש x ∼F yו־ y ∼F zאז = {γ ∈ Γ : x ¯(γ) = y¯(γ)} ∈ F U וגם {γ ∈ Γ : y¯(γ) = z¯(γ)} ∈ F = V .U ∩ V ⊆ {γ ∈ Γ : x לכן U ∩ V ∈ Fאבל ¯(γ) = z¯(γ)} ∈ F הגדרה 6.4תהי Γקבוצה לא ריקה ולכל γ ∈ Γיהי Mγמבנה לשפה .Lיהי YFעל מסנן (= M )לא ראשי( על Γאז העל מכפלה של {Mγ }γ∈Γביחס ל Fשתסומן Mγ )/F γ∈Γ היא המבנה המוגדר כלהלן: .1העולם של העל מכפלה הוא Mγ )/ ∼F Y ( כלומר אוסף מחלקות השקילות של γ∈Γ היחס ∼Fעל המכפלה ) Mγ Y ( γ∈Γ .2לכל קבוע אישי c ∈ Lנפרש ] [(cMγ )γ∈Γמחלקת השקילות של הסדרה (cMγ )γ∈Γ ביחס ל .∼F .3לכל סימן יחס N־מקומי . R ∈ Lנאמר ש [a¯1 , ..., a¯n ] ∈ RMאם {γ ∈ Γ : . (a¯1 (γ), ..., a¯n (γ)) ∈ RMγ .4לכל סימן פונקציה N־מקומי Fנאמר ש] F M [(a¯1 , ..., a¯n )] = [bאם {γ ∈ Γ : . F Mγ (a¯1 (γ), ..., a¯n (γ)) = b(γ)} ∈ Fהערה :הנ״ל מוגדר היטב .כלומר אם ] [b] = [dאז }){γ ∈ Γ : F Mγ (a¯1 (γ), ..., a¯n (γ)) = b(γ)} ∩ {γ ∈ Γ : d(γ) = b(γ {z | } {z } | ∈F } ∈F | {z ∈F }){γ ∈ Γ : F Mγ (a¯1 , ..., a¯n (γ)) = d(γ | {z } ∈F כי ] [b] = [dכלומר b ∼F dוזאת בדיוק ההגדרה. 10 ⊆ משפט 6.5יהיו Mγ )/F Y ( = Mו־) ϕ(x1 , ..., xnנוסחה ו־ sהשמה ל .Mאזי מתקיים γ∈Γ V alM (ϕ, s) = T RU Eאם ורק אם לכל השמות ) (sγ )γ∈Γעם sγהשמה ל (Mγכך ש ] [(sγ )γ∈Γ ] ∼F [sמתקיים ש .{γ ∈ Γ : V alM (ϕ, sγ ) = T RU E} ∈ F הוכחה :באינדוקציה על יצירת הנוסחאות .נתחיל משמות עצם: • עבור tקבוע אישי cמתקיים ] .V alM (c, s) = cM = [(cMγ )γ∈Γ ] = [V alMγ (c, s)γ∈Γ Y כך ש־ .[s0 ] = sכלומר לכל משתנה אישי x לשם נוחות נקבע השמה s0ל־ Mγ γ∈Γ מתקיים ).[s0 (x)] = s(x • עבור tמשתנה אישי V alM (x, s) = [s0 (x)] = s(x) : x } | {z ])=[sγ (x • עבור tפונקציה ) t = F (t1 , ..., tnאז ))= F M (V alM (t1 , s), ..., V alM (tn , s )V alM (F (t1 , ..., tn ), s )]) = F M ([V alMγ (t1 , sγ )], ..., [V alMγ (tn , sγ ]) [F Mγ (V alMγ (t1 , sγ ), ...V alMγ (tn , sγ = עתה נתחיל בהוכחה עבור נוסחאות: .1אם ϕנוסחה אטומית )) R(t1 (x1 , ..., xn ), ..., tm (x1 , ..., xnאז אם ורק אם T RU E = (V alM (t1 , s), ...V alM (tm , s)) ∈ RM ⇒⇐ {γ ∈ Γ : (V alM (t1 , s)(γ), ..., V alM (tn , s)(γ)) ∈ RMγ } ∈ F ⇒⇐ )V alM (R(t1 , ..., tn ), s אם ורק אם לפי מה שהראנו עבור שמות עצם ] [V alM (ti , s)] = [(V alM (ti , sγ )(γ))γ∈Γ לכל .1 ≤ i ≤ mלכן, ∈ Γ : (V alM (t1 , sγ ), ..., V alM (tm , sγ )) ∈ RMγ } ∈ F {γ ⇐⇒ {γ ∈ Γ : (V alMγ (t1 , sγ ), ..., V alMγ (tm , sγ )) ∈ RMγ } ∈ F וזה מה שהיינו צריכים . 7 משפט Losוהוכחת קומפקטיות ריקה ,לכל γ ∈ Γ משפט 7.1משפט Losתהי Lשפה לתחשיב הפסוקים Γ ,קבוצה לאY מבנה Mγלשפה .Lיהי Fעל מסנן על Γו־ sהשמה עבור ) M = ( Mγ /Fו־ )ϕ(x γ 11 נוסחה ב .Lאזי V alM (ϕ, s¯) = T RU Eאם ורק אם לכל השמה sל־ Mγ Y המקיימת γ ]) s¯(x) = [s(xמתקיים: {γ ∈ Γ : V alMγ (Mγ , s(γ)) = T RU E} ∈ F )כאשר ) s(γ)(xזה הקואורדינטה ה γשל ).(s(x תזכורת :כיצד מגדירין )״לכבוד פסח״ ־ א .חסון ,חג שמח( מבנה לשפה Lעל ) Mγ /F Y (? γ∈Γ • עבור קבוע אישי cפשוט לוקחים את ] .[(cMγ )γ∈Γ ¯ hאם קיימים ∈ a1 , ..., an a1 , ..., a סימן יחס N־מקומי Rנקבע ש־ ¯n i ∈ RM • עבור Y כך ש [a1 ] = a¯1 , ..., [an ] = a¯nכך ש־ Mγ γ∈Γ ∈ Γ : (a1 (γ), ...an (γ)) ∈ RMγ } ∈ F {γ ¯( F Mאם קיימים ∈ b, a1 , ..., an a1 , ..., a סימן פונקציה N־מקומי ¯n ) = b • עבור Y כך ש [a1 ] = a¯1 , ..., [an ] = a¯n , [b] = bכך ש Mγ γ∈Γ Γ : F M (a1 (γ), ...an (γ)) = b(γ)} ∈ F ∈ {γ . תרגיל: .1להוכיח כי זה מוגדר היטב ,כלומר F Mהיא אכן פונקציה .ז״א עבור a¯1 , ..., a¯n ∈ M קיים bיחיד כך ש.F M (a¯1 ,..., a¯n ) = b .2אם [a1 ] = a¯1 , ..., [an ] = a¯nאז ] F M (a¯1 , ..., a¯n ) = [F M (a1 (γ), ..., an (γ))γ∈Γ הוכחה :ראשית נראה :אם tשם עצם ב s¯, s ,Lהשמות כבניסוח המשפט אז = )¯V alM (t, s ] [(V alMγ (t, s(γ)))γ∈Γבאינדוקציה על יציאת .t • עבור tקבוע אישי V alM (t, s¯) = [(cMγ )γ∈Γ ] = [(V alMγ (c, s(γ)))γ∈Γ ] :c • עבור tמשתנה אישי V alM (t, s) = s¯(x) = [s(γ)(x)γ∈Γ ] = [(V alMγ (t, s(γ)))γ∈Γ ] :x • עבור ) :t = F (t1 , ..., tn )¯V alM (f (t1 , ...tn ), s ))= F M (V alM (t1 , s), ..., V alM (tn , s ] = F M ([(V alMγ (t1 , s(γ)))γ∈Γ ], ..., [(V alMγ (tn , s(γ)))γ∈Γ ]))[F M (V alMγ (t1 , s(γ)), ..., (V alMγ (tn , s(γ 12 = הוכחנו עבור שמות עצם .כעת נוכיח את המשפט באינדוקציה על יצירת הנוסחה. • עבור ϕנוסחה אטומית ) R(t1 , ..., tnמתקיים = T RU E ⇐⇒ (V alM (t1 , s¯), ...V alM (tn , s¯)) ∈ RM )¯V alM (R(t1 , ...tn ), s אם ורק אם קיימים נציגים ל־)¯ V alM (t, sנסמנם a1 , ..., anכך ש{γ ∈ Γ : .(a1 (γ), ..., an (γ)) ∈ RMγ } ∈ Fאת מי נבחר כנציגים? לפי מה שהראנו עבור שמות עצם אפשר לבחור את (V alMγ (ti , s(γ)))γ∈Γבתור נציגים לכל .iז״א = T RU E )V alM (ϕ, s } ⇐⇒ {γ ∈ Γ : (V alMγ (t1 , s(γ)), ..., V alMγ (tn , s(γ)) ∈ RMγ )וזה בדיוק מה שמשפט Losאומר(. • עבור ϕ = ¬ψמתקיים T RU E )¯V alM (ψ, s = {γ ∈ Γ : V alMγ (ψ, s(γ)) = T RU E} ∈ F ⇒⇐ {γ ∈ Γ : V alMγ (ψ, s(γ)) = F ALSE} 6∈ F ⇒⇐ {γ ∈ Γ : V alMγ (¬ψ, s(γ)) = T RU E} 6∈ F ⇒⇐ וזה מתקיים אם ורק אם = F ALSE ⇐⇒ V alM (ϕ, s¯) = F ALSE )¯V alM (¬ψ, s . • המקרים של ϕ = ψ1 ψ2דומים מאוד )משתמשים בתכונות של על מסנן(. • נותר המקרה )) ϕ = ∃xψ(xהמקרה של ∀xנובע מהמקרה הנ״ל וממה שעבר עשינו ע״י השקילות הלוגית ).(∀xψ(x) = ¬∃x¬ψ(x aכך ש=| )(M, s – כיוון אחד :נניח כי ) (M, s) |= (∃x)ψ(xז״א שקיים ¯ ∈ M ¯( .ψנוסיף לשפה קבוע אישי חדש cונרשום ) ψ(cהנוסחה המתקבלת מψע״י )a החלפת של מופע חופשי של xבנוסחה ψב . cנרחב את Mלמבנה לשפה .cM = aאזי ).V alM (ψ, s¯[ xa¯ ]) = V alM (ψ(c), s המועשרת ע״י כך שנגדיר ¯ אז לפי הנחת האינדוקציה: T RU E {γ ∈ Γ : V alMγ (ψ(c), s(γ)) = T RU E} ∈ F x {γ ∈ Γ : V alMγ (ψ(x), s(γ)([ Mγ ])) = T RU E} ∈ F c {γ ∈ Γ : V alMγ (∃xψ(x), s(γ)) = T RU E} ∈ F 13 = ⇒⇐ ⇒⇐ ⇒ )¯V alM (ψ(c), s שני :נניח כי .{γ ∈ Γ : (Mγ , s) |= (∃x)ψ(x)} ∈ Fנגדיר איבר – כיוון Y ∈ aבאופן הבא :לכל γ ∈ Γאם ) (Mγ , s) |= ∃xψ(xאז נבחר aγ Mγ γ∈Γ שמעיד על כך .אם ) (Mγ , s) 6|= ∃xψ(xנבחר aγ ∈ Mγשרירותי .נגדיר . aמההנחה שלנו ]¯ = [a x ]) |= ψ(x)} ∈ F aγ [)Γ : (Mγ , s(γ ∈ {γ x )⇐⇒ (M, s¯[ ]) |= ψ(x a ¯ )⇐⇒ (M, s¯) |= (∃x)ψ(x . Yלשפה Lלכל γ ∈ Γו־ Fעל מסנן על ,Γאזי מסקנה 7.2נניח ש Γלא ריקה ו Mγמבנים לכל פסוק ψב Lמתקיים Mγ )/F |= ψ ( אם ורק אם .{γ ∈ Γ : Mγ |= ψ} ∈ F γ∈Γ מסקנה 7.3משפט הקומפקטיות :תהי Γקבוצה פסוקים בשפה .Lנניח שלכל ψ1 , ψ2 ∈ Γ גם ψ1 ∧ ψ2 ∈ Γולכל ψ ∈ Γקיים מודל Mψ |= ψאזי Γספיקה כלומר קיים .M |= Γ הוכחה :לכל ψ ∈ Γנבחר מבנה .Mψ |= ψתהי ) U ⊆ P(Γהקבוצה המקיימת קיים ψ ∈ Γכך ש.V ∈ U ⇐⇒ {γ ∈ Γ : Mγ |= ψ} ⊆ V : טענה U 7.4מסנן על . Γ = } .{γ ∈ Γ : Mγ |= ψלכן הוכחה :לכל ψ ∈ Γמהנחתנו Mψ |= ψלכן ∅ 6 ∅ = .U 6ברור ש Uסגורה כלפי מעלה .נניח ש v1 , v2 ∈ Uאזי קיימים ψ1 , ψ2 ∈ Γכך ש־ {γ ∈ Γ : Mγ |= ψi } ⊆ Viוזה גורר.V1 ∩ V2 ∈ U ..... Y ( אם ורק אם יהי Fעל מסנן שמרחיב את . Uלפי המסקנה מתקיים Mγ )/F |= ψ γ∈Γ .{γ ∈ Γ : Mγ |= ψ} ∈ Fאבל מהגדרת Uלכל ψ ∈ Γהקבוצה ∈ }{γ ∈ Γ : Mγ |= ψ Uולכן ל־ .Fמש״ל. 8 עקביות משפט 8.1תהי )≤ (P,קס״ח ,אזי קיים יחס Rעל ) Pדו־מקומי( כך ש־ R .1יחס סדר קווי )א( לכל a, b ∈ Pאם a ≤ bאז ).R(a, b במילים אחרות ,קיים סדר קווי Rעל Pשמרחיב את ≤. 14 משפט 8.2הערה :המשפט עבור קבוצה סופית Pאיננו קשה .ההוכחה באינדוקציה על | .|Pעבור |P | = 1אין מה להוכיח .נניח שהוכחנו עבור כל Pעם |P | = nונוכיח עבור :n + 1תהי )≤ (P,קס״ח עם n + 1איברים .כיוון ש Pסופית יש לה איבר מינימלי .aתהי } .Q = P \{aאז )≤ (Q,קס״ח עם nאיברים ולפי הנחת האינדוקציה יש Rסדר קווי על Qשמרחיב את ≤ על .Qעתה לא קשה לבדוק שאם נגדיר ) R(a, bלכל b ∈ Qנקבל את המבוקש. הוכחה) :מקרה כללי( תהי Lשפה לתחשיב היחסים שבה: .1לכל p ∈ Pיש קבוע אישי cp .2יחס דו מקומי R בלבד .נגדיר קבוצת פסוקים TPב Lבאופן הבא: cp 6= cq .1לכל p 6= q ∈ P R .2יחס סדר קווי .3לכל p, q ∈ Pאם p ≤ qאזי יהיה פסוק ) .R(cp , cq טענה TP 8.3ספיקה )מקומית( .הוכחה :ממשפט הקומפקטיות יספיק להוכיח ש TPספיקה מקומית .תהי T0 ⊆ TPסופית .בה״כ האקסיומה ) (2״ Rיחס סדרי קווי״ שייכת ל .T0בנוסף נשים לב שב T0מופיעים רק מספר סופי של קבועים ,נאמר .cP1 , ..., cpn :נביט בקבוצה .P0 = {p1 , ..., pn } ⊆ Pאז )≤ (P0 ,קס״ח סופית .לכן לפי ההערה יש יחס RP0שהוא סדר קווי על P0המרחיב את ≤ על .P0ברור שאם נפרש את Rב P0ע״י RP0כנ״ל ו־ cpi ע״י piאז נקבל מודל של .T0 יהי ,M |= TPבפרט RMסדר קווי על .Mיהי N ≤ Mהמבנה שעולמו הוא הקבועים a ∈ N ⇐⇒ a = cMלאיזה .(p ∈ Pנגדיר יחס סדר חלקי ≤Nעל N של ) Mכלומר p N N ∼ (N, ≤ ) אז . p, q ∈ P לכל p ≤ q ⇒⇐ cN ע״י פשוט (P, )≤ .p 7→ cN = ע״י p ≤ cq p M N לכן בה״כ ) ≤ .(P, ≤) = (N,עתה ) R |Nצמצום( סדר קווי על ) .Nלפי )M |= (2 מתקיים כי RMסדר קווי וצמצום של כזה הוא נשאר קווי( .כיוון ש־) M |= (3אז אם p ≤ q אזי ) p(cp , cqהיא אקסיומה ב) (3ולכן ) M |= R(cp , cqולכן ) .N |= R(cp , cq משפט 8.4תהי } L = {Gעבור יחס דו מקומי TG .Gהתורה שאומרת כי העולם הוא גרף. אזי אין פסוק ψב Lכך ש M |= ψאם ורק אם Mגרף קשיר. הוכחה :נניח בשלילה שיש פסוק ψכזה .נוסיף לשפה קבועים אישיים חדשים .c1 , c2יהי ϕnהפסור שאומר שאין מסילה באורך קטן מ nבין c1ל :c2 n−1 ^ ]) (G(xi , xi+1 ) ∨ xi = xi+1 ) ∧ G(c2 , xn ∧ ) ¬(∃x1 , ..., xn )[G(c1 , x1 i=1 ∞} Γ = {c1 , c2 }∪ψ∪{ϕnעיקבית מקומית .אם Γ0קבוצה סופית של פסוקים נשים לב ש n=1 מן הקבוצה הנ״ל יש nמירבי כך ש .ϕn ∈ Γ0ברור שאם נמצא ) M |= ϕn ∧ ψ ∧ (c1 6= c2 אז .M |= Γ0אבל ברור שלכל nיש גרך המקיים את ) ) ϕn ∧ ψ ∧ (c1 6= c2פחות מn 15 קודקודים ,בפרט אין מסילה מ c1ל .(c2ולכן Γספיקה סופית .לפי קומפקטיות Γעקבית. אבל זה לא ייתכן :אם M |= Γאז M |= ψולכן בין c1ל c2יש מסילה ובהכרח אורכה סופי ,נאמר .nמצד שני M |= ϕnולכן אין מסילה באורך nבין c1ל c2וזוהי סתירה להנחת השלילה. הערה: .1באופן דומה אפשר להוכיח כי אין פסוק ψבשפה }≤{ = Lכך ש M |= ψאם ורק אם }≤{ סדר טוב )כלומר ≤ סדר שווי בלי סדרה אינסופית יורדת(. .2אותה הוכחה בדיוק תעבוד אם ננסה למצוא קבוצת פסוקים Γכך ש M |= Γאם ורק אם Mגרף קשיר M/סדור היטב )סדר טוב(. תזכורת: אם Γקבוצת פסוקים אז Γ |= ψאם לכל מבנה :Mאם M |= Γאז . M |= ψ מסקנה 8.5אם Γ |= ψאז קיימת קבוצת פסוקים Γ0 ⊆ Γסופית כך ש.Γ0 |= ψ הוכחה :נביט בקבוצה } . Γ ∪ {¬ψמהנחתנו קבוצה זו איננה ספיקה .מקומפקטיות יש } Γ1 ⊆ Γ ∪ {¬ψסופית כך ש Γ1איננה ספיקה .ברור ש ¬ψ ∈ Γ1כי אחרת Γ1 ⊆ ΓוΓ עקבית) .אם Γאיננה עקבית מקומפקטיות יש Γ0 ⊆ Γשאינה ספיקה ו Γ0 |= ϕלכל פסוק .(ϕלכן } Γ ⊇ Γ0 = Γ1 \{¬ψסופית ומקיימת ) Γ0 |= ψכי אחרת יש מודל M |= Γ0 ו־ M 6|= ψכלומר M |= ¬ψכלומר M |= Γ1בסתירה לבחירת .(Γ1במילים אחרות ליחס =| יש טבע סופי. שאלה מרכזית :בהינתן שפה Lוקבוצת פסוקים Γב ,Lכיצד אפשר לדעת/לבדוק ביחס לפסוק ψכלשהו האם ?Γ |= ψבתור התחלה נשים לב שאם ψ ∈ Γאז בוודאי .Γ |= ψ ולכן רצוי שנוכל לענות על השאלה האם ?ψ ∈ Γנניח שהגדרנו מתי קבוצת פסוקים Γ היא חשיבה ,כלומר ניתן לענות על השאלה מתי פסוק ψשייך ל .Γנניח ש Γקבוצת פסוקים חשיבה ונניח ש ψ1 , ψ2 ∈ Γאז .Γ |= ψ1 ∧ ψ2נניח ש ψ1 ∈ Γו Γ |= ψ1 → ψ2אז .Γ |= ψ2 באופן כללי יותר אם הראנו למשל ψ1ו־ ψ1 → ψ2נגררים לוגית ע״י Γאז ניתן להראות .Γ |= ψ2 9 מערכות היסק ויכיחות בעיה מרכזית :נתונה קבוצת פסוקים Γורוצים לדעת עבור פסוק ψהאם .Γ |= ψ מקרה פרטי ,Γ = ∅ :כלומר רוצים לדעת האם פסוק ψאמיתי לוגית או לא .המקרה אם Γ |= ψ הפרטי מנביע את המקרה הכללי .מדוע? בהינתן קבוצת פסוקים Γו ψכלשהו^, ( אמיתי אז יש Γ0 ⊆ Γסופית כך ש) Γ0 |= ψמשפט הקומפקטיות( ולכן ϕ) → ψ ϕ∈Γ0 לוגית ואת זה אנחנו יודעים לבדוק. שאלה :מתי פסוק הוא אמיתי לוגית? .1אנחנו יודעים שכל טאוטולוגיה היא אמיתית לוגית. .2אם ϕאמיתי לוגית אז ∀xϕאמיתי לוגית .אפשר לרשום גם ϕ → ∀xϕ :אמיתי לוגית. .3אם ) ∀xϕ(xאמיתי לוגית אז ) ϕ(tאמיתי לוגית לכל שם עצם .tאפשר לרשום גם: ) ∀xϕ(x) → ϕ(tאמיתי לוגית. 16 .4אם ϕ → ψאמיתי לוגית ו ϕאמיתי לוגית אז ψאמיתי לוגית) .בכל מערכות ההיסק שנעבוד איתן זה יהיה כלל ההיסק היחיד .זה נקרא כלל הניתוק או (Modus Poneus סימון :בהינתן שפה Lמסדר ראשון נסמן ) Def (Lאוסף הנוסחאות בשפה .L הגדרה 9.1מערכת היסק )לשפה (Lזה זוג סדור hA, Iiכאשר: ) A ⊆ Def (L) .1אולי ריקה( שנקראת קבוצת האקסיומות הלוגיות ∞[ ⊆ Iכאשר Fnזה אוסף הפונקציות ) f : Def n (L) → Def (Lו־ Iנקראת Fi .2 i=1 אוסף כללי ההיסק. הערה :תמיד נדרוש כי: .1אם ϕ ∈ Aאז ϕאמיתי לוגית .במקרה זה נאמר כי האקסיומות הלוגיות תקפות. .2אם f ∈ Iו־ ) {ϕ1 , ..., ϕn } ∈ dom(fאז ) .{ϕ1 , ..., ϕn } |= f (ϕ1 , ..., ϕnבמקרה זה נאמר כי כללי ההיסק נאותים. סימון :אם נרצה לומר שψמתקבל מ ψ1 , ..., ψnעל ידי אחד מכללי ההיסק נרשום ולא צריך יהיה להסביר באיזה כלל היסק מדובר. ψ1 ,...,ψn ψ הגדרה 9.2בהינתן מערכת היסק hA, Iiוקבוצת נוסחאות Γנאמר שנוסחה ψיכיחה )כלומר ,ניתנת להוכחה( מ, Γונסמן ,Γ ` ψאם קיימת סדרת נוסחאות ϕ1 , ..., ϕkלאיזה k ∈ Nכך ש: ψ = ϕk .1 .2לכל 1 ≤ i ≤ kאו: )א( ϕiאקסיומה לוגית .או: )ב( .ϕi ∈ Γאו: )ג( ϕiמתקבל מנוסחאות קודמות בסדרה ע״י אחד מכללי ההיסק .במקרה שלנו יש j1 , j2 < iכך ש ϕiמתקבל מ־ ϕj1ו־ ϕj2ע״י כלל הניתוק. הסדרה ϕ1 , ..., ϕkהמקיימת את התנאים הנ״ל נקראת הוכחה של ψמ־.Γ שאלה :האם קיימת מערכת היסק חשיבה )כלומר שבה אפשר להכריע מתי נוסחה היא אקסיומה לוגית ,ומתי נוסחה מתקבלת מנוסחאות קודמות ע״י אחד מכללי ההיסק( כך שכל נוסחה אמיתית לוגית יכיחה )מ־∅(. מעכשיו כל מערכת היסק שנדון בה תכיל את כלל הניתוק ככלל יחיד ואת כל הטאוטולוגיות כאקסיומות לוגיות )אולי גם אקסיומות לוגיות נוספות(. טענה 9.3תהי Tתורה )קבוצת פסוקים ספיקה( כלשהי ו ψנוסחה כך ש־ T ` ψאזי }T ∪{ψ ספיקה. 17 הוכחה :יהי M |= Tנראה באינדוקציה על אורך ההוכחה של ψמ־ Tש־ .M |= ψאם ל־ ψהוכחה באורך 1אז או ש־ ψאקסיומה לוגית ולכן אמיתי לוגית ולכן מסופק ב־,M או ש־ ψ ∈ Tובוודאי ש־) M |= ψכי .(M |= Tנניח ש־ ϕ1 , ..., ϕkהוכחה של ψמ־ T ואפשר להניח ב.ה.כ ש־ ψ = ϕkמתקבל מאיזה ϕj1 , ϕj2עם j1 , j2 < kע״י כלל הניתוק. לפי הנחת האינדוקציה M |= ϕj1וגם .M |= ϕj2מכיוון שכלל הניתוק הוא נאות ,בפרט {ϕj1 , ϕj2 } |= ψולכן .M |= ψ משפט 9.4משפט ההיסק :תהי Γקבוצת נוסחאות ו־ ψנוסחה כלשהי ,אז Γ ∪ {ψ} ` φאם ורק אם ) φ) Γ ` (ψ → φנוסחה(. )ההוכחה היא באינדוקציה על אורך ההוכחה ,ונראה זאת עוד מעט(. הגדרה 9.5קבוצת נוסחאות Γתקרא עקבית אם היא לא מוכיחה סתירה) .סתירה היא המקבילה של טאוטולוגיה ־ כלומר הצבה של פסוקים מתחשיב היחסים בסתירה של תחשיב הפסוקים(. הערה 9.6אם Γאינה עקבית אז Γ ` ψלכל נוסחה .ψ הוכחה :מהנחתנו Γ ` σלאיזו סתירה .σאז Γ → ψהיא טאוטולוגיה ) σמתקבלת ע״י הצבה של פסוקים מתחשיב היחסים בפסוק ) Σ(P1 , ..., Pnשל תחשיב הפסוקים ו־ Σ(P1 , ..., Pn ) → Pהיא טאוטולוגיה של תחשיב הפסוקים( .כיוון ש Γ ` σמכלל הניתוק .Γ ` ψ מסקנה ) 9.7ממשפט ההיסק( לכל תורה Tולכל נוסחה ϕאו ש־ T ∪ ϕעקבית או ש־T ∪ ¬ϕ עקבית. הוכחה :נניח ש־ T ∪ ϕו־ T ∪ ¬ϕשתיהן אינן עקביות .לפי ההערה יש סתירה σכך ש־ T ∪ ϕ ` σו־ . T ∪ ¬σ ` σלפי משפט ההיסק T ` ϕ → σו־ . T ` ¬ϕ → σאבל: ) (ϕ → σ) → ((¬ϕ → σ) → σזו טאוטולוגיה .שימוש כפול בכלל הניתוק יתן לנו הוכחה של σמ־ .Tבסתירה להנחה ש־ Tספיקה ולטענה הקודמת. מסקנה 9.8לכל תורה Tיש קבוצת פסוקים T ⊆ T 0כך שלכל פסוק ψאו T 0 ` ψאו .T 0 ` ¬ψ הגדרה 9.9תורה Tהמקיימת לכל פסוק ψאו T ` ψאו T ` ¬ψנקראת שלמה. ביחס לסדר הוכחה) :של המסקנה( תהי Tאוסף כל קבוצות הפסוקים המכילות את S T ההכלה .קל לבדוק שאם } {Tiשרשרת עולה של תורות ב־ Tאז . Ti ∈ Tלמה? קומפקטיות )צריך לנמק( .לכן לפי הלמה של צורן יש T ⊆ T 0 ∈ Tמירבית .לפי המסקנה הקודמת T 0עונה על הדרישות. 18 10 מערכות היסק ־ המשך הגדרה 10.1קבוצת פסוקים עקבית Tהיא שלמה אם לכל פסוק ψאו ש־ T ` ψאו ש־.T ` ¬ψ ראינו שאם Tקבוצת פסוקים עקבית ומירבית כזו ביחס להכלה אז Tשלמה. טענה 10.2לכל קבוצת פסוקים עקבית Tיש קבוצת פסוקים שלמה .T ⊆ T 0 הוכחה :הלמה של צורן .כדי להשתמש בלמה של צורןSיספיק להראות שאם } {Tiשרשרת )ביחס להכלה( של קבוצות פסוקים עקביות אז גם T˜ = Tiעיקבית .מדוע? אם T˜ ` σ לאיזו סתירה σאז יש סדרה ˜ ϕ1 , ..., ϕk ∈ Tשהיא הוכחה של σמ־˜ .Tכל ϕiהוא או אקסיומה לוגית או שייך לאיזה Tjiאו נובע מאיברים קודמים בסדרה ע״י כלל הניתוק .קיים jמירבי כך שלכל iכנ״ל או ϕiאקסיומה לוגית או ϕi ∈ Tjאו ϕiמתקבל מכלל הניתוק. ז״א ש ϕ1 , ..., ϕkהוכחה של σמתוך .Tjאבל Tjעקבית ־ סתירה. משפט 10.3קיימת מערכת היסק )שבה כלל הניתוק הוא כלל ההיסק היחיד( וכך שמערכת ההיסק ״חשיבה״ ומתקיים ש Tעקבית אם ורק אם Tספיקה. מסקנה ] 10.4משפט השלמות[ נקבע מערכת היסק כנ״ל .תהי Tקבוצת פסוקים עקביתψ , פסוק כלשהו אזי T ` ψאם ורק אם .T |= ψ הוכחה :אם T ` ψהראנו ש) T |= ψשיעור שעבר( .בכיוון השני ,אם T |= ψאבל T 6` ψ אז T ∪ ¬ψעקבית .לפי המשפט יש M |= T ∪ ¬ψבסתירה להנחה. הערה 10.5המשפט הנ״ל שקול לטענה :קיימת מערכת היסק ״חשיבה״ כך שלכל ϕאמיתי לוגית מתקיים .∅ ` ϕ הוכחה :נניח את המשפט ונוכיח את הטענה∅ |= ϕ .מתקיים כי ϕאמיתי לוגית ומן המסקנה .∅ ` ϕבכיוון השני ,נניח את הטענה ונוכיח את המשפט .תהי Tתורה עקבית .עלינו מודל .נניח שלא .ז״א מקומפקטיות יש תת קבוצה סופית להראות )בעזרת הטענה( של Tיש ^ = .ψאז ψשיקרי לוגית .אז ¬ψאמיתי לוגית .אז T0 ⊆ Tשאין לה מודל .יהי ϕ ϕ∈T0 .T ` ¬ψאבל T ` ψאז Tאיננה עקבית. הערה 10.6ממשפט השלמות נובע ש Tשלמה אם ורק אם T |= ϕאו T |= ¬ϕלכל פסוק .ϕ דוגמאות לתורות שלמות: .1יהי Mמבנה כלשהו לשפה .Lהתורה של Mהיא }.T h(M) = {ψ : M |= ψ מהגדרת האמת ,אם M 6|= ϕאז .M |= ¬ϕכלומר ) ϕ 6∈ T h(Mואז ∈ ¬ϕ ).T h(M משפט ) 10.7לוונהיים־סקולם היורד( :יהי Mמבנה אינסופי לשפה )בת מניה( .Lתהי ) A ⊆ Mבעולם של (Mאזי קיים A ⊆ M0 ≺ Mוכך ש־|.|M0 | = |A| + |L 19 מסקנה 10.8נניח ש Tתורה בשפה בת מניה ול Tיש מודל יחיד עד כדי איזומורפיזם בעוצמה .ℵ0אזי Tשלמה )סוג של קריטריון .(Vaught הוכחה :נניח שלא .אזי יש פסוק ϕכך ש T1 = T ∪ ϕו־ T2 = T ∪ ¬ϕעקביות .אזי קיימים M1 |= T1ו־ .M2 |= T2מהמשפט אנחנו יודעים )נשתמש ב (∅ = A ⊆ Mi שיש M0i ≺ Miכך ש| ℵ0 = |M0iעבור .i = 1, 2אבל Mi |= Tולכן .M0i |= Tלכן ∼ )M02זאת ההנחה( .לפי משפט האיזומורפיזם M02 |= ϕ ⇐⇒ M01 |= ϕאבל = M01 0 M1 |= ϕ → M01 |= ϕוגם M2 |= ¬ϕ → M2 |= ¬ϕ־ סתירה. מסקנה 10.9 .1תהי ≈ Tהתורה בשפה הריקה )ז״א שוויון בלבד( שאומרת שהעולם אינסופי .זו תורה שלמה. .2תהי }≤{ = Lו־ DLOהיא התורה של סדר קווי צפוף ללא קצוות .אז DLOתורה שלמה. .3הגרף המקרי )שנתנו אקסיומטיזציה שלו בתרגיל 1שאלה (2הוא קטגורי ב ) ℵ0כלומר כל מודל אחר של התורה בעוצמה ℵ0איזומורפי לו( לפי תרגיל 2שאלה .5 11 מכונות טיורינג תזכורת: • תורה Tשלמה אם לכל פסוק ψאו T ` ψאו T ` ¬ψ • אם Tקטגורית ב ) ℵ0כלומר ,יש לה מודל יחיד עד כדי איזומורפיזם שעוצמתו (ℵ0 ול־ Tאין מודלים סופיים אז Tשלמה. C־ מחלקת הפונקציות החשיבות: • פונקציות חלקיות )דטרמיניסטיות( • ניתנות לתיאור סופי • הקלט הוא מספר טבעי או סדרת סופית של טבעיים • חלוקה לשלבים ,בכל שלב מתבצעת פעולת חישוב אלמנטרית • כל שלב בחישוב יכול להשתמש בתוצאות חישוב קודמות ־ ״זיכרון״ • זיכרון לא חסום בגודלו ,אך בכל שלב בחישוב נעשה שימוש בחלק סופי בלבד של הזכרון • בכל שלב של החישוב ״כמות סופית של אינפורמציה״ ־ מספיקה כדי לתאר את ״מצב החישוב״ 20 הגדרה 11.1יהיו Sא״ב סופי עם תו מיוחד ,Bו־ Qקבוצה סופית )זרה ל (Sשנקרא לה ״קבוצת המצבים הפנימיים״ עם מצב התחלתי .q0פקודה זו רביעייה hr, q, x, q 0 iכאשר .x ∈ {L, R} ∪ S ,q, q 0 ∈ Q ,r ∈ Sמכונת טיורינג זו רביעיה M = hI, S, q0 , Qiכאשר I קבוצה סופית ,חסרת סתירות של פקודות) .הערה I :חסרת סתירות אם rqxq 0 , rqyq 00 ∈ I אז y = xו־ (.q 0 = q 00 נחשוב בצורה גרפית על מ״ט כעל סרט אינסופי המחולק לאינסוף תאים .בכל תו של הסרט כתובה אחת מאותיות הא״ב כאשר על Bנחשוב כעל תו המייצג תא ריק .למכונה יש ראש קורא שנמצא תמיד על אחד התאים .הראש הקורא יכול לזהות מהו התו הכתוב בתא בו הוא נמצא .לפי המצב הפנימי של המכונה ולפי הנקרא ,יכול הראש הקורא לזוז ימינה ושמאלה תא אחד או לכתוב תו אחר בא״ב באותו התא ,ולעבור למצב פנימי חדש .על פקודה נחשב כאומרת :אם הראש הקורא רואה תו rוהמצב הפנימי הוא qאז אם } x ∈ {L, Rזוז ימינה או שמאלה תו אחד ועבור למצב פנימי .q 0אם x ∈ Sכתוב בתא הנוכחי xועבור למצב פנימי .q 0לומר ש Iהיא סדרת פקודות חסרת סתירה זה פשוט לומר ש Iהיא פונקציה חלקית.S × Q → Q × (S ∪ {L, R}) : הגדרה 11.2 .1מצב mשל מכונת טיורינג Tשו שלשה ) (n, q, hכאשר: )א( n ∈ Zמציין את מיקום הראש הקורא ביחס למיקום ההתחלתי .n = 0 )ב( q ∈ Qהמצב הפנימי של המכונה )ג( h : Z → Sפונקציה המתארת מה כתוב בכל תא של הסרט. .2בהינתן מ״ט Tומצב mשל המכונה נגדיר את המצב העוקב ל mלפי המכונה Tלהיות ) ∗ m(T ) = (n∗ , q ∗ , hכאשר: )א( ) m = (n, q, hויש פקודה rqxq 0 ∈ Iכך ש) r = h(nו־ qהוא אותו מצב פנימי x∈S n ∗ )ב( אם )א( מתקיים אז n = n + 1 x = R n−1 x=L )ג( אם )א( מתקיים אז q ∗ = q 0 ( h(m) m 6= n = ) h∗ (mכאשר ) y = h(nאם ∈ x )ד( אם )א( מתקיים אז y m=n } {L, Rו־ y = xאם . x ∈ S .3ריצה של מ״ט Tזו סדרה של מצבים m0 , m1 , m2 , ...המקיימת: )א( ) m0 = (0, q0 , h0לאיזו h0 ) (T )ב( לכל i > 0מתקיים .mi = mi−1 .4ריצה של מ״ט Tנקראת סופית )או מסתיימת( אם היא מהצורה m0 , m1 , ..., mn ) (T לאיזה n ∈ Nו־ Mnאינו מוגדר. 21 הגדרה 11.3בהינתן מ״ט Tומספר טבעי nנגדיר פונקציה )חלקית( fTn = Nn → Nבאופן הבא , q = q0 ,n = 0 :והסרט נראה כך: ...BB1...1 |{z}B1...1 |{z}B...B 1...1 |{z} BB... 1+x2 1+xn 1+x1 מתקיים ) m = fTn (x1 , ..., xnאם ריצה של Tעם המצב ההתחלתי הנ״ח מסתיימת )אחרת לא מוגדר( ו־ mהיא מספר האחדות על הסרט בתום הריצה. הגדרה 11.4פונקציה f : Nn → Nנקראת חשיבה ע״י מ״ט אם קיימת מ״ט Tכך ש ,fTn = fכלומר fמוגדרת בדיוק באותו התחום בו fTnמוגדרת ובכל מקום שהן מוגדרות ) .fTn (x1 , ..., xn ) = f (x1 , ..., xn מכונות טיורינג ־ המשך 12 הגדרה 12.1תהי f : Nk → Nפונקציה fנקראת חשיבה )ע״י מכונת טיורינג( אם קיימת מכונה Tכך שלכל (n1 , ..., nk ) ∈ Nkהריצה של Tעל סרט מהצורה ...BB1...1 |{z} B1...1 |{z} B...B 1...1 |{z} BB... 1+n2 1+nk 1+n1 מסתיימת אם ורק אם ) f (n1 , ..., nkמוגדר ובמקרה זה מספר האחדות על הסרט בתום הריצה הוא ) .f (n1 , ..., nk תזכורת :סימנו ,בהינתן מ״ט Tאת הפונקציה fTnלהיות הפונקציה שעבור קלט כנ״ל מחזירה את מספר האחדות בריצה סופית של המכונה )על הקלט(. טענה 12.2לכל מכונת טיורינג Tיש מכונת טיורינג ∗ Tכך ש: fTn = fTn∗ .1לכל n .2בא״ב של ∗ Tיש שני תווים מיוחדים S, Eכך שבכל ריצה מסתיימת של ∗ ) Tעל קלט תקני( הסרט לאחר הריצה נראה כך...BBS111...1EBB... : .3המכונה מעולם לא עברה במהלך הריצה את התא המסומן ב Sשמאלה .4פרט ל S, Eל־ ∗ Tיש רק את התווים }.{1, B הוכחה: .1 .2לכל מצב פנימי ) q ∈ Q(Tיהיה במכונה ∗ Tמצב פנימי ∗ .qכל פקודה ) rqxq 0 ∈ I(T נחליף בפקודה ∗) .rq ∗ x(q 0נוסיף ל ∗ Tאת הפקודות הבאות: • כותב Sמשמאל לקלט וחוזר ימינה – Bq0 Lq1 – 1q0 Lq1 22 – Bq1 Sq2 – Bq2 Lq3 • מטפל בהגעה לסוף הקלט ,כותב Eוחוזר להתחלה – – – – – – Bq3 Rq4 Bq4 Lq5 Bq5 Eqr ∗) ∗qr Lqrזה או Bאו (1 ∗Sqr Rq0 שלב הסריקה ∗ 1q3 Rq3 ∗ 1q4 Rq3 נותר להבטיח שכל האחדות צמודות ושהמכונה יודעת מה לעשות במקרה שהיא נתקלת ב Sאו ב Eבשלב הריצה .נטפל קודם בחלק השני ,לכל מצב פנימי ∗ qנוסיף פקודות: • Sq ∗ B q˜1 • B q˜1 Lq˜2 • B q˜2 S q˜3 • ∗ S q˜3 Rq • באופן אנלוגי מטפלים בE נטפל כעט בלהבטיח שכל האחדות צמודות .נניח שכל ריצה מסתיימת של Tמסתיימת במצב פנימי ˆ) qשאינו מופיע במהלך הריצה של .(Tנוסיף פקודות: ˆ∗ )כאשר ∗ הינו כל תו שאינו (E ˆq R • q • E qˆBqw 1 • Bqw Lqw 1 • ˆE q ) ∗qwכאשר ∗ הינו כל תו שאינו 1ואינו (S • נטפל במקרה שראינו Sאחרי שמחקנו את :E 1 s – Sqw Eqw s s1 – Eqw Lqw s2 s1 Sqw – Bqw־ מצב סופי • וגם: – – – – – 1 d 1qw Eqw d d 1qw Lqw d ) ∗qwכאשר∗־ ˆ1 q d s Sqw 1qw s s1 1qw Lqw כל תו שאינו Sאו (1 23 .3הטיפול דומה לזה של הסעיף הקודם ,פרט לטיפול במה קורה כאשר פוגשים .Sכל פעם שהמכונה פוגשת Sהיא תיכנס ל״תת מכונה״ שמזיזה את כל הסרט שעד E ימינה בתו אחד ,כותבת Bבמקום הראשון שמימין ל־ Sוחוזרת לריצה של .Tהדבר היחיד שצריך להשתכנע :יש מכונה Shשבהינתן קלט מן הצורה ...BBS...EBBB... מעתיקה את כל הקלט בהזזה של תא אחד ימינה .נוסיף לא״ב שלנו תו מיוחד ∗ , B המכונה תרוץ באופן הבא: )א( תסרוק עד שתגיע לE )ב( לכל תו αבא״ב המקורי )כלומר שאינו הפקודות: ∗ (Bיהיה מצב פנימי .qα סדרת • αqw B ∗ qα • Bqα Lqα1 • B ∗ qα1 αqw מעתיקה את התו αתו אחד מימין למקומו המקורי .צריך טיפול נפרד בתווים S, Eאבל אין בעיה. .4אם בא״ב שלנו יש nתווים נבנה מכונה ∗ Tשבה התו ה־ iבא״ב של Tייוצג ע״י . 11...1קל לבדוק שכל פקודה מהצורה ״זוז ימינה״ או n־יה של תאים } | {z | {z }BB...B n−i i ״זוז שמאלה״ ב Tניתן לתרגם בקלות לפקודה ״זוז nתווים ימינה/שמאלה״ ב ∗ .T פקודה מהצורה ״כתוב את התו ה iבא״ב בתא הנוכחי״ תתרגם לסדרה של nפקודות .11...1כנ״ל | {z }BB...B כתיבה ״כתוב במקום הn־יה שאתה נמצא בתחילתה את הn־יה } | {z n−i i 1 BB...Bאז לגבי הקריאה .לא קשה לבדוק :אם נייצג את התו 1בא״ב של Tע״י } | {z n−1 fTn∗ = fTnלכל .n מעכשיו נניח שכל מכונת טיורינג שנעבוד איתה מקיימת את התנאים . 2,3,4לפי 1אם מה שמעניין אותנו זה מחלקת הפונקציות הניתנות לחישוב ע״י מכונת טיורינג הרי שהנחה זו אינה משנה את המחלקה .בנוסף נניח שלכל מכונת טיורינג יש מצב מסיים יחיד שאינו מופיע במהלך הריצה .עוד אפשר להניח שבסיום הריצה הראש הקורא נמצא תו אחד מימין ל־.S טענה 12.3נניח ש־ f : N → Nו־ g : N → Nחשיבות טיורינג אז גם f ◦ gחשיבה טיורינג. הוכחה :תהינה Tf , Tgמכונות כך ש fT0 f = fוגם . gT0 g = gלכל מצב פנימי של fבמכונה החדשה יהיה מצב פנימי ∗ .qאז המכונה של ההרכבה תהיה: .1רשימת הפקודות של .Tg .2מוחקים את ,Sוכותבים במקומו ,1מוחקים את ,Eחוזר להתחלה ועובר למצב פנימי ∗q0 .3רשימת הפקודות של Tfעם השינוי שכל פקודה מהצורה ∗q ? q1משתנה לפקודה מהצורה ∗.∗q ∗ ? q1 24 טענה 12.4משפחת הפונקציות החשיבות טיורינג סגורה תחת אופרטור ״מיזער״: ( a )∗( = )) µx1 (g(x1 , ..., xn undef ined else כאשר * הינו תנאי שנגדיר בשיעור הבא.... 13 פונקציות חשיבות ראינו שהפונקציות הבאות חשיבות טיורינג: • 1־ הפונקציה הקבועה 1 • 0־ הפונקציה הקבועה 0 • x + y־ חיבור • קל לוודא ש Πnk (x1 , ..., xn ) = xkעבור k < n ∈ Nחשיבה טיורינג )לכל (k, n • מה לגבי ?x · yקודם כל יש לוודא שיש מכונה שבהינתן קלט yמעתיקה את yבסוף הקלט .גם כפל פונקציה חשיבה ־ תרגיל קל. ( 1 x<y = ) ?C< (x, yגם הפונקציה הזו חשיבה )מוחקים כל • מה לגבי הפונקציה 0 else פעם תו מתחילת xומסוף (...y • ראינו גם :אם f : Nk → Nmו־ g : Nm → Nrחשיבות טיורינג אז גם f ◦ gחשיבה טיורינג. הגדרה f : Nk → Nm 13.1חשיבה טיורינג אם )) (f1 (x1 , ..., xk ), ..., fm (x1 , ..., xk = ) f (x1 , ..., xk וכל אחת מהפונקציות fiעבור 1 ≤ i ≤ mחשיבה טיורינג. ברור שזה לא מספיק כדי לתאר את כל הפונקציות החשיבות טיורינג משום שכל הפונקציות המתקבלות מן הרשימה הנ״ל על ידי מספר סופי של הרכבות הן פונקציות שלמות .כלומר מוגדרות על כל Nkעבור kמתאים .לא קשה להשתכנע שיש פונקציות חשיבות טיורינג שאינן שלמות ,למשל) 1q0 Lq2 , Bq2 Lq1 , ∗q1 Lq1 :מכונה שלא עוצרת על חלק מהקלטים ־ על 0במקרה הזה(. טענה 13.2תהי g(x1 , ..., xn ) : Nk → Nפונקציה כלשהי .נגדיר ∧g(t, x2 , ..., xk ) = 0 t = )) = µx1 (g(x1 , ..., xk )(∀z < t)(g(z, x2 , ..., xk ) > 0 undef ined else אזי אם gחשיבה טיורינג גם hחשיבה טיורינג µ .נקרא אופרטור ה״מיזער״. 25 ) h(x2 , ..., xk הוכחה) :רעיון( תהי Tמכונת טיורינג המחשבת את ) gכלומר .(fTk = g״מטה רעיון״ ־ נריץ את Tעל הקלט .0, x2 , ..., xkאם המכונה לא עוצרת זה אומר ש gלא מוגדרת ב) (0, x2 , ..., xkולכן גם ) h(x2 , ..., xkלא מוגדרת כנדרש .אם הריצה מסתיימת נבדוק האם היא הסתיימה ב .0אם כן ,נחזיר 0ואז h(0, x2 , ..., xk ) = 0כנדרש .אם לא ,נחזור על אותה פעולה עם הקלט 1, x2 , ..., xkוכו׳ .אם המכונה הנ״ל תעצור אי פעם ,זה יהיה הטבעי הקטן ביותר tעבורו ,g(t, x2 , ..., xk ) = 0בפרט ) g(t0 , x2 , ..., xkמוגדרת לכל .t0 < tמתי הריצה לא מסתיימת? בדיוק אם אחד מהבאים מתקיים: .1קיים tכך ש) g(t, x2 , ..., xkלא מוגדר ו g(t0 , x2 , ..., xk ) > 0לכל .t0 < t .2הסעיף הקודם לא מתקיים ו g(t, x2 , ..., xk ) > 0לכל .tואילו במקומות בהם hלא מוגדרת כך שקיבלנו שיוויון. ביתר פירוט :נבנה מכונה הפועלת באופן הבא .המכונה מסמנת את סוף הקלט ב.S בשלב הראשון המכונה ∗ Tתעתיק את הקלט x2 , ..., xkמימין ל Sותוסיף 1Bבהתחלה. בשלב הבא ∗ Tתחקה את הריצה של Tעל 0, x2 , ..., xkכאשר היא מקפידה )וזה הרי T עושה ממילא( לא לזוז משמאל ל .Sאם השלב הזה בריצה הסתיים במקום כלשהו על הסרט מימין ל Sיהיה כתוב ) Eכי כך Tעובדת( .אם בין Sל Eלא מופיע התו ,1אז ∗ Tתחזור עד להתחלת הקלט של ∗ ) Tמשמאל ל (Sתמחק את כל הקלט ותעצור .אם בין Sל Eמופיע התו 1המכונה תחזור לתחילת הקלט של ∗ ,Tתכתוב 1לפני ה Bהראשון ותתחיל מההתחלה. הגדרה 13.3פונקציה f : Nk → Nmתיקרא חשיבה/רקורסיבית אם היא מתקבלת מן הפונקציות } {x + y, x · y, C< (x, y), Πnk (x1 , ..., xn ), 1, 0על ידי מספר סופי של הרכבות והפעלה של האופרטור .µxבמילים אחרות ,משפחת הפונקציות החשיבות זו המשפחה/אוסף הקטנ/ה ביותר של פונקציות מ Nkל Nmשמכיל/ה את הפונקציות הנ״ל וסגור/ה תחת הרכבה והאופרטור .µx משפט 13.4פונקציה f : Nk → Nmחשיבה אם ורק אם היא חשיבה טיורינג. הוכחנו שכל פונקציה חשיבה היא חשיבה טיורינג .תרגיל :הפונקציה ! n 7→ nהיא הוכח שהפונקציה חשיבה .שאלה כמעט זהה :מדוע הפונקציה = )f (m חשיבה טיורינג. ( n m = 2n חשיבה? 0 m = 1 or else הגדרה 13.5תהי A ⊆ Nmאזי χA = Nm → Nזו הפונקציה המוגדרת על ידי ( 1 x∈A = )χA (x 0 else χA .נקראת הפונקציה המציינת של .A הגדרה 13.6יחס A ⊆ Nmנקרא חשיב אם χAפונקציה חשיבה. טענה 13.7משפחת היחסים החשיבים סגורה תחת פעולות בוליאניות ,כלומר תחת איחודים, חיתוכים והשלמה. הוכחה: 26 • אם Aחשיבה אז ).χA (x) = C< (χA (x), 1 • אם A, Bחשיבות אז ).χA∩B (x) = χA (x) · χB (x • )) χA∪B (x) = C< (0, χA (x) + χB (xאו לפי דה־מורגן. יוצא ,למשל ,כי היחס ) A(x, y) = (x ≤ yחשיב .זה פשוט איחוד היחסים החשיבים ) C< (x, yו־.x = y f1 , ...,פונקציות חשיבות k־מקומיות ,ו־⊆ A1 , ..., An טענה ) 13.8הגדרה לפי מקרים( :תהיינה Snfn Nkזרות וחשיבות ,כך ש . i=1 Ai = Nkאזי הפונקציה f (x) x ∈ A1 1 .. .. = )f (x . . f (x) x ∈ A n n חשיבה. הוכחהfi (x) · χAi (x) : והכפל חשיבים. 14 Pn i=1 וזו פונקציה חשיבה כי χAiחשיבות fi ,חשיבות והחיבור פונקציות חשיבות ־ המשך הגדרה 14.1יהי A ⊆ Nk+1יחס חשיב k + 1 ,מקומי .נגדיר אופרטור: ( t t < z ∧ µx (χA (x, y¯)) = t = ))¯µx<z (A(x, y z else . טענה 14.2אם A ⊆ Nk+1יחס חשיב אז הפונקציה ))¯ h(z, y¯) ≡ µx<z (A(x, yחשיבה. הוכחה :פשוט לפי המשפט על הגדרה לפי מקרים ]אבל צריך מעט להיזהר כי מה הם המקרים?[ .לחילופין אפשר נשים לב ש־ ))= µx (χA (x, y¯) · C= (x, z )¯h(z, y כאשר ,C= (x, z) = 0 ⇐⇒ x = zוברור שזו פונקציה חשיבה .נשים לב )¯ h(z, yתמיד מוגדרת ,כלומר פונקציה שלמה. מסקנה 14.3אם A ⊆ Nk+1יחס חשיב אז היחס ))¯ B(z, y¯) ≡ (∃x < z)(A(x, yהוא חשיב. 27 הוכחה .(z, y¯) ∈ B ⇐⇒ C< (h(z, y¯), z) = 1 :לכן זו פשוט הפונקציה χBולפי הטענה האחרונה זו פונקציה חשיבה .מדוע ?C< (h(z, y¯), z) = χBכיוון ששתי הפונקציות מקבלות רק ערכים 0, 1יספיק להראות שלכל )¯ (z, yמתקיים ⇒⇐ χB (z, y¯) = 1 . C< (h(z, y¯), z) = 1לפי הגדרה 1 ⇐⇒ (∃x < z)(A(x, y¯)) ⇐⇒ h(z, y¯) < z = )¯χB (z, y . במילים אחרות המסקנה אומרת שמשפחת היחסים החשיבים סגורה תחת כימות חסום. הערה חשובה מאוד :משפחת היחסים החשיבים איננה סגורה תחת כימות )שאינו חסום(. a מטרה :לבנות פונקציה חשיבה β : N2 → Nכך שלכל סדרה סופית ¯ = ha1 , ..., an i של מספרים טבעיים קיים ) ca¯ ∈ Nקוד הסדרה( המקיים: β(ca¯ , 0) = n .1 .2לכל ) i ≤ β(ca¯ , 0מתקיים β(ca¯ , i) = ai ) .3מסיבות טכניות נרצה גם( ¯ β(ca¯ , i) < caלכל ). i ≤ β(ca¯ , 0 טענה ) 14.4טענת עזר (1קיימת פונקציה חשיבה P r : N2 → Nשהיא חח״ע ועל] .יהיה שימושי לשים לב ש P rשנמצא מקיימת } .[P r(x, y) ≥ max{x, yהוכחה P r(x, y) :יהיה המקום של הזוג ) (x, yבמספור הזוגות: 0 1 2 3 4 5 6 0 0 1 3 6 10 15 . .. 1 2 4 7 11 16 . . .. 2 5 8 12 17 . . .. 3 9 13 18 . . .. . 4 14 19 . .. 5 20 . . .. 6 . . 1 לא קשה לבדוק שהפונקציה הזאת היא פשוט . 2 (x + y) · (x + y + 1) + xלפי התיאור הזה ברור ש: P r(x, y) .1חשיבה .2מקיימת P r(x, y) ≥ xוגם P r(x, y) ≥ y .3לפי התיאור הגרפי היא חח״ע ועל )הוכחה יותר אלגברית ־ מכירים ממבוא ללוגיקה(. טענה ) 14.5טענת עזר 2־ משפט השאריות הסיני( יהי m1 , ..., mn ,n ∈ Nמספרים טבעיים זרים בזוגות .יהיו k1 , ..., knמספרים טבעיים כלשהם )בד״כ מניחים ki < miאבל זה לא חשוב( .אזי קיים b ∈ Nכך ש b ≡mi kiלכל . 1 ≤ i ≤ n 28 הוכחה :ניקח mi n Y = .dלכל b < dנגדיר .¯b = hb mod m1 , ..., b mod mn iיש N d־יות i=1 כאלה .לכן אם נראה שההעתקה b 7→ ¯bחח״ע אזי היא בהכרח על )כהעתקה בין שתי קבוצות מגודל .(dנניח ש ¯b1 = ¯b2כלומר b1 ≡mi b2לכל ,iכלומר ,b1 − b2 ≡mi 0בפרט ) mi |b1−b2בה״כ (b1 > b2לכל .1 ≤ i ≤ nלכן b1 − b2מחלק את המכפלה המשותפת הקטנה ביותר של ה .miכיוון שה miזרים בזוגות המכפלה המשותפת הקטנה ביותר היא .d אבל b1 − b2 < dוזו סתירה. טענה ) 14.6טענת עזר (3לכל n ∈ Nהמספרים {1 + i · (n!)}ni=1זרים בזוגות. הוכחה :נניח בשלילה ש pראשוני מחלק את )! 1 + i(nומחלק את )! 1 + j(nלאיזה .i > j לכן . p|(i − j) · (n!) :כיוון ש pראשוני הוא מחלק או את i − jאו את ! .nכיוון שi − j < n בהכרח pמחלק את ! .nאבל pאמור לחלק את )! 1 + i(nוזה לא ייתכן. טענה 14.7תהי )) γ(z, y, i) = Rem(z, 1 + y(i + 1כאשר ) Rem(t1 , t2היא השארית של t1בחלוקה ב־ .t2אזי: γ(z, y, i) .1חשיבה .מדוע? יספיק להראות ש) Rem(t1 , t2חשיבה .אבל = ) Rem(t1 , t2 ) µz (t2 |t1 − zוהיחס t2 |t1הוא חשיב ,למשל ע״י ) .(∃x < t2 )(x · t2 = t1 .2לכל סדרה סופית ha1 , ..., an iשל טבעיים יש y, zכך שלכל 0 < i ≤ nמתקיים .γ(z, y, i) = aiמדוע? נבחר k > nכלשהו ונבחר ! .y = kלפי טענת עזר 3קיים z כך ש γ(z, y, i) = aiלכל .i ≤ n ) .3טכני( γ(z, y, i) ≤ zלכל .z, y, i הפונקציה ) β(b, iהמבוקשת תהיה ) γ(P rL (b), P rR (b), iכאשר ))P rL (b) = Π1 (P r−1 (b ו־)) .P rR (b) = Π2 (P r−1 (bהדבר היחיד שנותר לוודא P rL , P rRהן פונקציות חשיבות. 15 הצפנות חזרה :אם ) A(x, yיחס חשיב אז )¯ (∃x < z)A(x, yיחס חשיב. ( t µx (χA (x, y¯)) = t, t < z = )¯(µx<z )A(x, y z else פונקציה שלמה .הפונקציה גם חשיבה כי היא שווה ל)).µx (χ¬A (x, y¯) · C = (x, z נאמר ש β : N2 → Nמצפינה סדרות סופיות אם לכל סדרה סופית ha1 , ..., an iיש ¯(.β ¯( βולכל 1 ≤ 1 ≤ nמתקיים a, i) = ai aכך שa, 0) = n ¯∈N טענה 15.1הפונקציה + x )(x+y)2 +(x+y 2 → (x, y) 7היא חח״ע ועל מ N2ל.N Pr טענה 15.2לכל m1 , ..., mkזרים בזוגות ולכל a1 , ..., akטבעיים יש b ∈ Nכך ש b ≡mi ai לכל .i 29 טענה 15.3לכל n ∈ Nהמספרים )! 1 + n!, 1 + 2(n!), ..., 1 + n(nזרים בזוגות. טענה 15.4נגדיר )) γ(z, g, i) = Rem(z, 1 + y(i + 1מקיימת: γ .1חשיבה .2לכל סדרה סופית ha1 , ..., an iקיימים z, yכך שלכל 1 ≤ i ≤ nמתקיים = ai )γ(z, y, i γ(z, y, i) ≤ z .3 לגבי 2ניקח את max{ai , n}ni=1 < kוניקח ! . y = kלפי טענה 3מתקיים כי ) 1 + y(i + 1זרים בזוגות .לפי הטענה השניה יש zשעונה על הדרישה .ביתר דיוק ,יש zכך שלכל iמתקיים .z ≡i+y(i+1) aiאבל בעצם )) ai = Rem(z, 1 + y(i + 1כי ).ai < 1 + y(i + 1 טענה 15.5הפונקציה ) β(y, i) = γ(P rL (y), P rR (y), iהיא פונקצית זיווג חשיבה כאשר ) P rL (y) = Π1 P r−1 (yו). P rR (y) = Π2 P r−1 (y הוכחה :מטענה 4ברור כי ) β(y, iמצפינה סדרות סופיות .בהינתן סדרה סופית ha1 , ..., an i טענה 4סעיף ) (2מבטיחה t1 , t2 ∈ Nכך ש γ(t1 , t2 , i) = aiלכל .1 ≤ i ≤ nנחליף את הסדרה בסדרה ,hn, a1 , ..., an iנמצא t1 , t2כמובטח ונגדיר ) y = P r(t1 , t2אז = )β(y, 0 γ(t1 , t2 , 0) = nוגם .β(y, i) = γ(t1 , t2 , i) = aiנשאר רק לוודא ש βחשיבה .מספיק לוודא ש) P r−1 (yהיא חשיבה ומלאה/שלמה .הפונקציה שלמה כי P rהיא על .הפונקציה חשיבה פשוט כי )= µt1 [(∃t2 )P r(t1 , t2 ) = y] = µt1 ((∃t2 < y)P r(t1 , t2 ) = y ))Π1 (P r−1 (y מעתה ועד עולם נקבע פונקציה βכנ״ל. הגדרה 15.6נאמר ש xמצפין סדרה סופית אם אין x0 < xכך ש) β(x0 , 0) = β(x, 0ולכל ) i ≤ β(x, 0מתקיים ).β(x0 , i) = β(x, i טענה 15.7היחס ) θ(xהאומר ״ xמצפין סדרה סופית״ הוא חשיב. הוכחה. θ(x) = ¬(∃x0 < x)[i ≤ β(x, 0) → β(x0 , i)] = β(x, i) : מטרתנו ,כזכור ,להוכיח שבהינתן מכונת טיורינג Tו n ∈ Nהפונקציה fTnחשיבה .נקבע אחת ולתמיד מכונת טיורינג Tו n ∈ Nונראה כיצד למצוא פונקציה חשיבה שזהה ל .fTn נזדקק להרבה טענות עזר .כיוון שאנחנו מעוניינים רק ב fTnולא במכונה עצמה אז אפשר לשנות את Tאיך שנרצה כל עוד לא נשנה את הפונקציה שהיא מחשבת .לכן ,בה״כT , מכונת טיורניג תקנית: 30 .1הא״ב של Tכולל רק את } {1, Bונק׳ ההתחלה והסיום }.{S, E .2למכונה יש מצב פנימי יחיד ˆ qשכל ריצה מסתיימת מסתיימת בו ,וˆ qאינו מופיע במהלך הריצה. .3בתום הריצה הראש הקורא נמצא על Sובין Sל Eיש רק אחדות. מכיוון שמספר המצבים הפנימיים של Tסופי לא יזיק להניח ש} {1, Bמיוצגים ע״י המספרים הטבעיים } {1, 0בהתאמה ו} {S, Eע״י } {2, 3בהתאמה והמצבים הפנימיים מיוצגים ע״י } {4, ..., kכאשר q0מיוצג ע״י 4וˆ qמיוצג ע״י .k כזכור ,מצב של Tזו שלשה hn, q, hiכאשר nהמיקום של הראש ביחס ל Sשמיקומו ,0 qהמצב הפנימי ,ו־} h : Z → {0, 1, 2, 3מתארת את התאים במכונה .כמובן יספיק להניח ש hמתארת רק את המספר הסופי של התאים שבין Sל .Eאפשר לתאר מצב ע״י סדרה מהצורה הבאה: hα1 , α2 , ..., αn , q, αn+1 , ..., αr i כאשר α1 = 2, ar = 3ולכל 1 < i < rמתקיים }.ai ∈ {0, 1 טענה (1) 15.8היחס ) ϕ(xהאומר ״ xמצפין מצב של המכונה T״ חשיב. הוכחה :היחס יתואר ע״י חיתוך של הדרישות הבאות: θ(x) .1־ היחס האומר ש xמצפין סדרה. .2לכל ) 0 < i ≤ β(x, 0מתקיים }β(x, i) ∈ {0, ..., k β(x, 1) = 2 .3וגם β(x, β(x, 0)) = 3 .4קיים ) 0 < i ≤ β(x, 0יחיד כך ש}.β(x, i) ∈ {4, ..., k כיוון שכל אלה חשיבים ־ גמרנו. טענה (2) 15.9היחסים ) ,ϕs (x״ xמצפין מצב התחלתי של T״ ,״ xמצפין מצב סופי של T״ ־ כולם חשיבים. הוכחה ϕS (x) :זה חיתוך של ) ϕ(xעם הדרישה הנוספת ש ϕE (x) .β(x, 2) = 4כנ״ל עם .β(x, 2) = k טענה (3) 15.10היחס ) ϕ(x, yהאומר ״ x, yמייצגים מצבים של Tו yהמצב העוקב של x לפי T״ הוא יחס חשיב. הוכחה :זה כמובן חיתוך של התנאים ) ϕ(x), ϕ(yעם התנאי הנוסף ש yהמצב העוקב ל.x לכל ) ) p ∈ I(Tלכל פקודה של (Tנגדיר יחס ) ϕp (x, yהאומר x, yמצבים של Tו־ yעוקב של xלפי pובפרט xמצב רלוונטי לפקודה .p״ xמצב רלוונטי לפקודה p״ זה פשוט )ϕ(x וגם אם β(x, i) > 3ל i > 1אז pפקודה מהצורה ∗∗) .β(x, i−1)β(x, iבמילים אחרות אם pהיא הרביעייה hα, q, α0 , q 0 iאז xרלוונטי ל pאם .β(x, i−1) = α, β(x, i) = qנסמן זאת ) .ϕp (xלומר ש yעוקב של xלפי pזה לומר ) ϕp (x) .ϕ(x), ϕ(yעכשיו מתחלק לפי מהות הפקודה .pנטפל למשל במקרה ש p = hα, q, α0 , q 0 iכאשר } .α0 ∈ {0, 1מתי yיתקבל מx ע״י הפקודה ?pאם .x = hα1 , ..., αi , q, αi+1 , ..., αk i , y = hα1 , ..., αi , q 0 , αi+1 , ..., αk i פשוט צריך לדרוש: 31 .1נסמן i0להיות ה iהיחיד כך ש) i ≤ β(x, 0ו־}.β(x, i0 ) ∈ {4, ..., k .2נדרוש ש β(y, i0 ) = q 0 , β(y, i0 − 1) = α0ובכל מקרה אחר ).β(y, j) = β(x, j תזוזה הוא דומה .זה מקרה ש) ϕp (x, yחשיבה .לומר ש yעוקב הטיפול בפקודות של _ ∧ ). ϕ(x) ∧ ϕ(y של xזה פשוט )ϕp (x, y p∈I טענה (4) 15.11היחס ) ρ(xהאומר ״ xמקודד ריצה מסתיימת של T״ הוא חשיב. הוכחה: θ(x) .1־ xמצפין סדרה. ϕS (β(x, 1)) .2כלומר האיבר הראשון בסדרה ש xמצפין הוא מצב התחלתי של .T ϕE (β(x, β(x, 0))) .3־ האיבר האחרון בסדרה הוא מצב סופי של .T .4לכל ) 1 ≤ i < β(x, 0מתקיים )) ϕ(β(x, i), β(x, i + 1כלומר כל איבר בסדרה הוא מצב עוקב של המצב המוצפן ע״י האיבר הקודם לו. טענה fE (x) = n (5) 15.12זו הפונקציה שמחזירה nאם xמצפין מצב סופי של Tוn הפלט של המכונה במצב זה 0 .אחרת .זו פונקציה חשיבה. χϕE (x) · (β(x, 0) − 3) : 16 חשיבות היינו בעיצומה של ההוכחה שכל פונקציה חשיבה טיורינג היא חשיבה. טענה (1) 16.1היחס ) ϕ(xהאומר ״ xמצפין מצב של המכונה T״ חשיב. טענה (2) 16.2היחסים ) ,ϕs (x״ xמצפין מצב התחלתי של T״ ,״ xמצפין מצב סופי של T״ ־ כולם חשיבים. טענה (3) 16.3היחס ) ϕ(x, yהאומר ״ x, yמייצגים מצבים של Tו yהמצב העוקב של x לפי T״ הוא יחס חשיב. טענה (4) 16.4היחס ) ρ(xהאומר ״ xמקודד ריצה מסתיימת של T״ הוא חשיב. 32 טענה ϕE (x) = n (5) 16.5זו הפונקציה שמחזירה nאם xמצפין מצב סופי של Tוn − 1 הפלט של המכונה במצב זה 0 .אחרת .זו פונקציה חשיבה . χϕE (x) · (β(x, 0) − 3) :נדרוש ש ϕE (x) = 0אחרת. טענה 16.6היחס ״ xמקודד מצב התחלתי של Tשבו הקלט הוא x1 , ..., xn״ הוא יחס חשיב. נסמן זאת ) .ϕs (x, x1 , ..., xn כדי להוכיח את המשפט עלינו להראות ש) fTn (x1 , ..., xnפונקציה חשיבה .נגדיר פונקציה חשיבה באופן הבא: ))) = ϕE (µ∗x (ρ(x) ∧ ϕs (ϕs,0 (x), x1 , ..., xn ) f (x1 , ..., xn כאשר ) ϕs,0 (x) = β(x, 1־ האיבר הראשון בסדרה ש xמקודד ,וכאשר )) µ∗x (A(x, yזה ה xהמזערי עבורו .χA (x, y) = 1 טענה f (x1 , ..., xn ) = fTn (x1 , ..., xn ) 16.7ובפרט fמוגדרת אם ורק אם ריצת Tעל x1 , ..., xnעוצרת. הוכחה :ראשית נבדוק שתחומי ההגדרה של שתי הפונקציות זהים .אם Tעוצרת על x1 , ..., xnאז קיים xכך ש)) ρ(x) ∧ ϕs (ϕs,0 (x1 , ..., xn־ כלומר קיים xהמקודד ריצה מסתיימת של Tהמתחילה בקלט .x1 , ..., xnאם נבחר x0הקטן ביותר המקיים זאת אז )) = µ∗x (ρ(x) ∧ ϕs (ϕs,0 (x), x1 , ..., xn x0 כי לכל x0 < x0הפונקציה χρ(x) · χϕsמוגדר ולכן מהגדרת האופרטור ,µ∗xואז def ) = ϕE (x0 ) = fTn (x1 , ..., xn ) f (x1 , xn נניח ש Tאינה עוצרת על x1 , ..., xnאז ) ρ(x) ∧ ϕs (ϕs,0 (x), x1 , ..., xnלעולם אינו מוגדר ולכן הפונקציה )) µ∗x (ρ(x) ∧ ϕs (ϕs,0 (x), x1 , ..., xnאינה מוגדרת. עד עכשיו קודדנו מצבים וריצות של מכונות טיורינג ,אבל אין סיבה לא לקודד גם את המכונות עצמן .מכיוון שאנחנו מתעניינים רק בפונקציות החשיבות )טיורינג( ולא במכונות עצמן ,אפשר לזהות מכונת טיורינג עם רשימת הפקודות שלה .ומכיוון שהא״ב סופי ורשימת הפקודות סופית )וכבר זיהינו את הא״ב עם המספרים הטבעיים } .({0..kאם רק נוסיף לזיהוי הזה את k + 1כפקודה Lואת k + 2כפקודה Rנוכל לקודד את המכונה על ידי מספר טבעי .נקבע פעם אחת ולתמיד קידוד של כל מכונת טיורינג ,ולמכונה Tנסמן dT e את הקוד של .Tאם e ∈ Nהוא קוד של מ״ט נסמן Teאת המכונה ש־ eמקודד .יהיה נוח להניח שאם n ∈ Nאינו מקודד מ״ט אז נחליט ש n − eמקודד את המכונה שאינה עוצרת על אף קלט. משפט 16.8לא קיימת פונקציה חשיבה f : N → Nכך ש ( 1 Te halts on input 0 = 0 else 33 )f (e הוכחה :נניח בשלילה שקיימת פונקציה fכנ״ל .נגדיר פונקציה g : N → Nע״י ( Te (e) + 1 f (e) = 1 = )g(e 0 else מההנחה )ומהמשפט האחרון ,ומהמשפט על ההגדרה לפי מקרים( gפונקציה חשיבה )ואפילו שלמה( ,ומקודדת ,נאמר ע״י .e0אז :מצד אחד ) Te0 (e0 ) = g(e0ומצד שני = ) g(e0 .Te0 (e0 ) + 1 מסקנה 16.9היחס A ⊆ Nהמוגדר ע״י e ∈ A ⇐⇒ Te (e) haltsאינו יחס חשיב .מצד שני Aהנ״ל היא תחום של מכונת טיורינג .Tהרעיון? המכונה מריצה את ) Te (eומחזירה את התשובה ,אם היא אי פעם מתקבלת .ביתר פירוט ,ניקח Uמ״ט אוניברסלית ונשים לב ש) U(e, eעוצרת אם ורק אם .e ∈ Aלכן יש eבתחום של המכונה ).U(x, x הגדרה 16.10מכונת טיורינג Tתיקרא אוניברסלית אם ) fT2 (e, n) = Te (nלכל ∈ )(e, n ) N2ובפרט אם Teלא עוצרת על הקלט nאז ) fT2 (e, nלא מוגדרת(. משפט 16.11קיימת מכונת טיורינג אוניברסלית. הוכחה :הרעיון פשוט ,ההוכחה מייגעת ,ע״י תיאור המכונה .דרך אחרת :בעזרת פונקציות חשיבות .נגדיר את ) fT2 (e, nבאופן הבא .נגדיר את היחסים הבאים: • ) θ(x־ xהוא קוד. • ) θ1 (x־ xהוא קוד של מכונת טיורינג .כלומר xמקודד סדרה סופית של רביעיות של מספרים טבעיים .כל רביעייה היא פקודה ובין הפקודות אין סתירות. • ) ϕ(e, x־ eקוד של מכונת טיורינג ו־ xמצב קוד של מצב פנימי של המכונה המקודדת על ידי .e • )ϕ(e, x, y־ eקוד של מ״ט x, y ,קודים של המכונה eו־ yהוא העוקב של xלפי .e ההמשך זהה בדיוק להוכחת משפט השקילות. הגדרה 16.12קבוצה A ⊆ Nתקרא ניתנת למניה חשיבה )נל״ח או נל״ר ־ ניתנת למניה רקורסיבית( אם Aהיא התחום של פונקציה חשיבה. ראינו שקיימות קבוצות נל״ח שאינן חשיבות. משפט 16.13התנאים הבאים שקולים לקבוצה :A ⊆ N A .1נל״ח )תחום של פונקציה חשיבה( A .2היא התמונה של פונקציה חשיבה A .3היא התמונה של פונקציה חשיבה מלאה A .4היא מהצורה }) {x ∈ N : (∃y)ϕ(x, yלאיזה יחס חשיב ).ϕ(x, y ¯∃( {x ∈ N :לאיזה יחס חשיב )ϕ(x, y A .5היא מהצורה })¯y )ϕ(x, y 34 17 מניה רקורסיבית = ∅ אזי התנאים הבאים שקולים: תהי 6 A ⊆ N A .1נל״ח A .2הטווח של פונקציה חשיבה A .3הטווח של פונקציה מלאה .4קיים יחס חשיב B ⊆ N2כך ש})A = {x : (∃y)B(x, y .5כנ״ל עבור B ⊆ Nk+1ו־}) A = {x : (∃y1 , ..., yk )B(x, y1 , ..., yk הוכחה: • ) .(1) ⇒ (2תהי f : N → Nכך ש) .A = dom(fתהי Tfמ״ט המחשבת את fכלומר .f = fT1fכיוון ש∅ = A 6אפשר לבחור .a ∈ Aנגדיר פונקציה חשיבה g : N → Nבאופן הבא: ( P rL (n) Tf halts on P rL (n) af ter less than P rR (n) steps = )g(n a else נסמן את התנאי הנ״ל ב∗ .אנחנו יודעים ש∗ הוא יחס חשיב לכן גם המשלים חשיב. לכן לפי המשפט על הגדרה לפי מקרים גם gחשיבה .נראה ש gעונה על דרישותינו ־ .g(N) = Aאם ) l ∈ g(Nאז או ש l = aואז . l ∈ Aאו ש) l = P rL (nלאיזה .n ∈ Nאבל אז זה אומר ש Tfעוצרת על הקלט lאחרי פחות מ) P rR (nצעדים .כיוון ש fT1f = fאם אגף שמאל מוגדר גם אגף ימין מוגדר ,כלומר .l ∈ Dom(f ) = A בכיוון השני ,אם ) l ∈ Dom(fאז Tfעוצרת על הקלט lאחרי איזה מספר k של צעדים .אז ) n = P r(l, k + 1ולפי הגדרה ,g(n) = P rL (n) = lכלומר ) .l ∈ Range(gנשים לב :הפונקציה gשלמה. • ) (2) ⇒ (3־ מוכיחים באותו אופן .בוחרים a ∈ Aומגדירים: f (P rL (n)) Tf halts on P rL (n) af ter less than P rR (n) steps a else ( = )g(n • ) (3) ⇒ (4־ אם ) A = Range(fעבור fחשיבה )ושלמה( אז היחס ))B(x, f (x חשיב .לכן.y ∈ Range(f ) ⇐⇒ (∃x)(B(x, y)) , • ) (4) ⇒ (5־ אין מה להוכיח )מקרה פרטי(. • ) (4) ⇒ (1־ פשוט.f (x) = µy B(x, y) : • ) (5) ⇒ (4־ אם })¯ A = {x : (∃y1 , ...yk )B(x, yאז נגדיר יחס })= {(x, z) : z encodes a series of length k ∧ B(x, β(z, 1), ..., β(z, k 35 )C(x, z משפט ) 17.1משפט הרקורסיה( תהי ) C(x, yפונקציה חשיבה .אזי קיימת מ״ט Tכך ש־ ) C(dT e , y) = T (y) = fT1 (yלכל .y טענה 17.2קיימת מכונת טיורינג Tכל שלכל n ∈ Nמתקיים fT1 (n) = dwn eכאשר wn היא המכונה אשר על הקלט הריק כותבת את המספר ) .nההוכחה ־ בתרגיל הבית(. הוכחה :המכונה Tתהיה הרכבה של 3מכונות) ABC :מפעילים קודם את Aאח״כ את Bאח״כ את .(Cהמכונה Aעל הקלט yתחזיר את הפלט .dBe dCe , yמה עושה B על הקלט ?x, yהיא כותבת את הקוד של המכונה שכותבת ] xמטענת העזר[ ואחריו את .x, yמה יהיה ) .B(dBe dCe , y) = dAe dBe dCe , y ?B(dBe dCe , yיוצא ש־ ) C(B(A(y))) = C(B(dBe dCe , y)) = C(dAe dBe dCe , yאבל זה בדיוק מה שהיינו צריכים. מסקנה ) 17.3משפט נקודת השבת( תהי f : N → Nפונקציה חשיבה ושלמה .אזי קיים e ∈ Nכך ש ).fT1e = fT1f (e מסקנה ) 17.4משפט (Riceנגדיר יחס שקילות של Nע״י e1 ∼ e2אם ורק אם fT1e = fT1e 1 2 .תהי L ⊆ Nכך שלכל e ∈ Lאם e0 ∼ eאז .e0 ∈ Lאזי Lחשיבה אם ורק אם L = N או ∅ = .L הוכחה :נניח בשלילה שלא .אז יש e0 ∈ Lו־ .e1 6∈ Lנגדיר פונקציה חשיבה: ( e1 n ∈ L = )f (n e0 n 6∈ L אז fחשיבה ושלמה .לכן ממשפט נקודת השבת יש eכך ש־ ) .fT1e = fT1f (eאם e ∈ Lאז גם f (e) ∈ Lכי Lסגורה תחת ∼ .אבל אם e ∈ Lאז ) e1 = f (eו־ .e1 6∈ Lבאותו אופן בדיוק גם e 6∈ Lגורר סתירה. דוגמה :בעיית העצירה אינה חשיבה .אין מכונת טיורינג המחליטה האם eקוד של מכונה שעוצרת על הקלט הריק .במילים אחרות }{e ∈ N : e encodes a machine which halts on empty input = L אינה חשיבה .ברור ש־ Lסגורה תחת ∼ .לפי משפט רייס כיוון ש־∅ =) L 6יש מ״ט שעוצרת על כל קלט ובפרט על הקלט הריק( וגם ∅ =) N\L 6יש מכונות שלא עוצרות על שום קלט( .לכן לפי משפט רייס Lאינה חשיבה .הוכחה) :משפט נקודת השבת( תהי ) U(x, yמ״ט אוניברסלית ו־) .C(x, y) = U(f (x), yאז Cמ״ט .לכן יש Tכך ש־) .U(f (dT e), y) = C(dT e , y) = T (yאז .e = dT e הערה 17.5 .1קבוצה A ⊆ Nחשיבה היא נל״ח 36 .2קבוצה A ⊆ Nנל״ח היא חשיבה אם ורק אם גם המשלים של Aנל״ח .הוכחה: אם גם Aוגם N\Aנל״ח אז יש מ״ט T1 , T2שמחשבות את איבריהן .אפשר להניח שהן fT11והן fT12פונקציות שלמות .לכל מספר nנתחיל לחשב את T1 (1), T1 (2), ... ובמקביל את ) T2 (1), T2 (2), ...אפשר לסירוגין( .המכונה תעצור ברגע שיתקבל פלט .nכיוון ש) A = fT11 (Nוגם ) N\A = fT12 (Nקיים m ∈ Nכך ש fT11 (m) = nאו .fT12 (m) = nבכל מקרה אחרי 2mחישובים המכונה שלנו תיעצר .אם היא עצרה על הריצה של ) T1 (mאז n ∈ Aאחרת .n 6∈ A 18 פונקציות יציגות תרגיל :תהיינה A1 , A2 ⊆ Nנל״ח אז: .1גם A1 ∪ A2נל״ח .2גם A1 ∩ A2נל״ח .3יש דרך אחת סבירה להגדיר מתי A ⊆ Nkנל״ח ואז הטלה של קבוצה נל״ח היא נל״ח הגדרה 18.1תהי שפה Lחשיבה .מספור גדל של הנוסחאות ) F (Lב־Lזו פונקציה g : F (L) → Nהמוגדרת באינדוקציה באופן הבא: .1שם עצם xiיקודד ע״י g(xi ) = 21 · 3i .2קבוע אישי ciיקודד ע״י g(ci ) = 22 · 3i .3שם עצם מהצורה ) Fi (t1 , ..., tnיקודד ע״י ) g(t 23 · 3i · 5g(t1 ) · 7g(t2 ) · · · · · Pn+2n = )) g(Fi (t1 , ..., tn .4נוסחה מהצורה ) Ri (t1 , ..., tnיקודד ע״י ) g(t 24 · 3i · 5g(t1 ) · 7g(t2 ) · · · · · Pn+2n = )) g(Ri (t1 , ..., tn .5נוסחה ϕמהצורה ϕ = ¬ψתקודד ע״י )g(ϕ) = 25 · 3g(ψ .6נוסחה ϕמהצורה ϕ = ψ1 → ψ2תקודד ע״י ) g(ϕ) = 26 · 3g(ψ1 ) · 5g(ψ2 .7נוסחה ϕמהצורה ϕ = (∃xi )ψתקודד ע״י )) g(ϕ) = 27 · 3i · 5g(ψהכמת ∀ בדומה( הגדרה 18.2 .1תורה Tבשפה Lהיא כריעה אם הקבוצה } {g(ϕ) : T ` ϕחשיבה. .2תורה היא חשיבה אם } {g(ϕ) : ϕ ∈ Tחשיבה. 37 טענה 18.3 .1מספור גדל הוא חח״ע )באינדוקציה על יצירת הנוסחה( .2בהינתן שפה חשיבה )או סופית( Lהיחס ״ nמקודד נוסחה בשפה L״ הוא חשיב. הוכחה) :רעיון כללי( נשים לב )קל לראות באינדוקציה( שאם ϕנוסחה באורך nאז > )g(ϕ .nבנוסף ,אם ב־ ϕמופיע סימן פונקציה ,סימן יחס ,קבוע אישי או משתנה עם אינדקס i > nאז )באינדוקציה( .g(ϕ) > n לכן השאלה האם nמספר גדל של נוסחה שקולה לשאלה האם קיימת נוסחה ϕבאורך קטן־שווה ל־ ,nשכל הסימנים הלא־לוגיים המופיעים בה הם עם אינדקס קטן או שווה ל־.n ומספר גדל של ϕהוא .n אבל קבוצת הנוסחאות ϕמאורך קטן־שווה ל־ , nשכל הסימנים בה עם אינדקס קטן־ שווה ל־ nהיא סופית ,כלומר זהו כימות חסום .לכן מספיק לבדוק שהפונקציה ששולחת נוסחה למספר גדל שלה היא חשיבה טיורינג) .זה עסק מייגע ,אבל לא קשה(. הגדרה 18.4 .1תהי , f : N → Nנאמר שתורה Tבשפה המרחיבה את ) (0, sמייצגת )חלש( את fאם קיימת נוסחה ) ϕ(x, yבשפה Lכל שלכל ) n ∈ Dom(fמתקיים ` T )) (∀y)(ϕ(n, y) ⇐⇒ f (nכאשר הסימון ) n := sn (0עבור sפונקציית העוקב. .2יחס A ⊆ Nמיוצג ב־ Tאם χAמיוצגת ב .T הגדרה 18.5תורת פיאנו ) (Peano Arithmeticזו קבוצת הפסוקים הבאה בשפה = L ):{0, +, ·, s (∀x)(s(x) 6= 0) .1 (∀x∀y)(s(x) = s(y) → x = y) .2 (∀x)(x + 0 = x) .3 (∀x∀y)(x + s(y) = s(x + y)) .4 (∀x)(x · 0 = 0) .5 (∀x∀y)(x · s(y) = x · y + x) .6 .7סכימת האינדוקציה :לכל נוסחה ) ϕ(x, yאקסיומה מהצורה: ¯((∀x)[ϕ ¯(x, 0) ∧ ∀y(ϕ ¯(x, y) → ϕ ¯(x, s(y)) → ∀y(ϕ ]))x, y משפט 18.6כל פונקציה חשיבה ניתנת לייצוג ב־ .P Aיתר על כן ,קיימת תורה Nסופית כך ש־ P A ` Nוכל פונקציה חשיבה מיוצגת ב־ .N תרגיל :אם f : N → Nשלמה ומיוצגת ב־ P Aאז fחשיבה. 38 מסקנה 18.7התורה Nשמובטחת במשפט ,אינה כריעה. הוכחה :תהי ) ϕ(e, z, nהנוסחה האומרת שמ״ט ) Teשהקוד שלה הוא (eעוצרת על הקלט nאחרי zצעדים. היחס ) ϕ(e, z, nחשיב ]הוכחנו[ ,לכן לפי המשפט מיוצג ב־ .Nכלומר אם ) Te (nלא עוצרת אז לכל zמתקיים ).N ` ¬ϕ(e, z, n מצד שני ,אם ) Te (nעוצרת אז ) N ` ϕ(e, z, nלאיזה .zנניח בשלילה ש־ Nכריעה אז ) N ` (∃z)ϕ(e, z, nאם ורק אם ) Te (nעוצרת. אבל מכריעות נקבל שלכל זוג he, niאפשר לדעם האם ) N ` (∃z)ϕ(e, z, nאו ` N ) .(¬∃z)ϕ(e, z, nכלומר אפשר להכריע האם ) Te (nעוצרת או לא .אבל לפי משפט רייס זו איננה קבוצה חשיבה .סתירה. הערה :אם N ) N ⊆ Tהתורה המובטחת במשפט( אז: .1כל פונקציה חשיבה ניתנת לייצוג ב־ T .2לכן T ,איננה כריעה ,כי אותה ההוכחה ש־ Nאינה כריעה תעבוד עבור .T הערה :אם תורה Tהיא חשיבה ושלמה אז Tכריעה .להלן אלגוריתם הכרעה: נראה בהמשך שאם Tחשיבה אז } CT := {g(ϕ) : T ` ϕנל״ח .כיוון ש־ Tשלמה, כדי לבדוק האם T ` ϕנפעיל את המכונה המונה את .CTבכל שלב נבדוק האם האיבר שהמכונה פלטה הוא הוכחה של ϕאו הוכחה של . ¬ϕהשלמות מבטיחה לנו שאחד מהם יתקבל בזמן סופי .אם מתקבל ϕ־ ניצחנו .אם מתקבל ¬ϕ־ גם ניצחנו. מסקנה 18.8כל תורה Tכך ש־ N ⊆ T ⊆ P Aמהמסקנה הקודמת אינה כריעה) .למשל תורת המספרים איננה כריעה(. 19 פונקציות יציגות תזכורת :פונקציה f : Nk → Nתקרא מיוצגת )חלש( בתורה ) Tבשפה עם סימן קבוע 0 nמתקיים וסימן פונקציה חד מקומי (sאם קיימת נוסחה ) ϕ(x, yכך שלכל ) ¯ ∈ Dom(f ¯(` (∀y)(ϕ )n, y) ⇐⇒ f (n) = y T כאשר ).n = sn (0 משפט 19.1כל פונקציה חשיבה יציגה בתורת פאנו ואפילו יש תת־תורה סופית של P Aשבה כל פונקציה חשיבה יציגה. מסקנה 19.2תהי N ⊆ P Aכמובטח במשפט .אזי Nאינה כריעה. הוכחה :יהי ) ϕ(e, n, zהיחס האומר ״המכונה שהקוד שלה eעצרה על הקלט nאחרי לכל היותר zמהלכים״ .אז ברור ש־) ϕ(e, n, zהוא יחס חשיב .מהמשפט נובע שלכל שלשה he, n, zi ∈ N3מתקיים ) N ` ϕ(e, n, zאם ורק אם he, n, ziעומדת ביחס ,כלומר המכונה eעוצרת על nאחרי לא יותר מ zצעדים .לכן אם he, niעוצרת יש z0כך ש) .N ` ϕ(e, n, z0לכן אם he, niעוצרת אז ) .N ` (∃z)ϕ(e, n, zמצד שני ,אם he, ni לא עוצרת אז ) N 6` ϕ(e, n, z0לכל .z0אבל N |= P Aולכן . N |= Nלכן לא ייתכן ש) N ` (∃z)ϕ(e, n, zאבל מהנחתנו זה לא מתקיים .יוצא ) N ` (∃z)ϕ(e, n, zאם ורק 39 אם he, niעוצרת .לכן אילו הייתה Nכריעה היינו יכולים להכריע את בעיית העצירה: בהינתן זוג he, niהיינו פשוט שואלים אם ) .N ` (∃z)(e, n, zאם כן ־ he, niעוצרת ,ואם לא אז he, niלא עוצרת. מסקנה 19.3כל תורה N ⊆ T ⊆ P Aמהמסקנה הקודמת אינה כריעה. ניגש להוכחת המשפט עצמו. תהי N ⊆ P Aהתורה הבאה: • )P A(1) − P A(6 • )(∀x)(¬x < 0) :(N 7 • )(∀x∀y)(x < s(y) ⇐⇒ x < y ∨ x = y) :(N 8 • )(∀x∀y)(x < y ∨ x = y ∧ y < x) :(N 9 • כאשר x < yזה קיצור לנוסחה )(∃z)(z 6= 0 ∧ x + z = y טענה .P A ` N 19.4הוכחה :צריך להוכיח רק את }) .P A ` {N (7), N (8), N (9כלומר צריך להוכיח: ` )(∀x)¬(x < 0 )(∀x∀z)(x + z = 0 → z = 0 ⇒⇐ )(∀x∀z)(z 6= 0 → x + z 6= 0 ⇒⇐ )(∀x∀z)((∃y)s(y) = z → x + s(y) 6= 0 ⇒⇐ PA אבל ) .P A ` z 6= 0 → (∃y)((sy) = zלכן יספיק להוכיח ש־).P A ` x+s(y) = s(x+y זה יספיק כי אז נקבל .(∀x∀z)((∃y)(sy = z)) → s(x + y) 6= 0ההוכחה ל־ N 8ו־N 9 דומה מאוד. הוכחה :נראה שכל פונקציה חשיבה יציגה ב־ .Nלשם כך יספיק להראות :משפחת הפונקציות היציגות ב־ Nמכילה מכילה את הפונקציות החשיבות הבסיסיות וסגורה תחת הרכבות ותחת מזעור. טענה (1) 19.5פונקציית ההיטל Pi (x1 , ..., xn ) = xiיציגה ע״י ϕ(x1 , ..., xn , y) := xi ≈ y הוכחה :יש להראות ש N ` (∀y)ϕ(k1 , ..., kn , y) ⇐⇒ Pi (k1 , ...kn ) = yלכל ∈ k1 , ..., kn .Nאבל זה שקול ל .N ` (∀y)ki = y ⇐⇒ ki = y טענה (2) 19.6הפונקציה c0 (x) = 0יציגה ב־ Nע״י .ϕ(x, y) := y ≈ 0ההוכחה קשה באותה מידה. 40 טענה (3) 19.7הפונקציה x + yיציגה ב־ Nע״י .ϕ(x, y, z) := z ≈ x ⊕ yהוכחה :עלינו להראות ) .N ` (n1 ⊕ n2 = n1 + n2באינדוקציה על . n2עבור n2 = 0מקבלים .n1 + 0 = n1נניח עבור n2ונוכיח עבור :n2 + 1 n1 ⊕ n2 + 1 = n1 ⊕ s(n2 ) = s(n1 ⊕ n2 ) = s(n1 + n2 ) = n1 + n2 + 1 לגבי כפל זה בדיוק אותו דבר. טענה c< (x, y) (4) 19.8יציגה ב־ Nע״י = ϕ(x, y, z) ` (x < y ∧ z = 1) ∨ (y < x ∧ z ).0) ∨ (x = y ∧ z = 0 הוכחה :ראשית מראים שלכל n, m ∈ Nאם n < mאז . N ` n < mבאותו אופן אם ) ¬(n < mאז )] .N ` ¬(n < mלמשל באינדוקציה על :mמ N 7אנחנו יודעים ש) N ` ¬(n < 0לכל .n ∈ Nאז נניח שהוכחנו ל nנתון עבור mונוכיח עבור .m + 1אז אם n < mמהנחת האינדוקציה N ` n < mולפי N 8גם ).N ` n < m + 1 = s(m המקרה ההפוך דומה[. טענה (5) 19.9משפחת הפונקציות היציגות ב Nסגורה תחת הרכבה. הוכחה :נניח ש) G(x1 , ...xnיציגה ב Nו) hi (y1 , ..., ymיציגות ב Nל .1 ≤ i ≤ nעלינו להראות ש)) G(h1 (y1 , ..., ym ), ..., hn (y1 , ..., ymיציגה ב .Nנניח ש) ϕi (y1 , ..., ym , zi מייצגות את hiל , 1 ≤ i ≤ nו) ψ(z1 , .., zn , tאת .Gנראה ש )ϕi (y1 , ..., ym , zi ) ∧ ψ(z1 , ..., zm , t n ^ = ) (∃z1 , ..., zn θ(y1 , ..., ym , t) : i=1 מייצגת את ההרכבה. הפונקציות [hiמתקיים ש כלומר עלינו להראות שלכל p1 , ..., pmטבעיים ]ובתחום של )) (∀t)(θ(p1 , ..., pm , t) ⇐⇒ t = G(h1 (p1 , ..., pm ), ..., hn (p1 , ..., pm ` N .אם נסמן ) qi = hi (p1 , ..., pmו־) ] r = G(q1 , ..., qnבהנחה שהכל מוגדר[ מה שעלינו להראות זה ש) .N ` (∀t)(θ(p1 , ..., pm , t) ⇐⇒ t = rעל ידי שנחליף את tבקבוע שאינו מופיע ב Nיספיק להוכיח .N ` θ(p1 , ..., pm , t) ⇐⇒ t = rיספיק להוכיח כל כיוון בנפרד .כזכור .T ` ϕ → ψ ⇐⇒ T ∪ {ϕ} ` ψלכן עלינו להוכיח: N ∪ {θ(p1 , ..., pm , t)} ` t = r .1 N ∪ {t = r} ` θ(p1 , ..., pm , t) .2 נתחיל מ ϕi .2מייצגת את hiו p1 , ..., pmבתחום של hiלכן ⇒⇐ ) N ` (∀zi )(ϕi (p1 , ..., pm , zi ) .zi = qiבאותו אופן ψמייצגת את Gו־ q1 , ..., qnבתחום של Gלכן )(∀t)(ψ(q1 , ..., qm , t) ⇐⇒ t = r 41 ` N לכן )ϕi (p1 , ..., pm , qi ) ∧ ψ(q1 , ..., qn , r n ^ ` N i=1 ולכן )ϕi (p1 , ..., pm , qi ) ∧ ψ(q1 , ..., qn , t n ^ ` }N ∪ {t = r i=1 נסיים עם .1כיוון ש ϕiמייצגות את hiאנחנו יודעים שמההנחה ) ϕi (p1 , ..., pm , zi אפשר להסיק .zi = qiכלומר .N ∪ θ ` zi = qiכיוון ש ψמייצגת את Gאז מ zi = qi עבור 1 ≤ i ≤ nאפשר להסיק מההנחה ) ψ(z1 , ..., zn , tש .t = rלכן N ∪ θ ` t = r כנדרש. טענה (6) 19.10משפחת הפונקציות היציגות ב Nסגורה תחת מזעור. הוכחה) :רעיון ההוכחה( תהי ) G(x1 , ..., xn , yפונקציה יציגה ע״י נוסחה ).ϕ(x1 , ..., xn , y, t תהי )) . H(x1 , ..., xn ) = µy (G(x1 , ..., xn , yאיזו נוסחה תייצג את ϕ(x1 , ..., xn , y, 0)∧ ?H )) .(∀y 0 < y)(¬ϕ(x1 , ..., xn , y 0 , 0ההוכחה שזה אכן מייצג דומה למה שעשינו עד כה. 20 הוכחת משפטי אי השלמות של גדל תזכורת :הוכחנו אם f : N → Nחשיבה )חלקית( אז fיציגה )חלש( ב .N תרגיל )מתוך תרגיל :(10אם A ⊆ Nיחס חשיב אז הוא יציג ולכן יש נוסחה ) ϕ(xכך ש: N ` ϕ(n) .1אם n ∈ A N ` ¬ϕ(n) .2אם n 6∈ A תזכורת :הגדרנו פונקציה g : F (L) → N״מספור גדל״ של הנוסחאות בשפה Lשל P A וראינו שזו פונקציה חשיבה .לשם נוחות הסימון בהינתן נוסחה ) ϕ ∈ F (Lנסמן dϕeמספר הגדל של .ϕ משפט ) 20.1משפט נקודת השבת של גדל( :לכל נוסחה ) ϕ(xבשפה של P Aקיימת נוסחה ψכך ש־.N ` ϕ(dψe) ⇐⇒ ψ הגדרה 20.2תהי )) ∆ : F1 (L) → F0 (Lנוסחאות עם משתנה חופשי אחד לנוסחאות ללא משתנים חופשיים( הפונקציה המקיימת ) .ϕ(x) 7→ ϕ(dϕeאז ∆ נקראת פונקציית האלכסון. קל להשתכנע ש־∆ ניתנת לחישוב ע״י מכונת טיורינג .לכן הפונקציה הבאה חשיבה: ∆ המוגדרת ע״י ˜ ˜ :N→N )∆( n ∈ Domאם ורק אם nמספר גדל של נוסחה במשתנה ˜ ˜ ˜ חופשי אחד ,ואם )∆( n ∈ Domאז n = dϕ(x)eו .∆(n) = d∆(ϕ)eלכן היחס )∆(n, m ˜ ˜ המוגדר ע״י ˜ ∆(x,יציג ב .Nלפי ) ∆(nהוא יחס חשיב .לכן )y )∆( n ∈ Domו־= m ˜ התרגיל יש נוסחה ) δ(x, yכך ש־) N ` δ(n, mאם ∆ ∈ ) (n, mו־) N ` ¬δ(n, mאם ˜ ∆ ∈.(n, m) 6 תהי )) .χx = (∃y)(δ(x, y) ∧ ϕ(yיהי ).ψ = ∆(χ) = χ(dχe 42 טענה .N ` ϕ(dψe) ⇐⇒ ψ 20.3 הוכחה :נניח ש־ .N ` ψצריך להראות ש־) .N ` ϕ(dψeאבל ∧ )ψ := (∃y)(δ(dχe , y )) .ϕ(yנזכור ש dχeמספר גדל של נוסחה במשתנה אחד .בנוסף δ(x, y) ,היא יצוג ˜ .∆(x,לכן ) N ` δ(dχe , yאם ורק אם .y = d∆(χ)eלכן אם ` N של היחס )y )) (∃y)(δ(dχe , y) ∧ ϕ(yהמועמד היחיד שיכול להעיד על כך הוא .dψe = d∆(χ)eלכן ) . N ` ϕ(dψeבכיוון השני ,נניח ש) N ` ϕ(dψeועלינו להוכיח . N ` ψעלינו להראות ש־)) .N ` (∃y)(δ(dχe , y) ∧ ϕ(yיספיק להוכיח ש־) N ` δ(dχe , y0 ) ∧ ϕ(y0עבור y0 כלשהו .אבל ) N ` δ(dχe , dψe־ כי ) δ(x, yמייצגת את ˜ ∆ ומהנתון ) .N ` ϕ(dψeנשים y0 = dψeוגמרנו. משפט ) 20.4משפט השלמות הראשון של גדל( תהי T ⊇ Nתורה חשיבה ו־ω־שלמה ,אז Tאינה שלמה. הגדרה 20.5תורה Tנקראת ω־שלמה אם ) T ` (∃x)ϕ(xלאיזה נוסחה ) ϕ(xגורר ש` T ) ϕ(nלאיזה .n ∈ N הגדרה 20.6נוסחה ) P r(xנקראת יחס יכיחות אם היא מקיימת את התכונות הבאות: .1אם T ` φאז )T ` P r(dφe .2אם ) T ` P r(dφeאז ).T ` P r(dP r(dφe)e .3אם ) T ` P r(dφ → ψeאז ).T ` P r(dφe) ⇐⇒ P r(dψe טענה 20.7ב Nיש יחס יכיחות ואם מניחים ש Nהיא ω־שלמה אז בנוסף מתקיים :אם ) N ` P r(dφeאז .N ` φ הוכחה :נגדיר יחס דו מקומי ) P˜r(x, yכך ש (n, m) ∈ P˜rאם: n .1מספר גדל של נוסחה ,ϕו־ n .2מקודד הוכחה של ϕמתוך . N אז P˜rיחס חשיב .לכן יש נוסחה ) P r(x, yשמייצגת את .P˜rכלומר )N ` P r(n, m אם (n, m) ∈ P˜rומוכיח את השלילה ־ אחרת. נגדיר ) .P r(x) := (∃y)P r(x, yמדוע ,למשל N ` φאז ) ?N ` P r(dφeמשום שאם N ` φאז יש הוכחה של φמ Nויהי mקידוד של ההוכחה הזו .אז ) .P˜r(dφe , mבגלל ש) P r(x, yמייצגת את P˜rאז ) N ` P r(dφe , mלכן ) 2 .N ` (∃y)P r(dφe , yנובע מ־,1 ו־ 3הוכח באופן דומה )תרגיל(. כדי לקבל את :4אם ) N ` P r(dφeו־ ω N־שלמה אז ) N ` P r(dφe , mלאיזה .m ∈ Nאבל אז מהגדרת היציגות ) N |= P˜r(dφe , mכלומר mמקודד הוכחה של φמ .N הוכחה) :למשפט השלמות הראשון של גדל( לפי משפט נקודת השבת יש φכך ש` T ).ψ ⇐⇒ ¬P r(ψ 43 • מקרה א׳: )(1 ⇐⇒ T ` ψ ⇒ T ` P r(dψe) ⇒ T ` ¬ψ • מקרה ב׳: )(4 ⇐⇒ T ` ¬ψ ⇒ T ` P r(ψ) ⇒ T ` ψ יוצא ψ, ¬ϕאינם יכיחים ב Tולכן Tאינה שלמה. סימון :תהי Tתורה חשיבה .נגדיר ).ConT := ¬P r(0 = 1 משפט ) 20.8משפט אי השלמות השני של גדל( אם T ⊇ Nחשיבה ועקבית אז .T 6` ConT במילים אחרות Tעקבית לא יודעת את זה על עצמה. הוכחה :נבחר ψכמו בהוכחת המשפט הראשון .T ` ψ ⇐⇒ ¬P r(dψe) .אז: .T ` P r(dψe) → ¬ψ .1מ־ 2ומ־ 3נקבל: T ` P r(dP r(dψe)e) → P r(d¬ψe) .2 .3לפי .T ` P r(dψe) → P r(dP r(dψe)e) 2 .4מ־ 2ו־ 3ביחד נקבל ).T ` P r(dψe) → P r(d¬ψe אבל ) ψ → (¬ψ → 0 = 1היא אקסיומה לוגית )ואפילו טאוטולוגיה( .לכן → T ` ψ ) .(¬ψ → 0 = 1לפי 1ו־ 3מקבלים: ))T ` P r(dψe) → (P r(d¬ψe) → P r(d0 = 1e לפי כלל 4וכלל הניתוק T ` P r(ψ) → ¬ConT כלומר )T ` ConT → ¬P r(dψe אבל לפי בחירת ,ψאם מניחים ש T ` ConTאז מכלל הניתוק ) T ` ¬P r(ψולכן .T ` ψ אבל לפי 1זה גורר ) T ` P r(dψe־ סתירה. 44 21 תורת רקורסיה תהי .H : N → Nפונקציה חלקית .מכונת טיורינג עם אוב )אורקל( עבור Hזו מכונת טיורינג רגילה שלה פקודה נוספת :״חשב את הערך של Hעבור nכלשהו״ .ואז הערך של ) H(nמוחזר אם ) n ∈ Dom(Hואחרת האוב אינו מחזיר תשובה ,והחישוב של המכונה אינו מסתיים. למשל ,נוסיף למכונת טיורינג רגילה עוד סרט והפקודה ״קרא מן האוב״ תתפרש כ־״חשב את Hעבור הערך שכתוב בסרט בתא מספר 2״ .מה שחשוב הוא שמ״ט עם אוב Hניתנת לתיאור סופי .לכן בהינתן אוב Hאפשר לקודד את כל מ״ט עם אוב Hבדומה לקידוד של מ״ט רגילות. המושגים: .1מצב של מכונה עם אוב H .2ריצה של מכונה עם אוב H .3ריצה מסתיימת ¯( fTn x) .4 כולם מוגדרים באופן זהה להגדרה הרגילה. פונקציה f : N → Nתקרא חשיבה עם אוב Hאם קיימת מ״ט Tעם אוב Hכך ש f = fT1 הגדרה 21.1 .1יהיו H, Gאובות .נאמר ש H ≤R Gאם כל פונקציה חשיבה מ Hחשיבה מ.G .2נאמר ש H ∼R Gאם H ≤R Gו־.G ≤R H טענה ∼R 21.2הוא יחס שקילות. הוכחה :צריך להראות רק שאם H ≤R G ≤R Fאז .H ≤R Fנניח ש fחשיבה מ.H עלינו להראות ש fחשיבה מ .Fמהנחתנו fחשיבה מ ,Gאבל אז גם fחשיבה מ .F הגדרה 21.3 .1דרגת טיורינג של Hהינה .deg(H) = H/∼R = [H]∼R .2אם a, bדרגות אז נאמר ש a ≤R bאם לכל H, Gכך שdeg(H) = a, deg(G) = b מתקיים ] .H ≤R Gהערה :בהגדרה אפשר להחליף ״לכל״ ב״קיים״[. ברור ש ≤Rהוא יחס סדר חלקי על הדרגות .מטרה ראשונה לחקור את המבנה של הקבוצה סדורה חלקית של דרגות טיורינג. תכונות בסיסיות של הדרגות: .1אם Fחשיבה אז ) deg(F ) ≤R deg(Gלכל .G .2בפרט: 45 )א( אם F, Gחשיבות אז F ∼R G )ב( אם נסמן 0 = degFל Fחשיבה אז 0 ≤R aלכל דרגה .a .3אם a1 , ..., anדרגות כלשהן אז יש להן חסם מלעיל משותף קטן ביותר. הוכחה :יהיו F1 , ..., Fnכך ש .degFi = aiברור שכל Hהמקיימת Fi ≤R Hלכל i מחשבת את .F1 , ..., Fnלכן אם נקח בתור אוב את } ˜ = {F1 , ..., Fn n) H־אובות( ש Fi ≤R Hלכל iומזערי כזה .עכשיו פשוט נחליף את ˜ נקבל ˜ Hב־ Hהפועלת באופן R ˜ ˜ הבא H .H(m) = FP rL (m) (P r (m)) :חשיבה מ Hולכן Hהיא החסם המבוקש. .4נאמר שסדרת פונקציות {Fn }n∈Nהיא חשיבה מ Hאם הפונקציה )F (n, x) = Fn (x חשיבה מ .Hברור שאם {Fn }n∈Nסדרת פונקציות אז {Fn }n∈Nחשיבה מ).F (n, x לכן לכל סדרת פונקציות יש חסם מלעיל .אזהרה :אבל זה לא נכון שלכל סדרת פונקציות יש חסם עליון. הגדרה 21.4נאמר ש Hנל״ח ב) Gונרשום (H ≤RE Gאם Dom(f ) = Hלאיזו .f ≤R G בדיוק כמו במקרה של פונקציות חשיבות לכל Gיש H ≤RE Gכך ש.H 6≤R G בהינתן ) G(xנסמן ב) G∗ (e, xזו מכונת טיורינג אשר )עם אוב (Gאשר בהינתן eקוד של מ״ט עם אוב Gוקלט xמחשבת את ) .Te (xברור ישירות מההגדרה ש: .1אם H ≤RE Gאז ∗H ≤R G .G∗ ≤RE G .2 מדוע? .1אם H ≤RE Gאז יש f ≤R Gכך ש) H = Im(fו־ fשלמה. )) Im(G∗ (ef , xכאשר על הקוד של .fוברור ש ∗.G∗ (ef , x) ≤R G אז = H .2ברור ־ כי ∗ Gחשיבה מ Gולכן הגרף שלה נל״ח מ.G הגדרה 21.5אם aדרגה ו־ a = degHאז הקפיצה של aהיא ∗ degHומסומנת .a0 שאלה :האם זה מוגדר היטב? אם H ∼ Gהאם ∗ ?H ∗ ∼ Gמתקיים: G∗ ≤RE G ⇒ G∗ ≤RE H H∼G לכן יספיק להראות ש ∗ Gנל״ח מירבית מ .Hלפי הטענה הקודמת עבור ∗ H, Hיוצא ש ∗ .G∗ ≤R Hמסימטריה בין Hו־ Gגם ∗ H ∗ ≤R Gולכן זה מוגדר היטב. שאלה :האם קיימת דרגה 0 < aכך ש ?a0 = 00תשובה :כן! 22 תורת רקורסיה ־ המשך תזכורת :אם F, Gפונקציות )מהטבעיים לטבעיים( אז F ≤R Gאם כל פונקציה חשיבה מ Fחשיבה מ F ∼R G .Gאם F ≤R Gו־ .G ≤R Fכמו כן נסמן .F/∼ = degF אם a, bדרגות אז a ≤ bאם קיימות פונקציות F, Gכך שdegF = a, degG = b ו־ .F ≤R Gאמרנו :אפשר להחליף את ״קיימות F, G״ ב״לכל F, G״. 46 מתי נאמר ש ?F ≤RE Gאם a, bדרגות אז נגדיר a ≤RE bבדיוק אם קיימות F, G כך ש degF = a, degG = bו־ .F ≤RE Gתרגיל A ⊆ N :חשיבה ב Gאם ורק אם Aנל״ח מ Gו־ N\Aנל״ח מ.G אם Hפונקציה כלשהי אז ∗ Hהיא הפונקציה המתאימה למכונת טיורינג אוניברסלית עם אוב .Hבאופן פורמלי H ∗ :היא הפונקציה המציינת של הקבוצה: }{he, ni : e is a code f or machine H and Te (n) halts ישירות מן ההגדרה נובע שאם G ≤RE Hאז ∗ .degG ≤ degHכמסקנה :אם נגדיר לדרגה aאת הדרגה a0ע״י ∗ a0 = degHעבור Hכלשהי כך ש a = degHאז: a0 .1מוגדר היטב a0 .2הוא הדרגה המירבית מעל aשהיא נל״ח ב .aבמילים אחרות ,אם a ≤ bו־ b ≤RE aאז .b ≤ a0מדוע? אם b ≤RE aאז לפי הגדרה יש Gכך שdegG = b def ו־ .G ≤RE Hלכן .degG ≤ degH ∗ = a0 ראינו :אם F, Gחשיבות אז F ∼ Gוסימנו :degF = 0 0 ≤ a .1לכל דרגה a .2אם a, bדרגות אז יש דרגה cכך ש־ cחסם מלעיל קטן ביותר ל.a, b ∞} F (y, x) := {Fnיש חסם מלעיל )שהוא פשוט ) (F (y, xאבל אין .3לכל סדרה n=1 חסם עליון. תרגיל :אם a, bדרגות אז ) a < a0ללא שיוויון( ואם a ≤ bאז .a0 ≤ b0אבל בהמשך נראה שיש a < bכך ש . a0 = b0 משפט 22.1קיימות דרגות a, b ≤ 00שאינן ניתנות להשוואה. מסקנה 22.2קיימת דרגה .0 < a < 00הוכחה :לפי המשפט יש a, b ≤ 00שאינן ניתנות להשוואה .אז a, b 6= 00ו־.a, b 6= 0 שאלה מרכזית) :הבעיה של (Postהאם קיימת aכנ״ל שהיא נל״ח? אבחנה :נניח ש fחשיבה עם אוב .Hאז לכל nיש σ ⊆ Hפונקציה סופית )ז״א תחום של σסופי( כך ש) f (nניתן לחישוב מ .σהוכחה) :למשפט( נשים לב שגם אם האוב Fאינו ידוע לנו עדיין ניתן לרשום את כל הקודים של מכונת טיורינג עם אוב .Fבתור התחלה נבנה שתי פונקציות F, Gכך ש־ G 6≤R Fוגם .F 6≤R Gכדי למלא את הדרישה הזו עלינו לקיים שני אוספים של תנאים: (1E) .1מ״ט עם אוב Gשהקוד שלה הוא eאינה מחשבת את .F (2E) .2מ״ט עם אוב Fשהקוד שלה הוא eאינה מחשבת .G ∞} {eiמניה חשיבה של התנאים הנ״ל .נבנה באופן אינדוקטיבי פונקציות אז תהי i=1 סופיות Fi , Giכך ש Fi ⊆ Fi+1 , Gi ⊆ Gi+1ג לכל iואם eiהיא תנאי מסוג ,1למשל אז Fi+1תבטיח שהפונקציה המחושבת ע״י המכונה eiעם האוב Gלא תחשב את .Fi+1 במילים אחרות המכונה eiעם האוב Gעל קלט מסויים nאז תתן ערך ששונה מ).Fi+1 (n נניח שהגדרנו Fi , Giכך ש Fi−1 ⊆ Fiו־ Gi−1 = Giונניח שבה״כ eiהוא תנאי מסוג 1 )התפקידים של F, Gסימטריים לחלוטין בהוכחה( .יהי ni ∈ Nהקטן ביותר כך ש∈ni 6 ) .dom(Fiנבחים בין שני מקרים: 47 .1מקרה א׳ ־ קיימת פונקציה סופית σכך ש: )א( σמתיישבת עם ) Giכלומר אם ) x ∈ dom(σ) ∩ dom(Giאז )(σ(x) = Gi (x )ב( מ״ט eiעם אוב σעוצרת על הקלט .ni במקרה זה ,נגדיר Gi ⊆ Gi+1עם .Gi+1 = Gi ∪ σבגלל הנחה ) (1־ זוהי פונקציה. נגדיר ) ) Teσi (ni ) + 1 = Fi+1 (niכאשר Teσiהוא הערך שמ״ט eiעם אוב σמחזירה עבור (niוזה מוגדר בגלל הנחה ).(2 .2מקרה ב׳ ־ לא מקרה א׳ .אז נגדיר .Gi+1 = Gi , Fi+1 (ni ) = 0עתה נגדיר ∞ ∞ [ [ = .Fנראה ש) F 6≤R Gהמקרה השני סימטרי לחלוטין( .תהי e = Fi , G Gi i=1 i=1 מ״ט כלשהי עם אוב .Gנראה ש eאינה מחשבת את .Fלשם כך יספיק למצוא n ∈ N כלשהו כך ש)] F (n) 6= TeG (nנשים לב ש) F (nמוגדרת לכל ,nפשוט משום שהבניה מבטיחה שנטפל בבניה של Fאינסוף פעמים ובכל פעם אנחנו מגדירים את ) Fi+1 (ni עבור niקטן ביותר עבורו הפונקציה טרם הוגדרה .לכן בהכרח .[dom(F ) = N בפרט ,אם ) TeG (nלא עוצרת ,נקבל את הדרישה. יש שלב iשבו טיפלנו במכונה .eיש שתי אפשרויות .אם היינו במקרה ב׳ אז ) TeGi (ni אינה עוצרת .אילו הייתה עוצרת ,לפי האבחנה שרשמנו היה σ ⊆ Gסופי כך ש) Teσi (ni עוצרת ,ומכיוון של Giול σהרחבה משותפת Gהן מתיישבות בסתירה להנחה שאנחנו במקרה ב׳ .אם היינו במקרה א׳ אז יש σi ⊆ Gסופית )שהיא זאת שמופיעה בבניה בשלב ה (iכך ש) .F (n) = Fi+1 (ni ) = Teσi (ni ) + 1 6= Teσi (ni ) = TeGi (ni מסקנה degG 22.3אינו ניתן להשוואה עם .degFנותר להראות .degF ≤ 00 23 תורת רקורסיה ־ המשך התחלנו להוכיח :קיימות דרגות 0 ≤ a, b ≤ 00כך ש־ a, bאינן ניתנות להשוואה ונסמן .a|b בנינו שתי פונקציות F, Gכך ש־ F 6≤R Gו־ .G 6≤R Fנותר לבדוק ש־ .degF, degG ≤ 00 כדי להבטיח שהפונקציות בלתי ניתנות להשוואה היה צריך להגשים שני סוגי תנאים: F 6= fTeG (1E) .1 G 6= fTeF (2E) .2 למה ) 23.1למת השימוש( תהי eמ״ט ו־ H, Gאובות .נניח שבריצה של ) TeH (nהפניות לאורקל Hמבקשות בדיוק את הערכים ) H(r1 ), ..., H(rkלאיזה k ∈ Nונניח ש־= ) G(ri ) H(riלכל .1 ≤ i ≤ kאז ) .TeH (n) = TeG (nבפרט :אם ) TeH (nעוצרת אז יש σ ⊆ H סופית כך ש־).TeH (n) = Teσ (n ∞ כדי לבנות את F, Gמספרנו את התנאים {ei }i=0בצורה חשיבה .אם בשלב nעלינו לטפל בתנאי מסוג 1Eאז נבחר kלהיות הראשון שאינו ב domFnונבחין בין שני מקרים. .1מקרה א׳ ־ אם קיימת σסופית כך ש: )א( σמתיישבת עם Gnו־ 48 )ב( ) Teσ (kעוצרת אז נגדיר Gn+1 = Gn ∪ σו־ } Fn+1 = Fn ∪ {(k, σכאשר .r = fTeσ (k) + 1 .2מקרה ב׳ ־ אחרת )כלומר ,אין σכנ״ל( נגדיר .Fn+1 (k) = 0, Gn+1 = Gnאז ∞ ∞ [ [ = .Gנותר לבדוק ש־ = Fו־ Gi ראינו ש־F 6≤R Gו־ G 6≤R Fכאשר Fi i=0 i=0 .degG, degF ≤ 00כלומר עלינו להראות שיש אוב נל״ח שממנו F, Gחשיבות. משיקולי סימטריה יספיק לבדוק שזה נכון עבור .F נגדיר פונקציה s : N → Nשהיא הבניה :כלומר ) s(nמחזיר לנו קוד עבור .hFn , Gn , en i יספיק לוודא ש־ sחשיבה מאיזה אוב נל״ח .נניח שאנחנו יודעים את ) s(nואנחנו רוצים לחשב את ) .s(n + 1ב.ה.כ השלב en+1הוא מסוג . 1Eדבר ראשון sצריכה להכריע אם אנחנו במקרה א׳ או מקרה ב׳ .ז״א עלינו לדעת להכריע אם קיימת σשמתיישבת עם Gn σ Te+1עוצרת )מיהו kידוע מ) .(s(nדבר ראשון נשים לב שהתנאי בתוך הסוגריים הוא ו־)(k ¯( Aאז גם נל״ח ]ב ,σאבל מכיוון ש σסופית אז היא ממש נל״ח[ .אבל לכל יחס נל״ח )¯x, y ¯( (∃x)Aנל״ח .לכן ההכרעה האם אנחנו במקרה א׳ או במקרה ב׳ חשיבה מאוב נל״ח. )¯x, y אם נחנו במקרה ב׳ ־ אין בעיה ,הכל חשיב .אם אנחנו במקרה א׳ ־ עלינו למצוא את .σ ¯( (∃x)Aאז יש ¯( Aנל״ח ו־¯ yכזה ש־)¯x, y זה שוב דבר שהוא חשיב באופן כללי ,כי אם )¯x, y xשמעיד על כך .לכן בסה״כ ) s(n + 1חשיבה מ) s(nבעזרת פונקציה חשיבה שמחזירה ¯ האוב הנל״ח ).(∃σ)(... מסקנה 23.2קיימת .0 < a < 00 אותה הוכחה בדיוק תראה :לכל דרגה cקיימת דרגה aכך ש .c < a < c האם אפשר למצוא aכמו במסקנה שהיא נל״ח? תשובה :כן .ואפשר אפילו לדרוש ש־ .a0 = 00 0 משפט 23.3קיימת דרגת טיורינג נל״ח aכך ש־ a 6= 0ו־ .a0 = 00 הוכחה) :רעיון( נבנה קבוצה A ⊆ Nבאינדוקציה .בכל שלב nנוסיף לקבוצה שבנינו בשלבים הקודמים מספר של איברים .הבניה תהיה כזו שלגבי כל איבר שהכנסנו ל־ Aאנחנו מתחייבים שהוא יישאר ב־ .Aאבל באופן כללי בשום שלב סופי לא נתחייב לגבי שום מספר טבעי שהוא לא ייכנס ל־ Aמתישהו בעתיד .לפי מה אנחנו מחליטים האם להכניס איבר ל־A או לא )שזה דבר שלא יקרה(? כדי להבטיח את התנאים נרצה לוודא שהקבוצה Aשאנחנו בונים אינה חשיבה .לכן נרצה להבטיח ש־ χAשונה מ χEלכל קבוצה חשיבה .E הצרה היא שאנחנו לא יכולים להתמקד בפונקציות מציינות של קבוצות חשיבות .צריך לעבור על כל הפונקציות החשיבות ־ ובכלל זה אלו שאינן שלמות .מתי נכניס איבר kל־?A לכל מ״ט Teנתאים מספר טבעי ) k(eונריץ את )) .Te (k(eאם נקבל 0עולה החשד ש Te פונקציה מציינת של איזו קבוצה ו־ Teחושבת ש־) k(eלא בקבוצה .ליתר בטחון ,נכניס את ) k(eל־ Aוזה יבטיח ש Aשונה מהקבוצה ש־ ) Teאולי( מקודדת .הקושי העיקרי ־ כיצד נדע אם )) Te (k(eאי פעם תעצור? כדי להבטיח ש־ Aשנבנה תהיה נל״ח נרצה לוודא שהבניה שאנחנו מנהלים היא חשיבה. לכן שאלות מהסוג ״האם )) Te (k(eעוצרת״ אינן באות בחשבון .מה הפתרון? נשים לב שאם )) Te (k(eאינה עוצרת ומחזירה ,0לא יקרה שום דבר רע אם אף פעם לא נחליט להכניס את ) k(eל־ Aכי בסוף פשוט ) k(eלא יהיה ב Aואנחנו בסדר .השאלה היא איך לא לתקוע את הבניה אם )) Te (k(eלא עוצרת .כמו תמיד ,נדאג לחזור ל eאינסוף פעמים ובכל פעם 49 לבצע מספר חסום )אבל עולה לאינסוף( של צעדים .אם אי פעם )) Te (k(eתעצור נדע אם עצרה על 0או לא ־ אם כן נכניס את ) k(eואם לא ־ לא נעשה כלום .בדיוק כמו במקרה שבו )) Te (k(eבכלל לא עוצרת. הדרישה השניה ,ש־ (degA)0 = 00מצריכה אותנו לטפל בעוד משפחה של תנאים(2e,k ) :־ צריך להחליט האם ) TeA (kעוצרת או לא .נניח שרוצים לטפל בתנאים אלה .רוצים לדעת האם ) TeA (kעוצרת או לא .אבל איפה Aואיפה אנחנו?? )אליבא ד׳חסון( .בשלב סופי התחייבנו רק לגבי מספר סופי של Aiשהם ב .Aננסה לחשב את ) TeA (k־ את זה גם כן אי אפשר לחשב .את זה נפתור כמו קודם .נטפל בתנאי 2e,kאינסוף פעמים וכל פעם נריץ את המכונה עוד קצת .כל זה יעזור בכלל במשהו אם בסוף ,לגבי כל rשעליו ) TeA (kשאלה האם r ∈ Aiנקבל בדיוק את אותה התשובה גם ב) Aאו לחלופין בכל שלב בעתיד בו נחזור לטפל ב) .(2e,k המכונה שואלת את האוב Aiשאלות מהצורה ״האם ?r ∈ Ai״ או ״האם ?r 6∈ Ai״. מהבניה ־ אם TeAiשאלה ״האם ?r ∈ Ai״ וקיבלה תשובה חיובית אז היא תמיד תקבל תשובה חיובית לכל Ajעם .i ≤ jלכן התשובות היחידות שיכולות להשתנות הן תשובות ש Aiחושב ש .r 6∈ Aiל rיש שימוש שלילי בריצה של TeAiאם TeAiפונה לאוב בשאלה ״האם ?r ∈ Ai״ ומקבלת תשובה .r 6∈ Aiלכל חישוב של ריצה עבור ] TeAiבמילים אחרות, לכל טיפול בתנאי [2e,kנצוות רשימה Ne,kשל כל ה r ∈ Nבהם נעשה שימוש שלילי בזמן הריצה. כל עוד ∅ = Ne,k ∧ Aj־ אנחנו בסדר .מה שנרצה הוא להשתדל שלא להכניס איברים מ־ Ne,kל־ .Aאבל מה נעשה אם פתאום תנאי מסוג 1מחליט שהוא רוצה להכניס ל־A איבר ששייך לאיזה ?Ne,kנחליט על סדר קדימויות .נמספר את כל התנאים שלנו )כמו בהוכחת המשפט הקודם( ונרשה לתנאי מסוג 1eלפצוע קבוצה מסוג Ne,kרק אם המספר הסידורי של 1eקטן מזה של .2e,k 24 תורת רקורסיה ־ המשך )המשך רעיון ההוכחה משיעור שעבר( ∞} {eiרשימה של כל התנאים 1e , 2e,kכך שכל תנאי מופיע אינסוף פעמים. • תהי i=0 אין בעיה לייצר רשימה כזו באופן חשיב. • נבחר פעם אחת ולתמיד חלוקה של Nלאינסוף קבוצות אינסופיות זרות .גם את זה אפשר לעשות באופן חשיב] .למשל a ∈ Anאם ) n = P rL (a־ שיטת האלכסון של קושי[. • ראשית ,נתאר בהינתן תנאי מהצורה 1eכיצד נבחר kשעבורו ננסה לחשב את ).Te (k אם eהיא המכונה ה־n־ית באיזה מספור )חשיב( של הפונקציות החשיבות אז נבחר את kמ־ . Anשנית ,נדרוש ש־ kמספיק גדול כך שאינו מופיע בשום 2e,k־ הכרזה שהתקבלה עד כה בבניה. • עכשיו נתאר את השלב ה־ nבבניה: – מקרה א׳ ־ השלב ה־ nהוא מהצורה .1ei .1כבר הכנסנו מספר מ־ Riל־ A־ לא עושים כלום. .2אם קיים k ∈ Riכך ש־ k < nו־ ,Tei (k) = 0מתקבל אחרי פחות מ־n צעדים .בנוסף kלא שייך לשום 2e,k־ הכרזה שמספרה הסידורי קטן 50 ממספור הסידורי של ] .1eiברקע יש לנו מספור חשיב של כל הדרישות שלנו ,למשל המספור הסידורי של הדרישה ci־ במספור שקבענו בהתחלה ־ יכול להיות האינדקס הראשון i0כך שהתנאי ב־ ciשווה לתנאי ב־ .[ci0 במקרה הזה ־ נכניס את kל־ Aוכמובן ש״נפצע״ )נסמן( כל 2e,k־ הכרזה שהמספר הסידורי שלה גדול מזה של 1eiו־ kשייך להכרזה. .3אחרת ־ לא נעשה כלום. A – מקרה ב׳ ־ אם )) Te n−1 (kכאשר An−1הקבוצה שחיברנו עד כה( עוצרת אחרי nצעדים ,אז נגיש 2e,k־ הכרזה שמתאימה לחישוב] .כלומר מכינים הכרזה A ובה כל המספרים l ∈ Nכך שבמהלך החישוב ) Te n−1 (kפנתה לאוב ושאלה ״האם l ∈ An−1״ וקיבלה תשובה שלילית[. טענה 24.1הקבוצה Aשנקבל בסוף הבניה עונה על כל התנאים .1e , 2e,k הוכחה :נניח שיש לנו תנאי .1eiאם בשלב כלשהו הכנסו ל־ Aמספר kמ־ Riזה אומר שמצאנו ש־ Tei (k) = 0והכנסנו את kל־ Aולכן χA (k) = 1ואנחנו בסדר. אז נניח שאין k ∈ Riשהוכנס ל־ .Aנבחר k ∈ Riגדול מספיק כדי ש־ kאינו מופיע באף 2e,k־ הכרזה עם אינדקס קטן מהאינדקס של .1ei מדוע יש kכזה? נשים לב שאם nהוא האינדקס של 2e,lאז כל תנאי עם אינדקס m < nיכול ״לפצוע״ הכרזה של nלכל היותר פעם אחת .אם התנאי עם אינדקס nפצע הכרזה כלשהי ז״א שהתנאי הכניס איבר כלשהו ל־ Aולפי ) (1של מקרה א׳ לעולם לא נחזור לטפל בתנאי עם אינדקס .nבסה״כ את ה־ 2e,lהכרזות ניתן ״לפצוע״ לכל היותר nפעמים. לכן יש לכל היותר n + 1הכרזות .2e,lבסה״כ לכל תנאי שהוא יש לכל היותר מספר סופי של הכרזות של תנאים עם אינדקס קטן יותר .לכן יש kכמו שאנחנו רוצים ועבור kכזה לא ייתכן ש־ .Tei (k) = 0מדוע? אילו זה היה מתקיים לפי מקרה )א׳ (2היינו מכניסים את kל־ Aבסתירה להנחה .לכן על התנאים 1eמתקיימים. מה בקשר לתנאים ? 2e,kנאמר ש־ 2e,kהכרזה היא קבועה אם היא זרה ל־ .Aנראה ש־) TeA (kעוצרת אם ורק אם קיימת 2e,kהכרזה קבועה. An−1 Teעצרה )אחרי אם קיימת 2e,kהכרזה קבועה ז״א שקיים איזה שלב nבבניה שבו A nצעדים( ויצרה את ההכרזה .כיוון שההכרזה קבועה ,לכל r ∈ Nכך ש־ Te n−1פנתה לאוב בשאלה ״האם ?r ∈ An−1״ האוב Aיחזיר את אותה התשובה .לכן לפי עקרון השימוש ) TeA (kעוצרת. A בכיוון השני אם ) Te (kעוצרת )נאמר אחרי nצעדים( אז לכל ciכך שהתנאי ב־ ciהוא 2e,kו־ ,i > nהבניה במקרה ב׳ תייצר 2e,k־ הכרזה) .ובתנאי שבשלב ה־ iכבר נכנסו ל־A כל האיברים שבהם נעשה שימוש חיובי בחישוב של ).TeA (k אבל מהדיון הקודם ,כל תנאי יכול לייצר לכל היותר מספר סופי של הכרזות .אז האחרונה מביניהן שהכרח לא תשתנה ,ז״א תהיה קבועה. עד עתה :בנינו את ,Aהראנו ש־ Aמקיימת את התנאים 1eואת ) 2e,kלפי א׳ הנ״ל( וברור שהבניה חשיבה .כיוון ש־ Aמקיימת את 1eלכל ,eברור ש־ Aאינה חשיבה .כיוון שהבניה חשיבה ,אם נגדיר ) s(nלהיות הקבוצה Anשהתקבלה בשלב ה־ nשל הבנייה נקבל ש־ Aנל״ח ,כי ) s(nחשיבה. נותר לוודא ש־ .deg(A∗ ) ≤ 0ראינו בתרגיל 11טענה שאומרת שאם ) A∗ = dim(Bi עבור i ∈ Nכך ש־ Biחשיבה מ־ Aאז .deg(A∗ ) ≤ 00נגדיר he, ki ∈ Biאם ורק אם בשלב ה־ iשל הבנייה יש 2e,k־ הכרזה שאיננה פצועה .כיוון שהבניה חשיבה Biיחס חשיב .לפי )א( הנ״ל ) TeA (k)( ⇐⇒ he, ki ∈ Biעוצרת אם ורק אם .dimχBi (he, ki) = 1 51 משפט 24.2לכל דרגה 00 ≤ aקיימת דרגה bכך ש־.b0 = 00 ∪ b = a רעיון ההוכחה :נבחר g : N → Nכך ש־ ,deg(g) = aאפשר לבחור gכזו שלמה .נרצה לבנות f : N → Nכך ש־ ∗ fחשיבה מ־) 00 ∪ deg(fו־ gחשיבה מ־ ∗ .f נרצה להגשים שני סוגים תנאים: • 1e,k־ להחליט האם ) Tef (kעוצרת • 2n־ לוודא ש־) f (m) = g(nלאיזה .m ∈ N כרגיל נמספר את התנאים } ,{ciובשלב ה־ iאם אנו בתנאי 1e,kויש σ : N → Nסופית שמתיישבת עם fi−1כך ש־) Teσ (kעוצרת ,נגדיר fi = fi−1 ∪ σואחרת נגדיר .fi = fi−1 ואם בשלב ה־ iאנו בתנאי 2nאז נבחר mמזערי כך שאינו בתחום של fi−1ונגדיר ) .fi (m) = g(nלסיכום :יוצא שהבניה חשיבה מ־ 00 ∪ a = aוחשיבה גם מ־.00 ∪ b הוכחה :תהי gכנ״ל ונמצא פונקציה fכך ש־) deg(fתענה על הדרישות. b ∪ b0 ≤ b0ולכן יספיק למצוא bכך ש־ .b0 ≤ a ≤ bמזה נבטיח שיש שיוויונות לכל אורך הדרך .אז צריך למצוא bכך ש־ b0חשיבה מ־ bומ־ .00 ∞ כרגיל נמספר את התנאים )כולם ביחד( במספור חשיב {ei }i=0ונניח שלכל i ≤ nבנינו פונקציה ) fiעם תחום סופי( כך ש־ fi ⊆ fjאם .i ≤ j בניית :fn+1 • אם en+1הוא תנאי מסוג :1e,kנבדוק האם יש σסופית שמתיישבת עם fnכך ש־) Teσ (kעוצרת .אם כן ,נגדיר fn+1 = fn ∪ σאחרת נגדיר .fn+1 = fn • אם en+1הוא תנאי מסוג 2kאז נמצא mמזערי שאיננו בתחום של fnונגדיר ∞ [ .fn+1 = fn ∪ hm, g(k)iנגדיר fi = fואז fפונקציה שלמה. i=0 כדי לממש את הבניה: • אם אנחנו בתנאי 1e,kצריך לדעת האם קיים σכזה .כדי לענות על השאלה הזו אנו יכולים מ־ .00 • אם אנחנו בתנאי מסוג ,2kאין בעיה למצוא את .mכל מה שצריך זה לחשב את ) g(kואת זה אפשר לעשות מ־.g נשאר להראות כי את b0ניתן לחשב מ־ bומ־ 00אבל ) ∗ b0 = deg(fו־ ∗ fזהו האוב שעונה לכל שאלה מהצורה ״האם ) Tef (kעוצרת?״ .ראשית אם אנו יודעים את הבניה של t אז אנו יודעים לענות על כל השאלות מהצורה הנ״ל .אבל הבניה חשיבה גם מ־ 00וגם מ־ b0 )ביחד( ולכן b0 ≤ b ∪ 00כנדרש. מסקנה 24.3הפונקציה a → a0איננה חח״ע. 52
© Copyright 2025