task_symbolic__chemical_equation__balanced_option_label¶
1) Identity¶
- Domain:
symbolic - Scene id:
chemical_equation - Task id:
task_symbolic__chemical_equation__balanced_option_label - Objective: select the coefficient option that balances the displayed chemical equation.
Program Contract¶
Program: chemical_equation.balanced_option_label(scene=chemical_equation, scope=blank_coefficient_slots_plus_option_cards, output=option_letter)
Candidate set: the four visible coefficient option cards labeled A..D.
Operands: the visible atom chips grouped into molecule cards, side/operator layout, and option coefficient tuples.
Operation: fill coefficient slots from left to right using each option and compare atom totals on both sides.
Output binding: answer is the selected option label.
Annotation witnesses: a scalar bbox around the selected option card.
Query ids: single.
Reasoning Operations¶
Families: formula_evaluation
2) Scene + Task Contract¶
- All coefficient slots in the equation are hidden as
?boxes. - Molecule cards show repeated atom chips only; formula strings are not drawn.
- Each option card contains a left-to-right coefficient tuple for the equation terms.
- Exactly one option balances all atom counts.
answer_gt.type:stringannotation_gt.type:bbox- Annotation schema:
bbox - Candidate labels are
A,B,C, andD.
3) Prompt Contract¶
- Bundle:
symbolic_chemical_equation_v1 scene_key:chemical_equationtask_key:balanced_option_label- Modes:
answer_only,answer_and_annotation - Prompt text comes from the external prompt bundle.
4) Trace Contract¶
execution_trace.chemical_equation_metadata.reactionrecords formulas, balanced coefficients, and atom totals.execution_trace.chemical_equation_metadata.optionsrecords each candidate tuple and whether it balances the equation.render_map.option_bboxes_pxcontains option-card projections.projected_annotationmirrors the selected optionbbox.
5) Determinism + Tests¶
- Deterministic generation and rendering from
instance_seed. - Distractors are unique and rejected if they accidentally balance the equation.
- Behavior tests:
tests/test_symbolic_chemical_equation_tasks.py