50 std::string cnf_file=
"cnf.dimacs";
51 std::string core_file=
"unsat_core.cnf";
52 std::string trace_file=
"resolve_trace";
53 std::string output_file=
"cnf.out";
56 std::ofstream out(cnf_file.c_str(), std::ios::out);
61 system(std::string(
"zchaff_verify "+cnf_file+
" > "+output_file).c_str());
65 std::string(
"zcore "+cnf_file+
" "+trace_file+
" >> "+output_file).c_str());
71 std::ifstream in(core_file.c_str());
76 if(!std::getline(in, line))
79 if(!(line.substr(0, 1)==
"c" || line.substr(0, 1)==
"p"))
81 const char *p=line.c_str();
85 int l=unsafe_str2int(p);
95 const char *q=
strchr(p,
' ');
108 remove(cnf_file.c_str());
110 remove(trace_file.c_str());
113 return P_UNSATISFIABLE;
size_t no_clauses() const override
virtual size_t no_variables() const override
virtual void write_dimacs_cnf(std::ostream &out) const
mstreamt & statistics() const
resultt do_prop_solve(const bvt &assumptions) override
tvt l_get(literalt a) const override
virtual ~satcheck_zcoret()
std::set< unsigned > in_core
std::string solver_text() const override
std::vector< literalt > bvt
#define UNREACHABLE
This should be used to mark dead code.
#define PRECONDITION(CONDITION)
char * strchr(const char *src, int c)
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.