:
ראשית , תהי , אזי
לכן, קיימת רדוקציית קוק מ ל לפי הגדרת בעיה -קשה* . כמו כן תמיד קיימת רידוקצית קוק מ ל .
סה״כ מטרנזיטיביות הרדוקציות נקבל שקיימת רדוקציית קוק מ ל .
כעת נוכל לבנות ל מוודא פולינומי (כדי להוכיח שהוא אכן ב ) שאינטואיטיבית יהיה דומה לפעולת רדוקציית הקוק מבלי להחשיב את הקריאות למכונת אורקל שפותרת את , כי אין לו גישה אליה, במקום זאת, נסמלץ אותן באופן מלאכותי ובכל מקום שקראנו לאורקל והוא החזיר תשובה חיובית, כיוון ש , במקום להחזיר רק תשובה חיובית, נחזיר גם עד מתאים ובאופן דומה אם החזיר תשובה שלילית נחזיר גם עד מתאים ומובטח שהוא קיים כי .
אם כן, המוודא יקבל עדות המורכבת מאוסף שלשות מהצורה
כאשר היא שאלה מספר שמכונת הרדוקצייה מ ל הפעילה לאורקל. היא תשובה לשאלה היא עדות פולינומית לכל ש היא אכן תשובת המכונה ל .
כלומר אם אז תהיה עדות לכל ש ואם אז תהיה עדות לכך ש
תיאור המוודא: יריץ את מכונת האורקל מ ל () , אך יחליף כל פנייה ל בשימוש בתשובה שהתקבלה בעדות, וכן בעדות שהתקבלה שמוכיחה שהתשובה שהאורקל החזיר אכן נכונה. כלומר, לפני שימוש בתשובה להמשך הביצוע, המוודא יוודא כי התשובה אכן נכונה ועל כן יריץ בצורה נכונה את לוגיקת הרידוקציה אך ללא פנייה ל אורקל של .
אם כן, מתקיים ש אם אז יש עדות שניתן לתת ל שמתאים לריצת הרדוקצייה. ואם המוודא יחזיר לכל ריצה על הרדוקצייה שבנינו.
:
נב״ש כי , אזי קיימת , ולכן וגם . כלומר ומכיוון ש אזי ולכן בסתירה לכך ש .
טענה
אם מכילה בעיה אז
כדי להוכיח את הטענה, ראשית נשים לב כי אם אז גם כיוון ש
ולכן מספיק להראות שאם מכילה בעיה כלומר אזי
טענת עזר אם יש רדוקציית קארפ מ ל אז יש רדוקציית קארפ מ
ל .
בגלל שיש רדוקציית קארפ מ ל אז ישנה חשיבה פולינומית המקיימת
ולכן אותה תהווה רדוקציית קארפ גם עבור הבעיות המשלימות.
כעת, נחזור ל וניקח בעיה . מתקיים ש . ישנן מספר רדוקציות קארפ שאנחנו יודעים שישנן:
מ ל כי היא
מטענת העזר יש מ ל רדוקציית קארפ.
ולכן . מטענת סגירות לרדוקציית קארפ מתקיים ש ולכן הראנו שאם הנ״ל מתקיים כל בעיה שנמצאת ב נמצאת גם ב ולכן
כלומר:
משפט :
בהנחה ש אז קיימת בעיית חיפוש שאין לה רדוקצייה עצמית.
הוכחה:
תהי כלומר .
נסמן ב את הפולינומים והמוודאים של .
נגדיר את בעיות החיפוש הבאות:
מאיך שהגדרנו את בעיות החיפוש שלנו מתקיים
נגדיר כעת ונראה כי היא בעיית חיפוש ב שאין לה רדוקצייה עצמית.
: בהנתן נריץ את שתי המוודאים ואם לפחות אחד מהם החזיר נחזיר אחרת נחזיר .
נרצה כעת להראות של אין רדוקצייה עצמית, נראה כי ו ומטענה קודמת נקבל את הדרוש.
נשים לב ש
נראה אם כן ש על ידי הנחה בשלילה שהיא כן ב .
אם אז ישנו אלגוריתם פולינומי שפותר אותה כלומר בהינתן יחזור אם . בעצם מתקיים ש . נבנה אלגוריתם המכריע את
בהנתן קלט נריץ את ונבדוק האם , נוכל לעשות זאת בזמן פולינומי :
אם החזיר אז אנחנו יודעים שהוא לא ב כי הוא לא ב.
אם החזיר כלשהו פשוט נריץ את המוודא ונבדוק את התוצאה.
אם כן, אלגוריתם פולינומי המקיים
סה״כ הראנו כי ואין לו רדוקצייה עצמית.
הגדרה שקולה ל
אם קיים פולינום ומוודא פולינומי כך ש
למשל עבור המוודא יקבל נוסחה והשמה ויחזיר אמ״מ ההשמה לא מספקת.