type t val all_variables : string list ref val all_states : int list ref val empty : unit -> t val init : unit -> t type equality_result = | Yes | No | Maybe val equals : t -> string -> int -> equality_result val matches_arm : t -> string -> int list -> bool val refine_arm : t -> string -> int list -> int list val exclude_arm : t -> string -> int list -> t val exclude_arms : t -> string -> (int list * Ast.stmt) list -> t val set_value : t -> string -> int -> t val exclude_value : t -> string -> int -> t val possible_values : t -> string -> int list -> int list val set_possible_values : t -> string -> int list -> t val exclude_values : t -> string -> int list -> t val value_of : t -> string -> int val refine_cond : t -> Ast.condition -> t * t val pretty : t -> unit