C2poDomain.C2PODomain
include module type of struct include Printable.StdLeaf end
type t = CongruenceClosure.t
val hash : t -> int
val show : CongruenceClosure.t -> string
type domain = t
val equal_standard : CongruenceClosure.t -> CongruenceClosure.t -> bool
val equal_normal_form : CongruenceClosure.t -> CongruenceClosure.t -> bool
val equal : CongruenceClosure.t -> CongruenceClosure.t -> bool
val empty : unit -> CongruenceClosure.t
val init : unit -> CongruenceClosure.t
val top : unit -> CongruenceClosure.t
val is_top : CongruenceClosure.t -> bool
val join_f :
CongruenceClosure.t ->
CongruenceClosure.t ->
(CongruenceClosure.data ->
CongruenceClosure.data ->
CongruenceClosure.data * 'a) ->
CongruenceClosure.t
val join : t -> t -> CongruenceClosure.t
val widen_automata : t -> t -> CongruenceClosure.t
val widen_eq_classes :
CongruenceClosure.t ->
CongruenceClosure.t ->
CongruenceClosure.t
val widen : t -> t -> CongruenceClosure.t
val meet : CongruenceClosure.t -> CongruenceClosure.t -> CongruenceClosure.t
val narrow : CongruenceClosure.t -> CongruenceClosure.t -> CongruenceClosure.t
val leq : CongruenceClosure.t -> CongruenceClosure.t -> bool
val pretty_diff :
unit ->
(CongruenceClosure.t * CongruenceClosure.t) ->
GoblintCil.Pretty.doc