נניח ⟨G,m⟩∈IS, ותהי U קבוצה בלתי תלויה בגודל m.
צעד 1 — בדיוק קודקוד אחד לכל פסוקית. קודקודי כל פסוקית יוצרים קליקה, ולכן U מכילה לכל היותר קודקוד אחד מכל פסוקית. יש m פסוקיות ו-∣U∣=m, ולכן U מכילה בדיוק אחד מכל פסוקית. נסמן אותו uj, ואת ההשמה החלקית שלו σj.
צעד 2 — ההשמות עקביות. לכל j=j′ הקודקודים uj,uj′ אינם מחוברים (כי U בלתי תלויה), ולכן לפי הבנייה σj ו-σj′ אינן סותרות: כל משתנה המופיע בשתיהן מקבל בהן אותו ערך.
צעד 3 — הרכבת ההשמה. נגדיר השמה מלאה v: אם משתנה x מופיע באיזשהו σj, נקבע v(x)=σj(x) — לפי צעד 2 ההגדרה אינה תלויה בבחירת j ולכן מוגדרת היטב; אם x אינו מופיע באף σj, נקבע v(x)=0 שרירותית.
צעד 4 — v מספקת. תהי Cj פסוקית. ההשמה σj מספקת אותה לפי הבנייה, ו-v מסכימה עם σj על כל משתני Cj, ולכן v מספקת את Cj. מכיוון ש-j שרירותי, v מספקת את φ, כלומר φ∈3SAT.