Module TOPLlib.ToplAst
val compare_property_name : property_name -> property_name -> intval hash_fold_property_name : Ppx_hash_lib.Std.Hash.state -> property_name -> Ppx_hash_lib.Std.Hash.stateval hash_property_name : property_name -> Ppx_hash_lib.Std.Hash.hash_valueval property_name_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> property_nameval sexp_of_property_name : property_name -> Ppx_sexp_conv_lib.Sexp.t
val compare_register_name : register_name -> register_name -> int
type variable_name= stringtype constant=|LiteralInt of inttype value=|Constant of constant|Register of register_name|Binding of variable_nametype binop=|OpEq|OpNe|OpGe|OpGt|OpLe|OpLttype predicate=|Binop of binop * value * value|Value of valuetype condition= predicate listtype assignment= register_name * variable_nametype procedure_name_pattern= stringa regular expression
type label_pattern=|ArrayWritePattern|ProcedureNamePattern of procedure_name_patterntype label={arguments : variable_name list option;condition : condition;action : assignment list;pattern : label_pattern;}type vertex= string
val compare_vertex : vertex -> vertex -> intval hash_fold_vertex : Ppx_hash_lib.Std.Hash.state -> vertex -> Ppx_hash_lib.Std.Hash.stateval hash_vertex : vertex -> Ppx_hash_lib.Std.Hash.hash_valueval vertex_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> vertexval sexp_of_vertex : vertex -> Ppx_sexp_conv_lib.Sexp.t
type transition={source : vertex;target : vertex;label : label option;}type t={name : property_name;message : string option;prefixes : string list;nondet : string list;transitions : transition list;}