mirror of
https://github.com/Z3Prover/z3
synced 2025-06-22 05:43:39 +00:00
introduce notion of beta redex to deal with lambdas in non-extensional positions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
b9b5377c69
commit
8efa3c8ade
10 changed files with 65 additions and 51 deletions
|
@ -773,7 +773,12 @@ namespace smt {
|
|||
|
||||
void internalize_quantifier(quantifier * q, bool gate_ctx);
|
||||
|
||||
obj_hashtable<quantifier> m_lambdas, m_non_lambdas;
|
||||
obj_map<enode, quantifier*> m_lambdas;
|
||||
|
||||
bool has_lambda();
|
||||
|
||||
bool is_beta_redex(enode* p, enode* n) const;
|
||||
|
||||
void internalize_lambda(quantifier * q);
|
||||
|
||||
void internalize_formula_core(app * n, bool gate_ctx);
|
||||
|
@ -783,8 +788,6 @@ namespace smt {
|
|||
friend class set_enode_flag_trail;
|
||||
|
||||
public:
|
||||
|
||||
void add_non_lambda(quantifier* q);
|
||||
|
||||
void set_enode_flag(bool_var v, bool is_new_var);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue