code: def eval_ast(self, ast):
          
          # If there was no last value, it was not constrained, so we can use
          # anything.
          new_ast = ast.replace_dict(self.replacements, leaf_operation=self._leaf_op)
          return backends.concrete.eval(new_ast, 1)[0]
docs: Eval the ast, replacing symbols by their last value in the model.