3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-19 10:52:02 +00:00

first eufi example running

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-06-11 23:28:50 -07:00 committed by Arie Gurfinkel
parent 2288931b46
commit 74621e0b7d
26 changed files with 80 additions and 105 deletions

View file

@ -701,7 +701,7 @@ namespace qe {
}
void solve() {
ptr_vector<term> worklist;
ptr_vector<term> worklist;
for (term * t : m_tg.m_terms) {
// skip pure terms
if (m_term2app.contains(t->get_id())) continue;
@ -785,8 +785,7 @@ namespace qe {
do {
expr* member = mk_pure(*r);
SASSERT(member);
if (!members.contains(member) &&
(!is_projected(*r) || !is_solved_eq(rep, member))) {
if (!members.contains(member) && (!is_projected(*r) || !is_solved_eq(rep, member))) {
res.push_back(m.mk_eq(rep, member));
members.insert(member);
}
@ -814,6 +813,7 @@ namespace qe {
return mk_equalities(false, res);
}
// TBD: generalize for also the case of a (:var n)
bool is_solved_eq(expr *_lhs, expr* _rhs) {
if (!is_app(_lhs) || !is_app(_rhs)) return false;
app *lhs, *rhs;