Module AltErgoLib.Uf

Uf module

type t
module LX : Xliteral.S with type elt = r
val empty : unit -> t
val add : t -> Expr.t -> t * Expr.t list
val mem : t -> Expr.t -> bool
val find : t -> Expr.t -> r * Explanation.t
val find_r : t -> r -> r * Explanation.t
val union : t -> r -> r -> Explanation.t -> t * (r * (r * r * Explanation.t) list * r) list
val distinct : t -> r list -> Explanation.t -> t
val are_equal : t -> Expr.t -> Expr.t -> added_terms:bool -> Th_util.answer
val are_distinct : t -> Expr.t -> Expr.t -> Th_util.answer
val already_distinct : t -> r list -> bool
val class_of : t -> Expr.t -> AltErgoLib.Expr.Set.t
val rclass_of : t -> r -> AltErgoLib.Expr.Set.t
val cl_extract : t -> AltErgoLib.Expr.Set.t list
val print : t -> unit
val term_repr : t -> Expr.t -> Expr.t
val make : t -> Expr.t -> r
val is_normalized : t -> r -> bool
val assign_next : t -> (r Xliteral.view * bool * Th_util.lit_origin) list * t

Counterexample function

val output_concrete_model : Stdlib.Format.formatter -> prop_model:AltErgoLib.Expr.Set.t -> t -> unit

Compute a counterexample using the Uf environment and then print it on the given formatter with the corresponding format setted with Options.get_output_format

val save_cache : unit -> unit

saves the module's cache

val reinit_cache : unit -> unit

reinitializes the module's cache with the saved one