latex-table-stage1
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
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 |
| ast | partial | ../syntax.json |
| composition | partial | composition |
| descriptant | present | descriptant |
| invariant | partial | invariant |
| tests | executed bounded checks | 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 |
reverse_reconstruction | reverse_reconstruction | partial source derived model | reverse_reconstruction |
partial_map | partial_map | partial source derived model | partial_map |
relation_class | relation_class | partial source derived model | relation_class |
Model text
descriptant
latex-table-stage1
negated(s) returns the explicitly listed negated counterpart, e.g Eq->Ne, In->Notin, Le/Leqslant->Nleq; all unmatched symbols return None.
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
negated(s) returns the explicitly listed negated counterpart, e.g Eq->Ne, In->Notin, Le/Leqslant->Nleq; all unmatched symbols return None.
This is an exact source-derived partial model, not an executable approximate replacement.
invariant
Scoped invariants
negation cannot be assumed involutive: Ne has no reverse arm to Eq. Unsupported symbols cannot receive synthetic negations from this function.
Only Some outputs normalize parser Not(Sym) into one Sym; None tells parser to retain Node::Not around its operand.
Existing test checks every Some result's class is Rel or Ord; this finite table property does not assert logical complementation for every mathematical interpretation.
composition
Scoped interaction
Parser Entry::Not uses this mapping after parsing its argument; arbitrary nonsymbol arguments bypass it and keep Not structure.
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
negation cannot be assumed involutive: Ne has no reverse arm to Eq. Unsupported symbols cannot receive synthetic negations from this function.
reverse_reconstruction
Preimage(Nleq) includes Le and Leqslant; Preimage(Ngeq) includes Ge and Geqslant. An observed None admits every unlisted symbol, including already-negated variants. Thus a negated result does not generally recover the original spelling or symbol.
partial_map
Only Some outputs normalize parser Not(Sym) into one Sym; None tells parser to retain Node::Not around its operand.
relation_class
Existing test checks every Some result's class is Rel or Ord; this finite table property does not assert logical complementation for every mathematical interpretation.
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.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/latex/src/table.rs.groupant/stage1.groupant/