let register_literal
(problem_literals: problem_literals) (literal: literal) (index: int) : input_partner =
let problem_literal =
get_problem_literal problem_literals literal
in
let element =
try
Elements.find index problem_literal.elements
with
| Not_found ->
let new_input_partner =
create_input_partner problem_literals literal index
in
let new_element = {
input_partner = new_input_partner;
spaces = [];
}
in
set_initial_context_partners problem_literals problem_literal new_input_partner;
problem_literal.elements <- Elements.add index new_element problem_literal.elements;
new_element
in
element.input_partner