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:
parent
d5eef9dd8b
commit
501aa7927d
10 changed files with 1064 additions and 860 deletions
|
@ -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),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue