module Expr:sig..end
type expr =
| |
Expr of |
val ast_of_expr : expr -> AST.ast
val expr_of_ast : AST.ast -> expr
val simplify : expr -> Params.params option -> exprExpr.get_simplify_helpval get_simplify_help : context -> stringExpr.Simplify.val get_simplify_parameter_descrs : context -> Params.ParamDescrs.param_descrsval get_func_decl : expr -> FuncDecl.func_declval get_num_args : expr -> intval get_args : expr -> expr listval update : expr -> expr list -> exprval substitute : expr -> expr list -> expr list -> exprfrom[i] in the expression with to[i], for i smaller than num_exprs.
The result is the new expression. The arrays from and to must have size num_exprs.
For every i smaller than num_exprs, we must have that
sort of from[i] must be equal to sort of to[i].
val substitute_one : expr -> expr -> expr -> expr
val substitute_vars : expr -> expr list -> expr
For every i smaller than num_exprs, the variable with de-Bruijn index i is replaced with term to[i].
val translate : expr -> context -> exprval to_string : expr -> stringval is_numeral : expr -> boolval is_well_sorted : expr -> boolval get_sort : expr -> Sort.sortval is_const : expr -> boolval mk_const : context -> Symbol.symbol -> Sort.sort -> exprval mk_const_s : context -> string -> Sort.sort -> exprval mk_const_f : context -> FuncDecl.func_decl -> exprval mk_fresh_const : context -> string -> Sort.sort -> exprval mk_app : context -> FuncDecl.func_decl -> expr list -> exprval mk_numeral_string : context -> string -> Sort.sort -> exprval mk_numeral_int : context -> int -> Sort.sort -> exprMakeNumeral since it is not necessary to parse a string.val equal : expr -> expr -> boolval compare : expr -> expr -> int