נניח שקיימת U^⊆V^ שולטת ב-G^ עם ∣U^∣≤k.
כאן אי אפשר לקחת את U^ כמו שהיא — היא אולי מכילה קודקודים חדשים, ולכן אינה מוכלת ב-V ובוודאי אינה כיסוי של G. נבנה ממנה U⊆V:
> לכל x∈U^: אם x∈V — נכניס את x ל-U; אם x∈/V — נכניס אחד משכניו (לפי כלל שרירותי קבוע; הבחירה אינה משנה).
U⊆V: לכל x∈U^∖V שני שכניו ב-V, ובמקרה הראשון הכנסנו x∈V עצמו.
גודל: לכל איבר של U^ הכנסנו לכל היותר איבר אחד, ולכן ∣U∣≤∣U^∣≤k. (ייתכן שהכנסנו את אותו קודקוד פעמיים ואז ∣U∣ קטן ממש — רק לטובתנו, כי דרוש חסם עליון.)
U כיסוי בקודקודים של G: תהי xy∈E ונניח x∈/U; נראה y∈U.
ראשית, x∈/U יחד עם x∈V גורר x∈/U^ — אילו היה x∈U^, הבנייה הייתה מכניסה אותו ל-U.
כעת נתבונן ב-vxy∈V^; הוא קיים, כי xy∈E ולכן שלב 1 יצר אותו. U^ שולטת, ולכן vxy∈U^ או שקיים שכן שלו ב-U^.
מקרה 1: vxy∈U^. אז בבניית U הכנסנו אחד משכניו — את x או את y. מכיוון ש-x∈/U, בהכרח הכנסנו את y, ולכן y∈U.
מקרה 2: קיים שכן של vxy ב-U^. שכניו הם בדיוק x ו-y, ושניהם ב-V. מכיוון ש-x∈/U^, בהכרח y∈U^; ומכיוון ש-y∈V, הבנייה הכניסה את y עצמו ל-U.
בשני המקרים y∈U, ולכן xy∩U=∅. מכיוון ש-xy שרירותית, U כיסוי בגודל ≤k, כלומר ⟨G,k⟩∈VC.