latex-extract-environment
The groupant beside latex/src/extract.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 |
argument | argument | partial source derived model | argument |
closer | closer | partial source derived model | closer |
display | display | partial source derived model | display |
recovery | recovery | partial source derived model | recovery |
Model text
descriptant
latex-extract-environment
begin reads first {env}, searches first exact end; recognized math emits body, closed verbatim suppresses it. Selected environments skip a first braced argument.
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
begin reads first {env}, searches first exact end; recognized math emits body, closed verbatim suppresses it. Selected environments skip a first braced argument.
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 [6305,7957): begin reads first {env}, searches first exact end; recognized math emits body, closed verbatim suppresses it. Selected environments skip a first braced argument. Unknown environment cannot directly emit Env; missing math end adds bad, missing verbatim end does not.
Cost
Closer search linear in remaining bytes per call; repeated unmatched calls can yield quadratic parent work.
Allocation failure, stack exhaustion and unchecked counter overflow have no additional certificate. No timing claim or global error bound.
composition
Composition
begin reads first {env}, searches first exact end; recognized math emits body, closed verbatim suppresses it. Selected environments skip a first braced argument.
For the scoped transition bytes [6305,7957): begin reads first {env}, searches first exact end; recognized math emits body, closed verbatim suppresses it. Selected environments skip a first braced argument. Unknown environment cannot directly emit Env; missing math end adds bad, missing verbatim end does not.
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
Unknown environment cannot directly emit Env; missing math end adds bad, missing verbatim end does not.
reverse_reconstruction
Same env/body/start permits differing prefix whitespace/argument of same byte length; skipped verbatim unrecoverable.
argument
First } ends skip, no nesting.
closer
Nested same-name environments not balanced.
display
Only math env inline.
recovery
Missing opening brace returns j; missing end returns close+1.
tests
Selected evidence
cargo test -p latex --features math --lib extract::tests
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.
This page in Markdown โ https://md.groupants.elamur.ai/free/en/mova/latex/src/extract.rs.groupant/environment.groupant/