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

# world-types-fields

The groupant beside world/src/types.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/types.rs`](https://github.com/ElamurAI/mova-free/blob/main/world/src/types.rs)
- **source SHA-256:** `ac2d47f390463744…`
- **covers:** fields declarations and operation implementations; gaps between selected items allowed (bytes 9811–15003)
- **part of:** [world-types](https://md.groupants.elamur.ai/free/en/mova/world/src/types.rs.groupant/)
- **repository folder:** [`world/src/types.rs.groupant/fields.groupant`](https://github.com/ElamurAI/mova-free/tree/main/world/src/types.rs.groupant/fields.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` |
| **cost** | partial | [Cost](#cost) |
| **descriptant** | present | `model.md` |
| **invariant** | partial | [Invariant](#invariant) |
| **tests** | coverage recorded | `../model.md#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) |
| `permission-matrix` | finite_relation | partial source derived model | [permission-matrix](#permission-matrix) |
| `name-not-parser` | partial_retraction | partial source derived model | [name-not-parser](#name-not-parser) |
| `domain-routing` | tagged_union | partial source derived model | [domain-routing](#domain-routing) |

## Model text


### descriptant

## world-types-fields

Pure identity/value operations and their source-bound partial syntax.

### Forward

Dispatch by operation and preserve Rust input/output variants. Parsing uses a restricted decimal grammar; names and displays project values; V::tags computes sorted support. Individual graphs are in catalog.md.

### Invariant

No operation changes a world store or validates entity existence. Canonical tag invariants hold for V::tags outputs, not arbitrary public V constructors. Constructor domains exceed parser domains. Strings are byte-exact and case-sensitive.

### Cost

Membership is linear in table size times string comparison cost. Normalization sorts n tags in O(n log n) comparisons then deduplicates. tag_list costs O(n) cloning for Tags. Formatting costs emitted bytes and temporary vector/string allocations. Id accepts at most seven ASCII bytes; is_word at most 32. No timing measured.

### Composition

Identity, vocabulary, routing and values share Reg, Field, Tag and V. key selects Field/Dom then key_ok constrains registry; external payload parsing is a dependency gap. Closed::tag supplies tags, V::tags normalizes, Display projects. Sequential R(x,z)=exists y: R1(x,y) and R2(y,z); reverse retains every compatible y. Parent complement is its own U minus R, not union of child complements. Fragment costs count actual calls once despite shared type dependencies. External language parsing, storage, branch execution and semantic identity remain unmodeled.

### Epoch memory

2026-10-29: retained constructor/parser mismatch, Status/Stage alias, key aliases, Closed list's actual space separator and public noncanonical V::Tags. These are model observations; source unchanged. Partial syntax does not expand macros, infer types or prove semantics. Prospective falsification: extend probes to arbitrary custom Closed tables and formatter errors after widening the observation universe.

### catalog

## Typed models

Subject/revision: world/src/types.rs at manifest SHA-256, epoch 2026-10-29. Each relation observes normal returns on finite typed inputs. Assumptions: fixed source, ordinary allocation, successful formatting sink; no downstream validation. Status: source-derived partial correspondence, not semantic proof. Every formula defines its operator and explicit domain below. For every entry the falsification oracle is a literal input/output comparison with the actual source-included Rust API. Only coverage named in tests.md was executed; remaining relations are inspected hypotheses.

### nonbehavior

U=(Reg,key spelling,optional admitted Field/Dom). R composes key with key_ok. U minus R forbids gender admission for O, any E admission, and Stage decoded from status. Downstream payload parsing excluded.

Approximation/evidence: exact mathematical target under the stated domain, source-inspected correspondence; bounded executed coverage only as recorded in tests.md. Unsampled inputs remain unproved.

### antecedents

At/Place key output has {at,to,in} antecedents; name status has {Status,Stage}. Successful O admission restricts spellings to name,trait,status,num,at,to,in.

Approximation/evidence: exact mathematical target under the stated domain, source-inspected correspondence; bounded executed coverage only as recorded in tests.md. Unsampled inputs remain unproved.

### permission-matrix

Over nine Reg and thirty Field variants C accepts 30, O 5 and L 4: 39 accepted of 270 pairs. Other registries reject all fields. Explicit literal sets are the proposed oracle.

Approximation/evidence: exact mathematical target under the stated domain, source-inspected correspondence; bounded executed coverage only as recorded in tests.md. Unsampled inputs remain unproved.

### name-not-parser

key(Parent.name()) decodes in to At; key(Target.name()) decodes to to At; Stage.name() decodes status to Status. key(name(f)) cannot be identity on all Field.

Approximation/evidence: exact mathematical target under the stated domain, source-inspected correspondence; bounded executed coverage only as recorded in tests.md. Unsampled inputs remain unproved.

### domain-routing

gender/age/sleep/freedom/life select Tags; feeling selects TagSet; mother/father Char; num Num; name/goal/belief Text; trait/status Words; at/to/in Place. Routing does not parse payloads.

Approximation/evidence: exact mathematical target under the stated domain, source-inspected correspondence; bounded executed coverage only as recorded in tests.md. Unsampled inputs remain unproved.
