Evaluate an AST produced by Parse.parse_sat (or any other parse function) so it becomes a semantically correct formula.
eval is the main function.
val eval : ?smt:bool ‑> ?onlychecktypes:bool ‑> Types.Ast.t ‑> Types.Ast.teval checks the types, evaluates TouIST-specific constructs (variables,
bigand, bigor, let...) and returns an evaluated formula.
ast is the AST given by Parse.parse_sat (or any other
parsing function).
onlychecktypes will limit the evaluation to its minimum in order to get
type errors as fast as possible.
smt enables the SMT mode. By default, the SAT/QBF mode is used.
val ast_without_loc : Types.Ast.t ‑> Types.Ast.tval has_top_or_bot : Types.Ast.t ‑> boolhas_top_or_bot ast checks if there is any Bot or Top in ast.