def walk_symbol(self, formula, **kwargs): symbol_type = formula.symbol_type() var_type = self._type_to_yices(symbol_type) term = yicespy.yices_new_uninterpreted_term(var_type) yicespy.yices_set_term_name(term, formula.symbol_name()) self._check_term_result(term) return term
def declare_variable(self, var): if not var.is_symbol(): raise TypeError if var.symbol_name() not in self.symbol_to_decl: tp = self._type_to_yices(var.symbol_type()) decl = yicespy.yices_new_uninterpreted_term(tp) yicespy.yices_set_term_name(decl, var.symbol_name()) self.symbol_to_decl[var] = decl self.decl_to_symbol[decl] = var
def declare_variable(self, var): if not var.is_symbol(): raise PysmtTypeError("Trying to declare as a variable something " "that is not a symbol: %s" % var) if var.symbol_name() not in self.symbol_to_decl: tp = self._type_to_yices(var.symbol_type()) decl = yicespy.yices_new_uninterpreted_term(tp) yicespy.yices_set_term_name(decl, var.symbol_name()) self.symbol_to_decl[var] = decl self.decl_to_symbol[decl] = var
def _bound_symbol(self, var): symbol_type = var.symbol_type() var_type = self._type_to_yices(symbol_type) term = yicespy.yices_new_variable(var_type) yicespy.yices_set_term_name(term, var.symbol_name()) return term