mirror of
https://github.com/Z3Prover/z3
synced 2025-06-22 05:43:39 +00:00
fast path for antecedent extraction in smt_context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ceb3f0c869
commit
8221a09659
11 changed files with 237 additions and 0 deletions
|
@ -1322,6 +1322,7 @@ namespace smt {
|
|||
virtual void setup_context(bool use_static_features);
|
||||
void setup_components(void);
|
||||
void pop_to_base_lvl();
|
||||
void pop_to_search_lvl();
|
||||
#ifdef Z3DEBUG
|
||||
bool already_internalized_theory(theory * th) const;
|
||||
bool already_internalized_theory_core(theory * th, expr_ref_vector const & s) const;
|
||||
|
@ -1343,6 +1344,11 @@ namespace smt {
|
|||
literal lit, context& src_ctx, context& dst_ctx,
|
||||
vector<bool_var> b2v, ast_translation& tr);
|
||||
|
||||
u_map<uint_set> m_antecedents;
|
||||
void extract_fixed_consequences(unsigned idx, obj_map<expr, expr*>& vars, obj_hashtable<expr> const& assumptions, expr_ref_vector& conseq);
|
||||
|
||||
expr_ref antecedent2fml(uint_set const& ante);
|
||||
|
||||
|
||||
public:
|
||||
context(ast_manager & m, smt_params & fp, params_ref const & p = params_ref());
|
||||
|
@ -1382,6 +1388,8 @@ namespace smt {
|
|||
void pop(unsigned num_scopes);
|
||||
|
||||
lbool check(unsigned num_assumptions = 0, expr * const * assumptions = 0, bool reset_cancel = true);
|
||||
|
||||
lbool get_consequences(expr_ref_vector const& assumptions, expr_ref_vector const& vars, expr_ref_vector& conseq);
|
||||
|
||||
lbool setup_and_check(bool reset_cancel = true);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue