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

# number-correction

The groupant beside world/src/numbers.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 derived instance
- **source:** [`world/src/numbers.rs`](https://github.com/ElamurAI/mova-free/blob/main/world/src/numbers.rs)
- **source SHA-256:** `41e5c848b76cd85b…`
- **covers:** Weighted OSA ranks vocabulary by distance then integer Dice then fixed order; exact input string memoizes result. (bytes 4010–6542)
- **part of:** [number-normalization](https://md.groupants.elamur.ai/free/en/mova/world/src/numbers.rs.groupant/)
- **repository folder:** [`world/src/numbers.rs.groupant/correction.groupant`](https://github.com/ElamurAI/mova-free/tree/main/world/src/numbers.rs.groupant/correction.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 | [Forward](#forward) |
| **ast** | partial | `../syntax.json` |
| **composition** | partial | [Composition](#composition) |
| **cost** | symbolic unmeasured | [Cost](#cost) |
| **descriptant** | present | `model.md` |
| **invariant** | partial | [Invariant](#invariant) |
| **tests** | bounded evidence | [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 |
|---|---|---|---|
| `nonbehavior` | behavior_complement | partial source derived model | [nonbehavior](#nonbehavior) |
| `antecedents` | reverse_reconstruction | partial source derived model | [antecedents](#antecedents) |
| `transposition-weight` | weighted_metric | partial source derived model | [transposition-weight](#transposition-weight) |
| `tie-stability` | selection_order | partial source derived model | [tie-stability](#tie-stability) |

## Model text


### descriptant

## number-correction

### Forward

Weighted OSA ranks vocabulary by distance then integer Dice then fixed order; exact input string memoizes result.

### Invariant

Exact words/dozen return None; under-three-byte or non-ASCII-letter strings reject.

### Cost

O(m*n) distance time and matrix space per candidate; unbounded distinct-key cache.

### Composition

Trigram sets supply secondary score; caller normalize separately gates contextual application.

### Epoch memory

2026-10-29: source-derived initial model, source hash 41e5c848b76cd85ba99f84746d76099707d968957fb1b8774e8a35def2b23ec6. Scope envelope [4010,6542) is anchored to selected partial syntax nodes, not semantic proof or full coverage. Runtime source unchanged. AST omits macros expansion, name resolution, inferred types and cfg evaluation. Generated dictionary/global tables are fixed dependencies not bound by this file hash. Catalog false-formula controls and boundary observations refine claims without modifying production.

### catalog

## number-correction typed models

Epoch 2026-10-29; subject numbers.rs, SHA-256 41e5c848b76cd85ba99f84746d76099707d968957fb1b8774e8a35def2b23ec6. Domain is the bounded calls/traces stated below; observation horizon is one invocation unless explicitly a trace. Fixed compiled global/dictionary tables, successful allocation, unpoisoned locks and nonoverflowing arithmetic are assumptions. Every relation is a partial source-derived specification; Rust correspondence beyond recorded checks remains open. Behavior complements target U minus R and restrictions are candidate inner bounds, not proven complements. Reverse relations preserve all compatible antecedents. Hash traversal is an explicit hidden input for values.

### nonbehavior

Type: behavior_complement. Domain, observation and operator: U=strings x Option vocabulary; R=correct. Candidate inner bound U minus R includes Some for exact words, short strings or non-ASCII input, or winners above candidate threshold.

Evidence/falsification: Probe rejection literals. See root evidence.md for executed cases; proposed checks remain unexecuted. Status: partial source-derived model with bounded evidence only.

### antecedents

Type: reverse_reconstruction. Domain, observation and operator: Some(v) fiber is every admitted string with eligible lexicographically best v; None combines admission rejection and no eligible candidate. Cache state remains ambiguous.

Evidence/falsification: Finite alphabet oracle proposed. See root evidence.md for executed cases; proposed checks remain unexecuted. Status: partial source-derived model with bounded evidence only.

### transposition-weight

Type: weighted_metric. Domain, observation and operator: Insertion/deletion/substitution cost2; adjacent transposition cost1 via d[i-2][j-2]. This is optimal-string-alignment, not unrestricted Damerau distance.

Evidence/falsification: Probe ab/ba and false weight2 formula. See root evidence.md for executed cases; proposed checks remain unexecuted. Status: partial source-derived model with bounded evidence only.

### tie-stability

Type: selection_order. Domain, observation and operator: Equal-distance candidate replaces incumbent only for strictly greater integer Dice; exact ties retain cardinal/ordinal/dozen vocabulary order. Integer division can coalesce distinct rational scores.

Evidence/falsification: Equal-score enumeration proposed. See root evidence.md for executed cases; proposed checks remain unexecuted. Status: partial source-derived model with bounded evidence only.


### tests

#### Checks

Root evidence.md records direct real-source Rust tests and bounded probes, including false-formula rejection. Catalog checks marked proposed remain unexecuted. Syntax/manifest validation checks identity and structure only. No GPU, live teacher, full application run or general proof.
