---
title: "number-rendering — 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/rendering.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/rendering.groupant/>

# number-rendering

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:** Render bounded nonnegative cardinals/ordinals and scan first quantity. (bytes 9902–12440)
- **part of:** [number-normalization](https://md.groupants.elamur.ai/free/en/mova/world/src/numbers.rs.groupant/)
- **repository folder:** [`world/src/numbers.rs.groupant/rendering.groupant`](https://github.com/ElamurAI/mova-free/tree/main/world/src/numbers.rs.groupant/rendering.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) |
| `ordinal-tail` | string_rewrite | partial source derived model | [ordinal-tail](#ordinal-tail) |
| `first-hit` | ordered_selection | partial source derived model | [first-hit](#first-hit) |

## Model text


### descriptant

## number-rendering

### Forward

Render bounded nonnegative cardinals/ordinals and scan first quantity.

### Invariant

Quantity never invokes correction; suffix teen exceptions precede unit rules.

### Cost

Bounded renderer has bounded lookups/output length; quantity costs token scan and fixed vocabulary lookups.

### Composition

Ordinal renderer replaces only final word of cardinal renderer; quantity uses separate token/read helpers.

### Epoch memory

2026-10-29: source-derived initial model, source hash 41e5c848b76cd85ba99f84746d76099707d968957fb1b8774e8a35def2b23ec6. Scope envelope [9902,12440) 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-rendering 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=renderer n in[0,3000) paired strings or quantity-text paired Option i64; R=scoped calls. Candidate U minus R includes 11st/12nd/13rd rendering and a solely ordinal quantity result.

Evidence/falsification: Existing roundtrips and probe suffix oracle. 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: Quantity q retains every text whose first accepted cardinal is q, with compatible earlier ordinals/nonnumeric tokens and arbitrary later text; twice/two both yield2.

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

### ordinal-tail

Type: string_rewrite. Domain, observation and operator: Split cardinal output at last space/hyphen; replace final word through ORDINALS base lookup, retain head. Unsupported last word remains unchanged.

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

### first-hit

Type: ordered_selection. Domain, observation and operator: At each token once/twice/thrice precedes digit then word recognition; ordinal word spans advance used tokens. Later cardinal cannot override earlier one.

Evidence/falsification: Probe three apples then five. 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.
