sig
  type config = Config.config
  type bound = Bound.bound
  type statistic = Statistic.statistic
  type literal = Term.literal
  type state = State.state
  type raw_context_unifier = Context_unifier.raw_context_unifier
  type problem_literals = Problem_literals.problem_literals
  type selected = Selection_types.selected
  type context = Context.context
  type candidates
  val create :
    Selection_assert.config ->
    Selection_assert.bound ->
    Selection_assert.statistic ->
    Selection_assert.state ->
    Selection_assert.context ->
    Selection_assert.problem_literals -> Selection_assert.candidates
  val has_closing_candidate : Selection_assert.candidates -> bool
  val size : Selection_assert.candidates -> int
  val add :
    Selection_assert.candidates ->
    Selection_assert.raw_context_unifier -> bool
  val select :
    Selection_assert.candidates -> Selection_assert.selected option
  val check_exceeding : Selection_assert.candidates -> unit
  val is_element_incomplete :
    Selection_assert.candidates -> Context.element -> bool
  val backtrack : Selection_assert.candidates -> unit
end