sig
type t
exception Unchanged
val pretty : Format.formatter -> State_imp.t -> unit
val add : Relations_type.Model.t -> State_imp.t -> unit
val fold : (Relations_type.Model.t -> 'a -> 'a) -> State_imp.t -> 'a -> 'a
val iter : (Relations_type.Model.t -> unit) -> State_imp.t -> unit
val merge_into : State_imp.t -> State_imp.t -> unit
val merge_set_into : State_set.t -> State_imp.t -> unit
val merge_set_return_new : State_set.t -> State_imp.t -> State_set.t
val join : State_imp.t -> Relations_type.Model.t
val join_dropping_relations : State_imp.t -> Relations_type.Model.t
val exists : (Relations_type.Model.t -> bool) -> State_imp.t -> bool
val is_empty : State_imp.t -> bool
val length : State_imp.t -> int
val empty : unit -> State_imp.t
val singleton : Relations_type.Model.t -> State_imp.t
val to_set : State_imp.t -> State_set.t
end