module Context_unifier_space:a problem clausesig..end
Stores a clause with some additional information
like a unique id, shared variables, and so on,
as specified in Context_unifier.context_unifier_space.
Registers all clause literals at Problem_literals,
and initiates the search for new context unifiers
when informed by Problem_literals that a new literal
has been added to the context.
typeconfig =Config.config
typestatistic =Statistic.statistic
typebound =Bound.bound
typeliteral =Term.literal
typeclause =Term.clause
typestate =State.state
typecontext_unifier_space =Context_unifier.context_unifier_space
typeraw_context_unifier =Context_unifier.raw_context_unifier
typeproblem_literals =Problem_literals.problem_literals
type space_registry
context_unifier_space values.val create : config ->
bound -> space_registryspace_registryval create_space : ?register:bool ->
space_registry ->
problem_literals ->
clause ->
(raw_context_unifier -> unit) ->
(raw_context_unifier -> bool) ->
(raw_context_unifier -> unit) ->
(Context.element -> bool) ->
(Context.element -> bool) ->
bool -> context_unifier_spacecreate: space_registry problem_literals clause
process_close_candidate process_assert_candidate process_split_candidate
is_assert_incomplete is_split_incomplete is_lemma
Context_unifier_space.context_unifier_space for a Term.clause
using process_close_candidate resp. process_assert_candidate
resp. process_split_candidate
as callback functions to be called
when assert resp. split candidates are computed.
see Context_unifier.create_space for details.Problem_literals
if register is true (default: true).process_split_candidate if an initial candidate
can be computed with v only.val get_id : space_registry -> intcontext_unifier_space.
Should be used if a context_unifier_space is created manually
with Context_unifier.create_spaceval backtrack : context_unifier_space -> unitProblem_literals.backtrack must have been executed before,
dependent on resolve information managed there.