---
title: "world-opchoice-candidates — Mova code model"
description: "Mova code model of world/src/opchoice.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/world/src/opchoice.rs.groupant/candidates.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · **Groupants**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/world/src/opchoice.rs.groupant/candidates.groupant/>

# world-opchoice-candidates

The groupant beside world/src/opchoice.rs in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.

## Facts

- **kind:** groupant_fragment
- **status:** partial source bound model
- **source:** [`world/src/opchoice.rs`](https://github.com/ElamurAI/mova-free/blob/main/world/src/opchoice.rs)
- **source SHA-256:** `770d2eff5a128ca9…`
- **covers:** Op, Cand, question/features and candidate enumeration. (bytes 1249–11210)
- **part of:** [world-opchoice](https://md.groupants.elamur.ai/free/en/mova/world/src/opchoice.rs.groupant/)
- **repository folder:** [`world/src/opchoice.rs.groupant/candidates.groupant`](https://github.com/ElamurAI/mova-free/tree/main/world/src/opchoice.rs.groupant/candidates.groupant)
- **repository commit:** `855da7bd4a7b`

> **Implementation material.** A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.

## Components

| component | label | where |
|---|---|---|
| **approximant** | partial source model | [forward](#forward) |
| **ast** | partial | `../syntax.json` |
| **composition** | partial source model | [composition](#composition) |
| **cost** | partial source model | [cost](#cost) |
| **descriptant** | partial source model | [epoch-memory](#epoch-memory) |
| **invariant** | partial source model | [invariant](#invariant) |
| **tests** | partial source model | [checks](#checks) |

## Obernants

The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.

| id | type | label | where |
|---|---|---|---|
| `world-opchoice-candidates-behavior-complement` | behavior_complement | partial source model | [behavior-complement](#behavior-complement) |
| `world-opchoice-candidates-reverse-reconstruction` | reverse_reconstruction | partial source model | [reverse-reconstruction](#reverse-reconstruction) |
| `world-opchoice-candidates-intermediate-domain` | constraint_relation | partial source model | [intermediate-domain](#intermediate-domain) |
| `world-opchoice-candidates-arity-window` | resource_boundary | partial source model | [arity-window](#arity-window) |

## Model text


Op, Cand, question/features and candidate enumeration.

### forward

Arithmetic is exact representable i64 Add/Sub/Mul/Div with nonnegative subtraction and integral division gates. Traverse x,y,OPS and append each first step then z,OPS second steps. Features combine arithmetic identity with external context.

### invariant

Each retained intermediate is representable, even when hypothetical later cancellation could yield an in-range final result. Mention indices are distinct; commutative order is canonical.

### cost

O(n^2) first-step work plus O(n^3) second-step work restricted to n=3..5; O(C) candidate space. Feature cost depends on context lengths/cache lookups; kind cache can grow by unique word/POS.

### composition

Candidate enumeration feeds features and first-max scoring. Learner interns the same feature occurrences, preserves candidate order and updates toward the first highest-scoring gold-valued candidate. Text extraction and lexical environment must be fixed. top uses lexical expression ties unlike choose; parent ranking cannot silently substitute one for the other.

### epoch-memory

2026-10-30: i128 oracle exposed unchecked arithmetic overflow. Checked operations now omit unrepresentable candidates, including MIN/-1 division; score and training overflow remain bounded-domain assumptions. Dense learner history and first-tie tests preserve existing behavior.

### checks

See ../tests.md and native opchoice::wave8_models tests. Models are source-derived partial relations, with finite evidence rather than general proof. Syntax projection excludes macro expansion, name resolution and inferred types. No executable approximant: exact gates and categorical choices have no justified percentage metric here.

### behavior-complement

In candidate-output universe, second steps at n=6, reversed commutative duplicates and overflowing intermediates are absent. Full final-expression representability alone is insufficient.

### reverse-reconstruction

For fixed mentions and value v, retain all enumerated canonical expressions yielding v. Add/Mul reverse domain excludes redundant reversed index order; numeric values cannot recover lexical context.

### intermediate-domain

Invalid first operation omits both the first candidate and all extensions. The independent oracle evaluates in i128 then converts each intermediate separately.

### arity-window

Adding an unrelated sixth mention removes all two-step candidates. Parent mention extraction must preserve count; distractors can reduce reachability rather than only add choices.
