mirror of
https://github.com/Z3Prover/z3
synced 2025-04-06 01:24:08 +00:00
47 lines
809 B
C++
47 lines
809 B
C++
/*++
|
|
Copyright (c) 2020 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
q_model_finder.h
|
|
|
|
Abstract:
|
|
|
|
Model-based quantifier instantiation model-finder plugin
|
|
|
|
Author:
|
|
|
|
Nikolaj Bjorner (nbjorner) 2020-09-29
|
|
|
|
Notes:
|
|
|
|
Derives from smt/smt_model_finder.cpp
|
|
|
|
--*/
|
|
#pragma once
|
|
|
|
#include "sat/smt/sat_th.h"
|
|
#include "solver/solver.h"
|
|
|
|
namespace euf {
|
|
class solver;
|
|
}
|
|
|
|
namespace q {
|
|
|
|
class model_finder {
|
|
euf::solver& ctx;
|
|
ast_manager& m;
|
|
|
|
public:
|
|
|
|
model_finder(euf::solver& ctx);
|
|
|
|
expr_ref inv_term(model& mdl, quantifier* q, unsigned idx, expr* value, unsigned& generation);
|
|
|
|
void restrict_instantiations(::solver& s, model& mdl, quantifier* q, expr_ref_vector const& vars);
|
|
|
|
};
|
|
|
|
}
|