예제 #1
0
 bool integrity_checker::check_clause(clause const & c) const {
     SASSERT(!c.was_removed());
     for (unsigned i = 0; i < c.size(); i++) {
         SASSERT(c[i].var() <= s.num_vars());
         CTRACE("sat_bug", s.was_eliminated(c[i].var()),
                tout << "l: " << c[i].var() << "\n";
                tout << "c: " << c << "\n";
                s.display(tout););
         SASSERT(!s.was_eliminated(c[i].var()));
     }
예제 #2
0
bool compareBySize(const clause &a, const clause &b)
{
	return a.size() < b.size();
}
예제 #3
0
파일: sat_bceq.cpp 프로젝트: EinNarr/z3
 void bceq::use_list::erase(clause& c) {
     unsigned sz = c.size();
     for (unsigned i = 0; i < sz; i++) {
         m_clauses[c[i].index()].erase(&c);
     }
 }
예제 #4
0
파일: sat_bceq.cpp 프로젝트: EinNarr/z3
 void bceq::use_list::insert(clause& c) {
     unsigned sz = c.size();
     for (unsigned i = 0; i < sz; i++) {
         m_clauses[c[i].index()].push_back(&c);
     }        
 }