sig
  type t
  module C : CLAUSE
  val name : string
  val empty : unit -> Index_intf.SUBSUMPTION_IDX.t
  val add :
    Index_intf.SUBSUMPTION_IDX.t -> C.t -> Index_intf.SUBSUMPTION_IDX.t
  val add_seq :
    Index_intf.SUBSUMPTION_IDX.t ->
    C.t Sequence.t -> Index_intf.SUBSUMPTION_IDX.t
  val add_list :
    Index_intf.SUBSUMPTION_IDX.t -> C.t list -> Index_intf.SUBSUMPTION_IDX.t
  val remove :
    Index_intf.SUBSUMPTION_IDX.t -> C.t -> Index_intf.SUBSUMPTION_IDX.t
  val remove_seq :
    Index_intf.SUBSUMPTION_IDX.t ->
    C.t Sequence.t -> Index_intf.SUBSUMPTION_IDX.t
  val retrieve_subsuming :
    Index_intf.SUBSUMPTION_IDX.t -> Index_intf.lits -> C.t Sequence.t
  val retrieve_subsuming_c :
    Index_intf.SUBSUMPTION_IDX.t -> C.t -> C.t Sequence.t
  val retrieve_subsumed :
    Index_intf.SUBSUMPTION_IDX.t -> Index_intf.lits -> C.t Sequence.t
  val retrieve_subsumed_c :
    Index_intf.SUBSUMPTION_IDX.t -> C.t -> C.t Sequence.t
  val iter : Index_intf.SUBSUMPTION_IDX.t -> C.t Sequence.t
  val fold : ('-> C.t -> 'a) -> '-> Index_intf.SUBSUMPTION_IDX.t -> 'a
end