#pragma once #include #include "Allocate.h" #include "CNF.h" class Clause { public: enum class TYPE { UNIT = 0, AND = 1, OR = 2, }; std::vector vec; TYPE type; bool positive; Clause(): type() { positive = true; } void mergeIntoUNIT() { if(type == TYPE::UNIT) return; int newId = IDManager::allocate(); std::string output = "MAP: "; for(int i=0; i