sig
  type value =
      ValBool of bool
    | ValNum of Numeral.t
    | ValDec of Decimal.t
    | ValTerm of Term.t
  val pp_print_value : Format.formatter -> Eval.value -> unit
  val bool_of_value : Eval.value -> bool
  val num_of_value : Eval.value -> Numeral.t
  val dec_of_value : Eval.value -> Decimal.t
  val term_of_value : Eval.value -> Term.t
  val value_is_unknown : Eval.value -> bool
  val eval_term :
    (UfSymbol.t * (Var.t list * Term.t)) list ->
    Model.t -> Term.t -> Eval.value
end