sig
  type t
  module C :
    sig
      type t = C.t
      val compare : t -> t -> int
      val to_lits : t -> Logtk.Index_intf.lits
      val labels : t -> Logtk.Index_intf.labels
    end
  val name : string
  val empty : unit -> t
  val add : t -> C.t -> t
  val add_seq : t -> C.t Sequence.t -> t
  val add_list : t -> C.t list -> t
  val remove : t -> C.t -> t
  val remove_seq : t -> C.t Sequence.t -> t
  val retrieve_subsuming :
    t -> Logtk.Index_intf.lits -> Logtk.Index_intf.labels -> C.t Sequence.t
  val retrieve_subsuming_c : t -> C.t -> C.t Sequence.t
  val retrieve_subsumed :
    t -> Logtk.Index_intf.lits -> Logtk.Index_intf.labels -> C.t Sequence.t
  val retrieve_subsumed_c : t -> C.t -> C.t Sequence.t
  val retrieve_alpha_equiv :
    t -> Logtk.Index_intf.lits -> Logtk.Index_intf.labels -> C.t Sequence.t
  val retrieve_alpha_equiv_c : t -> C.t -> C.t Sequence.t
  val iter : t -> C.t Sequence.t
  val fold : ('-> C.t -> 'a) -> '-> t -> 'a
end