Кіріспе
Жасырын түрлендіру шектеуді қанағаттандыру мәселесін осылай өзгертеді, яғни барлық шектеулердің ең көп дегенде екі айнымалысы болады. Жаңа мәселе қанағаттандырылатын болады, егер және ғана егер бастапқы мәселе қанағаттандырылса, ал шешімдерді бір мәселеден екіншісіне оңай түрлендіруге болады. Шектеуді қанағаттандыру үшін бірнеше алгоритмдер бар, олар ең көп дегенде екі айнымалысы бар шектеулермен ғана жұмыс істейді. Егер мәселеде үлкен ариттігі (айнымалылар саны) бар шектеулер болса, оларды бинарлық шектеулерден тұратын мәселеге түрлендіру осы алгоритмдерді қолдануға мүмкіндік береді. Бір, екі немесе одан көп айнымалысы бар шектеулер тиісінше, унитарлық, бинарлық немесе жоғары реттік шектеулер деп аталады. Шектеудегі айнымалылар саны оның ариттігі деп аталады. Жасырын түрлендіру кез келген шектеуді қанағаттандыру мәселесін бинарлық мәселеге айналдырады. Бұл түрлендіру екілік мәселені жасайтын түрлендіруге ұқсас. Мәселеге жаңа айнымалылар қосылады, бастапқы мәселенің әрбір шектеуі үшін біреуден. Әрбір мұндай айнымалының домені – тиісті шектеуді қанағаттандыратын туплдар жиыны. Жаңа мәселенің шектеулері бастапқы айнымалылардың мәндерін жаңа айнымалылардың мәндерімен сәйкес болуға мәжбүрлейді. Мысалы, егер жаңа айнымалылар ескі шектеуге сәйкес келіп, және мәндерін қабылдаса, екі жаңа шектеу қосылады: біріншісі егер мәні болса , ал екіншісі егер мәні болса , сондай-ақ керісінше. Екінші шарт өзгермеліге ұқсас шартты қолданады. Бұл түрлендірудің нәтижесін көрсететін граф екі бөлікті, өйткені барлық шектеулер жаңа және ескі айнымалылар арасында орналасқан. Сонымен қатар, шектеулер функционалды: жаңа айнымалының кез келген берілген мәні үшін, ескі айнымалының тек бір ғана мәні шектеуді қанағаттандыра алады.
The graph representing the result of this transformation is bipartite, as all constraints are between a new and an old variable. Moreover, the constraints are functional: for any given value of a new variable, only one value of the old variable may satisfy the constraint.