module type BASICFD = sig
.. end
type
t
type
attr
type
domain
type
elt
type
event
val create : ?name:string -> domain -> t
val interval : ?name:string ->
elt -> elt -> t
val array : ?name:string ->
int ->
elt ->
elt -> t array
val elt : elt -> t
val is_var : t -> bool
val is_bound : t -> bool
val value : t ->
(attr, elt) Facile.Var.concrete
val min : t -> elt
val max : t -> elt
val min_max : t -> elt * elt
val elt_value : t -> elt
val int_value : t -> elt
val size : t -> int
val member : t -> elt -> bool
val id : t -> int
val name : t -> string
val compare : t -> t -> int
val equal : t -> t -> bool
val fprint : Pervasives.out_channel -> t -> unit
val fprint_array : Pervasives.out_channel -> t array -> unit
val unify : t -> elt -> unit
val refine : t -> domain -> unit
val refine_low : t -> elt -> unit
val refine_up : t -> elt -> unit
val refine_low_up : t ->
elt -> elt -> unit
val on_refine : event
val on_subst : event
val on_min : event
val on_max : event
val delay : event list ->
t -> ?waking_id:int -> Facile.Cstr.t -> unit
val int : elt -> t
val subst : t -> elt -> unit
val unify_cstr : t -> elt -> Facile.Cstr.t