sig
  module Infsys :
    sig
      type e = Solution.Set.t
      val current : unit -> e
      val initialize : e -> unit
      val finalize : unit -> e
      val abstract : Term.t -> unit
      val merge : Fact.Equal.t -> unit
      val propagate : Fact.Equal.t -> unit
      val dismerge : Fact.Diseq.t -> unit
      val propagate_diseq : Fact.Diseq.t -> unit
      val branch : unit -> unit
      val normalize : unit -> unit
    end
  module Ops : Can.OPS
end