#include "satencoder.h"
#include "sattranslator.h"
#include "tunable.h"
-#include "orderencoder.h"
#include "polarityassignment.h"
-#include "asttransform.h"
+#include "orderdecompose.h"
CSolver::CSolver() : unsat(false) {
tuner = allocTuner();
}
Boolean *CSolver::applyPredicateTable(Predicate *predicate, Element **inputs, uint numInputs, Boolean *undefinedStatus) {
- Boolean *boolean = new BooleanPredicate(predicate, inputs, numInputs, undefinedStatus);
+ BooleanPredicate *boolean = new BooleanPredicate(predicate, inputs, numInputs, undefinedStatus);
allBooleans.push(boolean);
return boolean;
}
int CSolver::startEncoding() {
computePolarities(this);
- ASTTransform(this);
- naiveEncodingDecision(this);
orderAnalysis(this);
+ naiveEncodingDecision(this);
encodeAllSATEncoder(this, satEncoder);
int result = solveCNF(satEncoder->cnf);
model_print("sat_solver's result:%d\tsolutionSize=%d\n", result, satEncoder->cnf->solver->solutionsize);