24 std::vector<bool> quantified;
28 for(quantifierst::const_iterator
41 quantified[quantifier.
var_no]=
true;
43 switch(quantifier.
type)
57 out <<
" " << quantifier.
var_no <<
" 0\n";
65 out <<
"e " << i <<
" 0\n";
94 for(quantifierst::const_iterator
100 for(clausest::const_iterator
111 for(quantifierst::const_iterator it=
quantifiers.begin();
114 result=((result<<1)^it->hash())-result;
121 for(quantifierst::const_iterator it=
quantifiers.begin();
124 if(it->var_no==l.
var_no())
132 for(quantifierst::const_iterator it=
quantifiers.begin();
135 if(it->var_no==l.
var_no())
void lcnf(const bvt &bv) override
virtual void set_no_variables(size_t no)
virtual size_t no_variables() const override
void write_clauses(std::ostream &out) const
void write_problem_line(std::ostream &out) const
virtual void add_quantifier(const quantifiert &quantifier)
bool find_quantifier(const literalt l, quantifiert &q) const
void write_prefix(std::ostream &out) const
virtual void write_qdimacs_cnf(std::ostream &out)
virtual void set_quantifier(const quantifiert::typet type, const literalt l)
bool operator==(const qdimacs_cnft &other) const
void copy_to(qdimacs_cnft &cnf) const
bool is_quantified(const literalt l) const
#define UNREACHABLE
This should be used to mark dead code.
#define INVARIANT_WITH_DIAGNOSTICS(CONDITION, REASON,...)
Same as invariant, with one or more diagnostics attached Diagnostics can be of any type that has a sp...
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.