3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-28 08:58:44 +00:00

recursive function definitions; combine model-building functionality

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-03-03 07:59:03 -08:00
parent 6fa2338edc
commit 7c6540e18f
19 changed files with 129 additions and 173 deletions

View file

@ -36,8 +36,8 @@ protected:
ptr_vector<func_decl> m_func_decls;
public:
model_core(ast_manager & m):m_manager(m), m_ref_count(0) {}
virtual ~model_core() {}
model_core(ast_manager & m):m_manager(m), m_ref_count(0) { }
virtual ~model_core();
ast_manager & get_manager() const { return m_manager; }
@ -58,6 +58,11 @@ public:
virtual unsigned get_num_uninterpreted_sorts() const = 0;
virtual sort * get_uninterpreted_sort(unsigned idx) const = 0;
void register_decl(func_decl * d, expr * v);
void register_decl(func_decl * f, func_interp * fi);
virtual expr * get_some_value(sort * s) = 0;
//
// Reference counting
//
@ -68,6 +73,7 @@ public:
dealloc(this);
}
}
};
#endif