Module PredicateAbstraction.M

type t
include Datatype_sig.PRINTABLE with type t := t
include Datatype_sig.SHOW with type t := t
val pp : Stdlib.Format.formatter -> t -> unit

Output to formatter

val print : ?prefix:string -> t -> unit

Output to stdout.

val show_option : t option -> string
val print_option : ?prefix:string -> t option -> unit
val dump : string -> t -> unit

Dump to file given by filename

Lists of printable values

val show_list : ?separator:string -> t list -> string
val pp_list : Stdlib.Format.formatter -> t list -> unit
val print_list : ?separator:string -> ?prefix:string -> t list -> unit

Copy-pasted signature of classic polymorphic map

val empty : t
val is_empty : t -> bool
val add : InductiveDefinition.t -> t -> t -> t
val mem : InductiveDefinition.t -> t -> bool
val find : InductiveDefinition.t -> t -> t
val iter : (InductiveDefinition.t -> t -> unit) -> t -> unit
val fold : (InductiveDefinition.t -> t -> 'acc -> 'acc) -> t -> 'acc -> 'acc
val union : (InductiveDefinition.t -> t -> t -> t option) -> t -> t -> t
val bindings : t -> (InductiveDefinition.t * t) list
val cardinal : t -> int
val choose : t -> InductiveDefinition.t * t
val filter : (InductiveDefinition.t -> t -> bool) -> t -> t

Additional functions

val keys : t -> InductiveDefinition.t list
val values : t -> t list
val of_list : (InductiveDefinition.t * t) list -> t
val find_pred : (InductiveDefinition.t -> bool) -> t -> InductiveDefinition.t
val show : t -> string
val show_custom : (InductiveDefinition.t -> string) -> (t -> string) -> t -> string