예제 #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)
예제 #2
0
 def test_quick_check_pushes_and_pops(self):
     self.assertTrue(solver.check())
     self.assertFalse(solver.quick_check(z3False))
     self.assertTrue(solver.check())
예제 #3
0
 def assertUnsat(self, pred):
     asserted = pred._assert(self.submodel, self.interpretation)
     check = solver.quick_check(asserted)
     self.assertFalse(check)
예제 #4
0
 def test_quick_check_true(self):
     self.assertTrue(solver.quick_check(z3True))
예제 #5
0
 def test_quick_check_false(self):
     self.assertFalse(solver.quick_check(z3False))
예제 #6
0
파일: predicate.py 프로젝트: bgyori/syndra
 def check_sat(self):
     # returns a boolean
     return solver.quick_check(self.get_predicate())
예제 #7
0
파일: predicate.py 프로젝트: bgyori/syndra
 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)
예제 #8
0
 def test_quick_check_pushes_and_pops(self):
     self.assertTrue(solver.check())
     self.assertFalse(solver.quick_check(z3False))
     self.assertTrue(solver.check())
예제 #9
0
 def test_quick_check_false(self):
     self.assertFalse(solver.quick_check(z3False))
예제 #10
0
 def test_quick_check_true(self):
     self.assertTrue(solver.quick_check(z3True))
예제 #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)
예제 #12
0
 def check_sat(self):
     # returns a boolean
     return solver.quick_check(self.get_predicate())