https://123dok.net/document/yd7kr8xl-reasoning-about-np-complete-constraints.html