---
title: "math-steps-gold-adapters — Mova code model"
description: "Mova code model of math/src/steps.rs: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/math/src/steps.rs.groupant/gold-adapters.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/math/src/steps.rs.groupant/gold-adapters.groupant/>

# math-steps-gold-adapters

The groupant beside math/src/steps.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:** [`math/src/steps.rs`](https://github.com/ElamurAI/mova-free/blob/main/math/src/steps.rs)
- **source SHA-256:** `e5cb6a8faf439e29…`
- **covers:** Equation parsing respects product before sum, maps a value to first unused equal quantity (then reuses an equal quantity if necessary), and requires complete token consumption. Calculator steps first prefer the latest prior exact result, then validate reconstructed exact result equals the declared value. (bytes 32881–36644)
- **part of:** [math-steps](https://md.groupants.elamur.ai/free/en/mova/math/src/steps.rs.groupant/)
- **repository folder:** [`math/src/steps.rs.groupant/gold-adapters.groupant`](https://github.com/ElamurAI/mova-free/tree/main/math/src/steps.rs.groupant/gold-adapters.groupant)
- **repository commit:** `48f2e6f74146`

> **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 | [approximant](#approximant) |
| **ast** | partial | `../syntax.json` |
| **descriptant** | present | [descriptant](#descriptant) |
| **invariant** | partial | [invariant](#invariant) |
| **tests** | executed bounded checks | [tests](#tests) |

## 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 |
|---|---|---|---|
| `behavior_complement` | behavior_complement | partial source derived model | [behavior_complement](#behavior-complement) |
| `reverse_reconstruction` | reverse_reconstruction | partial source derived model | [reverse_reconstruction](#reverse-reconstruction) |
| `intermediate_priority` | intermediate_priority | partial source derived model | [intermediate_priority](#intermediate-priority) |
| `validation_order` | validation_order | partial source derived model | [validation_order](#validation-order) |

## Model text


### descriptant

#### math-steps-gold-adapters

Equation parsing respects product before sum, maps a value to first unused equal quantity (then reuses an equal quantity if necessary), and requires complete token consumption. Calculator steps first prefer the latest prior exact result, then validate reconstructed exact result equals the declared value.

Epoch 2026-10-31: replaced duplicate catalog sentences with concrete exclusions, compatible-antecedent examples and two distinct scoped behavioral views. Source and prior execution evidence are unchanged; this revision ran no tests.

### approximant

#### Scoped forward relation

Equation parsing respects product before sum, maps a value to first unused equal quantity (then reuses an equal quantity if necessary), and requires complete token consumption. Calculator steps first prefer the latest prior exact result, then validate reconstructed exact result equals the declared value.

This source-derived relation is partial; no executable percentage surrogate or replacement is supplied.

### invariant

#### Scoped domain and invariants

Returned trees reference accepted quantity coordinates; exact calculator validation holds per accepted step. No semantic equivalence to a general programming language is claimed.

##### Cost

Leaf matching scans quantities per numeric token; prior-result matching scans previous results. Repeated exact subtree evaluation may revisit expanded subtrees and has rational bit-complexity costs.

### models

### behavior_complement

A calculator step whose reconstructed Tree::exact differs from the declared RHS cannot enter prev. Unknown operands and leftover tokens cannot produce successful tree_from_equation. Repeated equal values are not excluded.

### reverse_reconstruction

The expression8-3 can select different physical occurrences in a quantity list containing duplicate8/3 values, but the greedy adapter chooses one. A later token5 can mean a previous8-3 subtree or a literal5; latest prior result wins, hiding the textual occurrence choice.

### intermediate_priority

prev.iter().rev().find(equal) precedes match_leaf, so a previous result shadows an equal original quantity. This preserves computed subproblems, not unique occurrence identity.

### validation_order

Parsing/full-consumption succeeds before declared RHS parsing/exact equality in calculator processing. Failure stops the entire conversion; previously accumulated prev is not returned as a partial result.

### tests

#### Scoped evidence

Exact arithmetic, unknown/trailing token and wrong-calculator-result rejection.

Named actual source fixtures: steps::wave28::{equation_oracle_and_exact_replay; calculator_validation_and_script_bounds}.

Parent tests.md records commands and paired profiles. No additional coverage inferred from parent fixtures outside this byte range; source-scoped numeric/parse properties remain partial.
