let create (config: config) (bound: bound) (statistic: statistic) (state: state)
(context: context) (problem_literals: problem_literals) (space_registry: space_registry) : candidates =
let unprocessed =
if Config.is_horn config then
[| |]
else
Array.make (max 1 Const.max_unprocessed_split_candidates) Context_unifier.null_context_unifier
in
{
cd_config = config;
cd_bound = bound;
cd_statistic = statistic;
cd_state = state;
cd_context = context;
cd_problem_literals = problem_literals;
cd_space_registry = space_registry;
cd_unprocessed = unprocessed;
cd_unprocessed_size = 0;
cd_valid = Valid.create null_candidate;
cd_invalid = [];
cd_added = [];
cd_right_splits = [];
cd_applied_right_splits = [];
cd_exceeding_elements = Hashtbl.create 64;
cd_check_exceeding = false;
}