Ejemplo n.º 1
0
 def test_named_still_sat(self):
     v = datatypes.new_variable()
     s1 = "Same Name"
     s2 = "Same Name"
     pred1 = atomic_predicate.Named(v, s1)
     pred2 = atomic_predicate.Named(v, s2)
     status = solver.quick_check(
         z3.And(pred1._assert(self.submodel, self.interpretation),
                pred2._assert(self.submodel, self.interpretation)))
     self.assertTrue(status)
Ejemplo n.º 2
0
 def test_quick_check_pushes_and_pops(self):
     self.assertTrue(solver.check())
     self.assertFalse(solver.quick_check(z3False))
     self.assertTrue(solver.check())
Ejemplo n.º 3
0
 def assertUnsat(self, pred):
     asserted = pred._assert(self.submodel, self.interpretation)
     check = solver.quick_check(asserted)
     self.assertFalse(check)
Ejemplo n.º 4
0
 def test_quick_check_true(self):
     self.assertTrue(solver.quick_check(z3True))
Ejemplo n.º 5
0
 def test_quick_check_false(self):
     self.assertFalse(solver.quick_check(z3False))
Ejemplo n.º 6
0
 def check_sat(self):
     # returns a boolean
     return solver.quick_check(self.get_predicate())
Ejemplo n.º 7
0
 def check_implies(self, other_predicate):
     # check that this predicate implies other_predicate
     p1 = self.get_predicate()
     p2 = other_predicate.get_predicate()
     pred = z3.Implies(p1, p2)
     return solver.quick_check(pred)
Ejemplo n.º 8
0
 def test_quick_check_pushes_and_pops(self):
     self.assertTrue(solver.check())
     self.assertFalse(solver.quick_check(z3False))
     self.assertTrue(solver.check())
Ejemplo n.º 9
0
 def test_quick_check_false(self):
     self.assertFalse(solver.quick_check(z3False))
Ejemplo n.º 10
0
 def test_quick_check_true(self):
     self.assertTrue(solver.quick_check(z3True))
Ejemplo n.º 11
0
 def check_implies(self, other_predicate):
     # check that this predicate implies other_predicate
     p1 = self.get_predicate()
     p2 = other_predicate.get_predicate()
     pred = z3.Implies(p1, p2)
     return solver.quick_check(pred)
Ejemplo n.º 12
0
 def check_sat(self):
     # returns a boolean
     return solver.quick_check(self.get_predicate())