diff options
author | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-06-12 19:09:39 +0000 |
---|---|---|
committer | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2012-06-12 19:09:39 +0000 |
commit | c58fa3ff70a1bb6b13ef9489159a899c4f49b004 (patch) | |
tree | 3c968ad91a35371fdd8bc77c47bc2094b017b284 /src/theory/arrays | |
parent | c5cdb4202b65d59aafa4156664400338958a3aa1 (diff) |
bufixes and the bugs
* array now only propagates thropugh the equality engine
* assertions in the equality rewriting to ensure eq -> { eq, T, F }
Diffstat (limited to 'src/theory/arrays')
-rw-r--r-- | src/theory/arrays/theory_arrays.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/theory/arrays/theory_arrays.cpp b/src/theory/arrays/theory_arrays.cpp index 0e791e39c..0cd487d32 100644 --- a/src/theory/arrays/theory_arrays.cpp +++ b/src/theory/arrays/theory_arrays.cpp @@ -719,9 +719,9 @@ void TheoryArrays::check(Effort e) { Node bk = nm->mkNode(kind::SELECT, fact[0][1], k); Node eq = d_valuation.ensureLiteral(ak.eqNode(bk)); Assert(eq.getKind() == kind::EQUAL); - d_equalityEngine.assertEquality(eq, false, fact); - propagate(eq.notNode()); - Trace("arrays-lem")<<"Arrays::addExtLemma "<< ak << " /= " << bk <<"\n"; + Node lemma = fact[0].orNode(eq.notNode()); + Trace("arrays-lem")<<"Arrays::addExtLemma " << lemma <<"\n"; + d_out->lemma(lemma); ++d_numExt; } } |