Ну... Это уж слишком абстратно. Любой алгоритм так можно описать :)
Ну хорошо, вот Вам конкретика. Обходим программу, получаем множество переменных — live ranges. Далее строим формулу для SMT-решателя в духе r1 != r2, r2 != r3... Так более конкретно? Понятно ли, что можно раскрасить граф таким образом? ;)