sig
module AstEq :
sig
val eq_vars : Ast.Ast.var -> Ast.Ast.var -> int
val eq_exps : Ast.Ast.exp -> Ast.Ast.exp -> bool
end
module Var :
sig
type t = Ast.Ast.var
val compare : Ast.Ast.var -> Ast.Ast.var -> int
val v_str : Ast.Ast.var -> string
val str2var : string -> Ast.Ast.var
end
module VarMap :
sig
type key = Var.t
type +'a t
val empty : 'a t
val is_empty : 'a t -> bool
val add : key -> 'a -> 'a t -> 'a t
val find : key -> 'a t -> 'a
val remove : key -> 'a t -> 'a t
val mem : key -> 'a t -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
end
module SymUtils :
sig
val sym : Ast.Ast.exp -> bool
val get_constraint_vars :
string list -> Constraint.Constraint.cexp -> string list
val get_sym_vars : Ast.Ast.exp -> Ast.Ast.var list
end
module RelationUtils :
sig
val set_field :
string -> Ast.Ast.exp -> Ast.Ast.datafields -> Ast.Ast.datafields
val get_field : Ast.Ast.datafields -> string -> Ast.Ast.exp
val set_index_field :
string -> int -> Ast.Ast.exp -> Ast.Ast.relation -> Ast.Ast.relation
val get_index_field :
string -> int -> Ast.Ast.relation -> Ast.Ast.exp option
end
module AstPrint :
sig
val pickle_var : Ast.Ast.var -> string
val pickle_exp : Ast.Ast.exp -> string
end
end