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

# latex-tomath-precedence

The groupant beside latex/src/tomath.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:** [`latex/src/tomath.rs`](https://github.com/ElamurAI/mova-free/blob/main/latex/src/tomath.rs)
- **source SHA-256:** `794488f6ec9ddcdf…`
- **covers:** seq rejects empty/leftovers. sum/term flatten only while open flags permit; sub/div reset. unary handles negative literals, group matches closer/power, func_arg stops next function/operator. (bytes 4135–14572)
- **part of:** [latex-tomath](https://md.groupants.elamur.ai/free/en/mova/latex/src/tomath.rs.groupant/)
- **repository folder:** [`latex/src/tomath.rs.groupant/precedence.groupant`](https://github.com/ElamurAI/mova-free/tree/main/latex/src/tomath.rs.groupant/precedence.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 | [approximant](#approximant) |
| **ast** | partial | `../syntax.json` |
| **composition** | partial | [composition](#composition) |
| **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) |
| `association` | association | partial source derived model | [association](#association) |
| `flattening` | flattening | partial source derived model | [flattening](#flattening) |
| `functions` | functions | partial source derived model | [functions](#functions) |
| `script_invariant` | script_invariant | partial source derived model | [script_invariant](#script-invariant) |

## Model text


### descriptant

#### latex-tomath-precedence

seq rejects empty/leftovers. sum/term flatten only while open flags permit; sub/div reset. unary handles negative literals, group matches closer/power, func_arg stops next function/operator.

Epoch 2026-10-31: complete sources read before tests/model edits. Partial source-bound modeling; no production optimization or speed claim. Nested fragments share the parent lexical syntax. Caller/callee contracts outside owned files remain delegated.

### approximant

#### Forward relation

seq rejects empty/leftovers. sum/term flatten only while open flags permit; sub/div reset. unary handles negative literals, group matches closer/power, func_arg stops next function/operator.

#### Domain and executable surrogate gap

Bounded UTF-8 inputs and synthetic local files; supported parser-produced trees and representable arithmetic. Arbitrary public constructors are not certified total. Exact categorical semantics lack a useful percentage surrogate; no executable approximant attachment. Future numerical profiles require an explicit metric, zero case, source/evidence binding and supported 1/2/5/10% cap. Failure/effect differences cannot count as numerical error.

### invariant

#### Invariant

For the scoped transition bytes [4135,14572): seq rejects empty/leftovers. sum/term flatten only while open flags permit; sub/div reset. unary handles negative literals, group matches closer/power, func_arg stops next function/operator. Adjacent Num atoms reject only in term juxtaposition; the separate func_arg factor loop can admit adjacent numeric factors. Missing operand/bracket reject, function inverse exponent -1 unsupported; manual missing sup may panic.

#### Cost

Row traversal with repeated nested-group scans, potentially quadratic plus O(depth) recursive stack.

Allocation failure, stack exhaustion and unchecked counter overflow have no additional certificate. No timing claim or global error bound.

### composition

#### Composition

seq rejects empty/leftovers. sum/term flatten only while open flags permit; sub/div reset. unary handles negative literals, group matches closer/power, func_arg stops next function/operator.

For the scoped transition bytes [4135,14572): seq rejects empty/leftovers. sum/term flatten only while open flags permit; sub/div reset. unary handles negative literals, group matches closer/power, func_arg stops next function/operator. Adjacent Num atoms reject only in term juxtaposition; the separate func_arg factor loop can admit adjacent numeric factors. Missing operand/bracket reject, function inverse exponent -1 unsupported; manual missing sup may panic.

Parser, printer, AST equality, Macros, Rat and evaluator dependencies retain their own contracts. Structural roundtrip is not arithmetic definedness or numeric truth. Exact lexical binding does not prove caller/callee semantics.

### models

### behavior_complement

Adjacent Num atoms reject only in term juxtaposition; the separate func_arg factor loop can admit adjacent numeric factors. Missing operand/bracket reject, function inverse exponent -1 unsupported; manual missing sup may panic.

### reverse_reconstruction

Same ordered Expr admits unary-plus/grouped/explicit-product rows; presentation and delimiters unrecoverable.

### association

a-b-c=Sub(Sub(a,b),c).

### flattening

open flags preserve separately grouped Add/Mul.

### functions

Next function ends argument; ordinary factors join.

### script_invariant

Some branches unwrap sup, relying on parser constructor invariant.


### tests

#### Selected evidence

cargo test -p latex --features math --test bridge

Two debug/two release executions retained matching sorted named outcomes. External wave28 latexbridge receipts retain numeric exits, compiled assertion controls, restoration, feature checks and source-test map. This scope is not exhaustive branch coverage; parent tests may only exercise some child transitions. Frozen VMM DATA/classification/hash subprocess, live corpus, teacher/API, training/GPU excluded. Reexport/feature compilation is separate from runtime semantics.
