mirror of
https://github.com/Z3Prover/z3
synced 2025-08-08 12:11:23 +00:00
arrays (#4684)
* arrays Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * arrays Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * arrays Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fill Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * update drat and fix euf bugs Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * const qualifiers Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * reorg ba Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * reorg Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * build warnings Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d56dd1db7b
commit
796e2fd9eb
79 changed files with 2571 additions and 1850 deletions
|
@ -53,23 +53,27 @@ namespace dimacs {
|
|||
};
|
||||
|
||||
struct drat_record {
|
||||
enum tag_t { is_clause, is_node, is_bool_def };
|
||||
tag_t m_tag;
|
||||
enum class tag_t { is_clause, is_node, is_bool_def };
|
||||
tag_t m_tag{ tag_t::is_clause };
|
||||
// a clause populates m_lits and m_status
|
||||
// a node populates m_node_id, m_name, m_args
|
||||
// a bool def populates m_node_id and one element in m_args
|
||||
sat::literal_vector m_lits;
|
||||
sat::status m_status;
|
||||
unsigned m_node_id;
|
||||
sat::status m_status{ sat::status::redundant() };
|
||||
unsigned m_node_id{ 0 };
|
||||
std::string m_name;
|
||||
unsigned_vector m_args;
|
||||
drat_record():
|
||||
m_tag(is_clause),
|
||||
m_status(sat::status::redundant())
|
||||
{}
|
||||
drat_record() {}
|
||||
};
|
||||
|
||||
struct drat_pp {
|
||||
drat_record const& r;
|
||||
std::function<symbol(int)>& th;
|
||||
drat_pp(drat_record const& r, std::function<symbol(int)>& th) : r(r), th(th) {}
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& out, drat_record const& r);
|
||||
std::ostream& operator<<(std::ostream& out, drat_pp const& r);
|
||||
|
||||
class drat_parser {
|
||||
dimacs::stream_buffer in;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue