sig
type t
val v_of : Partition.t -> V.t
val d_of : Partition.t -> D.t
val eq : Partition.t -> Partition.t -> bool
val pp : Partition.t Pretty.printer
val is_empty : Partition.t -> bool
val find : Partition.t -> Jst.Eqtrans.t
val diseqs : Partition.t -> Term.t -> D.Set.t
val cnstrnt : Partition.t -> Term.t -> Var.Cnstrnt.t * Jst.t
val is_canonical : Partition.t -> Term.t -> bool
val is_int : Partition.t -> Jst.Pred.t
val is_equal : Partition.t -> Jst.Pred2.t
val is_diseq : Partition.t -> Jst.Pred2.t
val is_equal_or_diseq : Partition.t -> Jst.Rel2.t
val choose : Partition.t -> Jst.Eqtrans.t -> Jst.Eqtrans.t
val iter_if : Partition.t -> (Term.t -> unit) -> Term.t -> unit
val fold : Partition.t -> (Fact.Equal.t -> 'a -> 'a) -> Term.t -> 'a -> 'a
val empty : Partition.t
val merge : Partition.t -> Fact.Equal.t -> unit
val dismerge : Partition.t -> Fact.Diseq.t -> unit
val gc : (Term.t -> bool) -> Partition.t -> unit
val fresh_equal : Partition.t -> Fact.Equal.t
val fresh_diseq : Partition.t -> Fact.Diseq.t
val copy : Partition.t -> Partition.t
val diff : Partition.t -> Partition.t -> Partition.t
end