Pokażemy, że 3SAT <_p STASI.
Liczba k w STASI to liczba zmiennych w formule.
Tworzymy graf:
Rozstawiamy agentów po wierzchołkach p_i albo \neg p_i. Agent na literale oznacza wartość True.
Co się stanie, jak ustawimy agenta gdzieś indziej?
Co się dzieje, jak agenci są na wierzchołkach p_i albo \neg p_i?
(\Rightarrow) Skoro \phi jest spełnialna, to istnieje takie wartościowanie \sigma, że \hat{\sigma}(\phi) = \top.
W grafie f(\phi) możemy rozstawić k agentów po wierzchołkach p_i oraz \neg p_i tak, że jeżeli p_i jest prawdziwe w \sigma, to stawiamy tam agenta,
w przeciwnym wypadku stawiamy agenta na \neg p_i. Widać, że każde q_i, p_i, \neg p_i będzie nadzorowane, oraz każdy wierzchołek odpowiadający klauzuli również będzie nadzorowany,
bo przy tym wartościowaniu była ona prawdziwa w \phi.
(\Leftarrow) Skoro f(\phi) ma dobre rozstawienie, to znaczy, że dla każdego i agent stoi na jednym z \{p_i, q_i, \neg p_i\}.
Skonstruujemy wartosciowanie \sigma tak, że jeżeli agent stoi na p_i lub q_i, to \sigma(p_i)=\top, a w przeciwnym przypadku \sigma(p_i)=\bot.
Widać teraz, że dla takiego wartościowania \phi jest prawdziwa, bo każda klauzula jest nadzorowana,
czyli w każdej klauzuli co najmniej jeden literał jest prawdziwy.