אי שלמות ואי כריעות בשפות פורמליות ד ר אסף חסון, אוניברסיטת בן־גוריון

‫אי שלמות ואי כריעות בשפות פורמליות‬
‫ד״ר אסף חסון‪ ,‬אוניברסיטת בן־גוריון בנגב‬
‫יובל אדם‬
‫‪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‬‬