3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 19:47:52 +00:00

finish front-matter

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-10-05 17:14:03 -07:00
parent fa58a36b9f
commit 1131fedb23
2 changed files with 62 additions and 24 deletions

View file

@ -29,12 +29,11 @@ namespace q {
class solver : public euf::th_euf_solver {
typedef obj_map<quantifier, sat::literal> skolem_table;
typedef obj_map<quantifier, quantifier*> flat_table;
friend class mbqi;
struct stats {
unsigned m_num_inst;
unsigned m_num_quantifier_asserts;
void reset() { memset(this, 0, sizeof(*this)); }
stats() { reset(); }
};
@ -42,12 +41,15 @@ namespace q {
stats m_stats;
mbqi m_mbqi;
skolem_table m_skolems;
flat_table m_flat;
sat::literal_vector m_universal;
obj_map<sort, expr*> m_unit_table;
sat::literal instantiate(quantifier* q, std::function<expr* (quantifier*, unsigned)>& mk_var);
sat::literal skolemize(quantifier* q);
sat::literal uskolemize(quantifier* q);
sat::literal specialize(quantifier* q);
void init_units();
expr* get_unit(sort* s);
public: