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)
Exemple #2
0
 def test_quick_check_pushes_and_pops(self):
     self.assertTrue(solver.check())
     self.assertFalse(solver.quick_check(z3False))
     self.assertTrue(solver.check())
 def assertUnsat(self, pred):
     asserted = pred._assert(self.submodel, self.interpretation)
     check = solver.quick_check(asserted)
     self.assertFalse(check)
Exemple #4
0
 def test_quick_check_true(self):
     self.assertTrue(solver.quick_check(z3True))
Exemple #5
0
 def test_quick_check_false(self):
     self.assertFalse(solver.quick_check(z3False))
Exemple #6
0
 def check_sat(self):
     # returns a boolean
     return solver.quick_check(self.get_predicate())
Exemple #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)
Exemple #8
0
 def test_quick_check_pushes_and_pops(self):
     self.assertTrue(solver.check())
     self.assertFalse(solver.quick_check(z3False))
     self.assertTrue(solver.check())
Exemple #9
0
 def test_quick_check_false(self):
     self.assertFalse(solver.quick_check(z3False))
Exemple #10
0
 def test_quick_check_true(self):
     self.assertTrue(solver.quick_check(z3True))
Exemple #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)
Exemple #12
0
 def check_sat(self):
     # returns a boolean
     return solver.quick_check(self.get_predicate())