mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
convert reduce-args to a simplifier
- convert reduce-args to a simplifier. Currently exposed as reduce-args2 tactic until the old tactic code gets removed. - bug fixes in model_reconstruction trail - allow multiple defs to be added with same pool of removed formulas - fix tracking of function symbols instead of expressions to filter replay - add nla_divisions to track (cheap) divisibility lemmas. -
This commit is contained in:
parent
246d6f7b77
commit
8ea49eed8e
23 changed files with 740 additions and 92 deletions
|
@ -211,6 +211,22 @@ public:
|
|||
|
||||
bool contains(const bit_vector & other) const;
|
||||
|
||||
class iterator {
|
||||
bit_vector const& b;
|
||||
unsigned m_curr;
|
||||
public:
|
||||
iterator(bit_vector const& b, unsigned i) : b(b), m_curr(i) {}
|
||||
bool operator*(unsigned i) const { return b.get(m_curr); }
|
||||
bool operator*() const { return b.get(m_curr); }
|
||||
iterator& operator++() { ++m_curr; return *this; }
|
||||
iterator operator++(int) { iterator tmp = *this; ++* this; return tmp; }
|
||||
bool operator==(iterator const& it) const { return m_curr == it.m_curr; }
|
||||
bool operator!=(iterator const& it) const { return m_curr != it.m_curr; }
|
||||
};
|
||||
|
||||
iterator begin() const { return iterator(*this, 0); }
|
||||
iterator end() const { return iterator(*this, size()); }
|
||||
|
||||
};
|
||||
|
||||
inline std::ostream & operator<<(std::ostream & out, bit_vector const & b) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue