3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-04 14:26:10 +00:00

enable higher-order matching in mam/smt_quantifier

This commit is contained in:
Nikolaj Bjorner 2026-05-22 17:06:37 -07:00
parent 98d0e7f27c
commit ea0964d195
3 changed files with 162 additions and 6 deletions

View file

@ -178,8 +178,14 @@ namespace smt {
virtual void push() = 0;
virtual void pop(unsigned num_scopes) = 0;
/**
\brief Try to refine a match using higher-order matching.
Returns true if the pattern was an HO pattern and refinement was attempted.
In that case, the plugin handles adding instances via the refined bindings.
*/
virtual bool refine_instance(quantifier* q, app* pat, unsigned num_bindings, enode* const* bindings,
unsigned max_generation, unsigned min_top_generation, unsigned max_top_generation,
vector<std::tuple<enode*, enode*>>& used_enodes) { return false; }
};
};