3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-09-16 13:14:41 -07:00
parent 98dfd82765
commit 2b35f1a924

View file

@ -380,7 +380,7 @@ class QGoal:
self.parent = parent self.parent = parent
self.must = must self.must = must
class Quipie(MiniIC3): class Quip(MiniIC3):
# prev & tras -> r', such that r' intersects with cube # prev & tras -> r', such that r' intersects with cube
def add_reachable(self, prev, cube): def add_reachable(self, prev, cube):
@ -391,14 +391,13 @@ class Quipie(MiniIC3):
is_sat = s.check() is_sat = s.check()
assert is_sat == sat assert is_sat == sat
m = s.model(); m = s.model();
result = [self.prev(lit) for lit in cube if is_true(m.eval(lit))] result = self.values2literals(m, cube)
# ? result = self.values2literals(m, cube)
assert result assert result
self.reachable.add(result) self.reachable.add(result)
# A state s0 and level f0 such that # A state s0 and level f0 such that
# not(s0) is f0-1 inductive # not(s0) is f0-1 inductive
def quipie_blocked(self, s0, f0): def quip_blocked(self, s0, f0):
self.push_heap(QGoal(self.next(s0), None, f0, must)) self.push_heap(QGoal(self.next(s0), None, f0, must))
while self.goals: while self.goals:
f, g = heapq.heappop(self.goals) f, g = heapq.heappop(self.goals)