3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-09-02 08:10:43 +00:00

log E-matching based quantifier instantiations as hints

This commit is contained in:
Nikolaj Bjorner 2022-08-31 18:59:02 -07:00
parent 6077c4154a
commit 3011b34b3b
6 changed files with 45 additions and 2 deletions

View file

@ -29,6 +29,15 @@ namespace euf {
namespace q {
struct q_proof_hint : public euf::th_proof_hint {
unsigned m_num_bindings;
euf::enode* m_bindings[0];
q_proof_hint() {}
static size_t get_obj_size(unsigned num_bindings) { return sizeof(q_proof_hint) + num_bindings*sizeof(euf::enode*); }
static q_proof_hint* mk(euf::solver& s, unsigned n, euf::enode* const* bindings);
expr* get_hint(euf::solver& s) const override;
};
class solver : public euf::th_euf_solver {
typedef obj_map<quantifier, quantifier*> flat_table;