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)
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)
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
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)
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)
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
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)
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)