Example #1
0
 def walk_minus(self, formula, args, **kwargs):
     n_one = mathsat.msat_make_number(self.msat_env(), "-1")
     n_s2 = mathsat.msat_make_times(self.msat_env(), n_one, args[1])
     return mathsat.msat_make_plus(self.msat_env(), args[0], n_s2)
Example #2
0
 def walk_int_constant(self, formula, **kwargs):
     assert type(formula.constant_value()) == int or \
         type(formula.constant_value()) == long
     rep = str(formula.constant_value())
     return mathsat.msat_make_number(self.msat_env(), rep)
Example #3
0
 def walk_plus(self, formula, args, **kwargs):
     res = mathsat.msat_make_number(self.msat_env(), "0")
     for a in args:
         res = mathsat.msat_make_plus(self.msat_env(), res, a)
     return res
Example #4
0
 def walk_real_constant(self, formula, **kwargs):
     assert type(formula.constant_value()) == Fraction
     frac = formula.constant_value()
     n,d = frac.numerator, frac.denominator
     rep = str(n) + "/" + str(d)
     return mathsat.msat_make_number(self.msat_env(), rep)
Example #5
0
File: msat.py Project: idkwim/pysmt
 def walk_minus(self, formula, args, **kwargs):
     n_one = mathsat.msat_make_number(self.msat_env, "-1")
     n_s2 = mathsat.msat_make_times(self.msat_env, n_one, args[1])
     return mathsat.msat_make_plus(self.msat_env, args[0], n_s2)
Example #6
0
File: msat.py Project: idkwim/pysmt
 def walk_plus(self, formula, args, **kwargs):
     res = mathsat.msat_make_number(self.msat_env, "0")
     for a in args:
         res = mathsat.msat_make_plus(self.msat_env, res, a)
     return res
Example #7
0
File: msat.py Project: idkwim/pysmt
 def walk_int_constant(self, formula, **kwargs):
     assert type(formula.constant_value()) == int or \
         type(formula.constant_value()) == long
     rep = str(formula.constant_value())
     return mathsat.msat_make_number(self.msat_env, rep)
Example #8
0
File: msat.py Project: idkwim/pysmt
 def walk_real_constant(self, formula, **kwargs):
     assert type(formula.constant_value()) == Fraction
     frac = formula.constant_value()
     n, d = frac.numerator, frac.denominator
     rep = str(n) + "/" + str(d)
     return mathsat.msat_make_number(self.msat_env, rep)