3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-12 06:00:53 +00:00

split into seq_axioms and seq_skolem

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-17 06:14:52 -07:00
parent d5eef9dd8b
commit 501aa7927d
10 changed files with 1064 additions and 860 deletions

View file

@ -129,6 +129,24 @@ namespace smt {
return ctx.get_literal(eq);
}
literal theory::mk_preferred_eq(expr* a, expr* b) {
context& ctx = get_context();
ctx.assume_eq(ensure_enode(a), ensure_enode(b));
literal lit = mk_eq(a, b, false);
ctx.force_phase(lit);
return lit;
}
enode* theory::ensure_enode(expr* e) {
context& ctx = get_context();
if (!ctx.e_internalized(e)) {
ctx.internalize(e, false);
}
enode* n = ctx.get_enode(e);
ctx.mark_as_relevant(n);
return n;
}
theory::theory(family_id fid):
m_id(fid),
m_context(nullptr),