TODO: SAT-solver