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

# latex-table-stage2

The groupant beside latex/src/table.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/table.rs`](https://github.com/ElamurAI/mova-free/blob/main/latex/src/table.rs)
- **source SHA-256:** `37b46b94914c5c15…`
- **covers:** font_letter maps ℂ,ℍ,ℕ,ℙ,ℚ,ℝ,ℤ to (Bb,C/H/N/P/Q/R/Z), otherwise None. Included tests sample generated aliases, canonical forms and delimiter classes, and enumerate successful negation output classes. (bytes 4365–6212)
- **part of:** [latex-table](https://md.groupants.elamur.ai/free/en/mova/latex/src/table.rs.groupant/)
- **repository folder:** [`latex/src/table.rs.groupant/stage2.groupant`](https://github.com/ElamurAI/mova-free/tree/main/latex/src/table.rs.groupant/stage2.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) |
| `font_asymmetry` | font_asymmetry | partial source derived model | [font_asymmetry](#font-asymmetry) |
| `table_witness_scope` | table_witness_scope | partial source derived model | [table_witness_scope](#table-witness-scope) |

## Model text


### descriptant

#### latex-table-stage2

font_letter maps ℂ,ℍ,ℕ,ℙ,ℚ,ℝ,ℤ to (Bb,C/H/N/P/Q/R/Z), otherwise None. Included tests sample generated aliases, canonical forms and delimiter classes, and enumerate successful negation output classes.

Epoch 2026-10-31: replaced stage topic lists with concrete transitions, exclusions and compatible antecedents. Four meaningful typed views replace the previous six-view bookkeeping catalog. Shared syntax and source byte bounds are unchanged.

### approximant

#### Scoped forward relation

font_letter maps ℂ,ℍ,ℕ,ℙ,ℚ,ℝ,ℤ to (Bb,C/H/N/P/Q/R/Z), otherwise None. Included tests sample generated aliases, canonical forms and delimiter classes, and enumerate successful negation output classes.

This is an exact source-derived partial model, not an executable approximate replacement.

### invariant

#### Scoped invariants

Unlisted mathematical Unicode letters cannot be normalized by font_letter, even if print::font_text can emit them. This is not a full inverse of Unicode mathematical-font rendering.

print::font_text(Bb,'A') emits mathematical double-struck A, but font_letter does not map that scalar back. The mapping's domain is seven compatibility capitals, not the entire font block.

table_lookups checks selected aliases and absent nosuchcommand; every_negation_is_a_relation_or_ord quantifies over generated SYM_ALL. Neither test exhausts every generated lookup alias.

### composition

#### Scoped interaction

char_atom tries lookup_char before font_letter, so an explicit character table entry would take precedence over this fallback.

The manifest binds this stage to the unchanged parent syntax projection and exact source byte range. Parent cost remains an upper accounting context; no independent whole-file invocation or execution count is assigned to this fragment.

### models

### behavior_complement

Unlisted mathematical Unicode letters cannot be normalized by font_letter, even if print::font_text can emit them. This is not a full inverse of Unicode mathematical-font rendering.

### reverse_reconstruction

Each Some(Bb,letter) among the seven has exactly one scalar preimage here; None has all other Unicode scalars. A parser Font(Bb,Char(R)) can also originate from an explicit mathbb command, so parser-level recovery is broader.

### font_asymmetry

print::font_text(Bb,'A') emits mathematical double-struck A, but font_letter does not map that scalar back. The mapping's domain is seven compatibility capitals, not the entire font block.

### table_witness_scope

table_lookups checks selected aliases and absent nosuchcommand; every_negation_is_a_relation_or_ord quantifies over generated SYM_ALL. Neither test exhausts every generated lookup alias.

### tests

#### Evidence — 2026-10-31

table::tests::table_lookups; table::tests::every_negation_is_a_relation_or_ord

Selected library filters ast:: lex:: macros:: parse:: print:: table:: and integration gate excluding document_extraction_with_preamble_macros and random_token_soup_never_panics_and_roundtrips. Direct rustc --test latex/build.rs exercises private helpers. All selected tests twice debug/release with identical sorted names. Four compiled mutants at build/AST/parser/printer boundaries fail assertions then exact restoration passes. These do not individually cover every source. Build-main failure effects, allocation failures and universal roundtrip are unproved. Strict Clippy reports existing lints. No corpus/live VMM/API/GPU/full-school/held-out tests.
