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

# world-principles

The groupant beside world/src/principles.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
- **status:** partial source bound model
- **source:** [`world/src/principles.rs`](https://github.com/ElamurAI/mova-free/blob/main/world/src/principles.rs)
- **source SHA-256:** `cdb5ef0db3da9ca5…`
- **repository folder:** [`world/src/principles.rs.groupant`](https://github.com/ElamurAI/mova-free/tree/main/world/src/principles.rs.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 source model | [forward](#forward) |
| **ast** | partial | `syntax.json` |
| **composition** | partial source model | [composition](#composition) |
| **cost** | partial source model | [cost](#cost) |
| **descriptant** | partial source model | [epoch-memory](#epoch-memory) |
| **invariant** | partial source model | [invariant](#invariant) |
| **tests** | partial source model | [checks](#checks) |

## 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 |
|---|---|---|---|
| `world-principles-behavior-complement` | behavior_complement | partial source model | [behavior-complement](#behavior-complement) |
| `world-principles-reverse-reconstruction` | reverse_reconstruction | partial source model | [reverse-reconstruction](#reverse-reconstruction) |
| `world-principles-coupling` | constraint_relation | partial source model | [coupling](#coupling) |

## Parts

- [world-principles-render-selection](https://md.groupants.elamur.ai/free/en/mova/world/src/principles.rs.groupant/render-selection.groupant/)
- [world-principles-teacher-retention](https://md.groupants.elamur.ai/free/en/mova/world/src/principles.rs.groupant/teacher-retention.groupant/)
- [world-principles-list-boundary](https://md.groupants.elamur.ai/free/en/mova/world/src/principles.rs.groupant/list-boundary.groupant/)

## Model text


### model

## world-principles

### forward

S(F) prefixes `a {subj} ` and applies link/polarity templates: IsA -> `is a`/`is not a`; Has -> `has`/`does not have`; Can -> `can`/`cannot`; Does -> `does this:`/`does not do this:`. Other links use optional `not ` followed by know::link_name(link). Append space+obj, uppercase the body's first character, and append '.'.

key(F)=subj+'|'+Debug(link)+'|'+obj+'|'+negation. E(K,C) retains encounter-order Facts whose source starts `derived from` and whose key is absent from C. Q(K,C,n)=take_n(first-per-key(stable-sort-by-key(E))). Equal keys retain the first encounter's full Fact. The cache wrapper obtains C from checked(), an unexecuted filesystem boundary.

For list count L and request n, stride=max(1,floor(L/n)) when n>0, otherwise 1. I(L,n) takes the first n multiples of stride below L; I(L,0)=[]. round/write_world consume selected batches and cached verdicts; teacher T is a judgment, not a truth predicate.

### invariant

Q preserves full chosen Facts, excludes checked/nonprefix candidates, orders keys ascending, emits each key at most once and returns at most n. Sorting is not confidence ranking; source prefixes do not enforce lesson/exam separation. statement/key omit frequency/count/provenance, and pipe-key collisions remain possible. Stride is nonzero; zero requests select nothing but still load CLI knowledge.

### cost

F supplied facts and D checked keys require O(F log(D+1)) membership comparisons and O(F log(F+1)) sorting comparisons, including allocated-key/string work. Cloning/storage is O(total candidate bytes). Statement is linear in rendered bytes. Step calculation is constant-time; index observation costs O(min(L,n)). Knowledge/cache/teacher cost remains opaque; no measured speed claim.

### composition

Source callers: main dispatches main_args; family invokes round once per research round and reports returned counts/errors; round consumes pending and statement then external teacher/cache/world operations. Native public join: caller-supplied know::Fact -> statement. Selection tests call the exact private pure helper used by pending with supplied keys, avoiding filesystem state.

### epoch-memory

2026-10-30: initial source-bound review. Prospective cost model predicts no asymptotic change: selection helper extraction preserves sorting and cloning; list repair replaces one scalar division with checked division. Old zero-limit native witness divides by zero. Final implementation returns a nonzero stride and take(0) produces no rows. Mind production behavior is unchanged. No surrogate, speed or full-system correctness claim.

Follow-up modeling epoch: source-specific tagged transition exclusions and ambiguous preimages replace generic root statements. Source bytes and native evidence are unchanged.

### checks

cargo test -p world --lib principles::wave12_models -- --test-threads=1. File evidence.md binds repeated native profiles and compiled production controls. Partial syntax leaves macros opaque; source-bound syntax is not semantic AST verification.

### behavior-complement

Domain and observation scope: Tagged statement(F), select(K,C,n), list(L,n) on finite supplied Facts/Knowledge, checked-key set C and usize limits; fixed link_name dependency. Teacher/cache/publication traces form a separate source-inspected conditional slice.

U is the disjoint union of tagged statement, supplied-selection and index-list input/output candidates; R comprises S,Q,I. U minus R excludes wrong statement template/polarity, subject/object bytes or punctuation; Q outputs containing ineligible/checked Facts, duplicate or descending keys, more than n entries, the wrong sorted truncated prefix or a later duplicate's full Fact instead of the first; and nonempty I for n=0, zero stride or incorrect sampled indices.

Eight statement rows, 40 subset/limit cases and 400 stride cases support selected source-derived exclusions. This relation does not establish truth of derived-prefix Facts or teacher T. Conditional teacher-retention formatting/selection is inspected only; atomic publication, correct external verdicts, concurrency-safe budgets and failure recovery are not asserted.

### reverse-reconstruction

For statement y retain all F with S(F)=y, including arbitrary frequency/count/provenance and compatible subject/object/link template decompositions. For selected full-Fact vector V retain all K,C,n with Q(K,C,n)=V: V's eligible keys are unique/ascending, its full Facts are the first encounters, and additional eligible keys obey the exact truncation boundary. Checked/nonderived records, duplicate alternatives and tail candidates remain ambiguous; neither K,C nor n is uniquely recoverable.

For index J retain all (L,n) with I(L,n)=J; empty J admits n=0 or L=0. Source-inspected retained teacher rows admit all compatible final numbered verdict parses and publication histories; a T label cannot recover true-world facts or complete antecedent knowledge. Tags are model observations; text alone retains the union of compatible tagged fibers.

### coupling

Source callers: main dispatches main_args; family invokes round once per research round and reports returned counts/errors; round consumes pending and statement then external teacher/cache/world operations. Native public join: caller-supplied know::Fact -> statement. Selection tests call the exact private pure helper used by pending with supplied keys, avoiding filesystem state.

Typed entries bind the manifest source revision, this section's domain/operator/observation, and the named finite checks. Status is partial source-derived model. No complete reconstruction search, universal proof or factual-truth guarantee is claimed.

### evidence

#### Native evidence, 2026-10-30

Final source SHA-256: `cdb5ef0db3da9ca5761580326e66abbbfbbb8e69414a57485adf5fc5b1aa8c42`.

Six selected native tests (three per source) pass twice in debug and twice in release with identical normalized test names/results. Command: `cargo test -p world --lib [--release] wave12_models -- --test-threads=1`. This is not the full world suite. Existing unrelated compiler warnings remain; no whole-world Clippy claim.

Mind checks include 49 pairwise literal segmentation fixtures, heading/bullet order and three zero-projection public tell/reply inputs preserving supplied identity and state-lines observations. Principles checks include eight polarity templates with provenance/frequency/count information-loss probes, 40 subset/limit selections preserving first duplicate source, and 400 list-stride cases including zero limits.

Old-code witness `principles::wave12_models::zero_list_limit_has_no_division` panics on division by zero after extracting the unchanged arithmetic. The repair uses checked division and preserves positive-limit sampling. Zero-limit CLI loading remains opaque; no speedup is inferred.

Compiled production controls: removing mind's heading filter fails `mind::wave12_models::line_projection_finite_oracle`; reversing principles' key comparison fails `principles::wave12_models::pending_finite_subset_order_and_stable_provenance`. Each fails an equality assertion, not compilation; exact source bytes are restored and the named test passes.

Repeated syntax projections and structural reports are byte-identical. External full-base registry scaffold validates both file trees with no diagnostics; its absent scaffold sidecar is intentional. Changed-source registration covers both owned sources. Root owns integrated ancestry. New test modules were rustfmt-formatted independently; broad legacy formatting was avoided; diff whitespace passes.

Raw logs are retained under `$MOVA_DATA/runs/octopus-wave12-mind-2026-10-30/`. Log hashes:

- `final-debug1.log`: `0cbbbb8401fe96d544a442052b3d0d7a3be5c7d05db8f8ae2604194cadf7d761`
- `final-debug2.log`: `b98e07739321432f58c9695f232147a9b35750ea77689065b2107e529b935274`
- `final-release1.log`: `69449e455ac0ec346457ada540373ec07bb4f1c70955fd83a2c666d5238e0f82`
- `final-release2.log`: `813d1bb163cad9572f2cc16631529e0b5a03c7427b761d6c1c6fdb733c532bec`
- `old-witness.log`: `0318bb3c85d5788d176dd55f2d292d0eb60c331693ed1d6bbc62303643ba3836`
- `mutant-mind.log`: `20c9d2b3f65a6d968a2566e699417c51fbb58c59edee36d4be826a4cebc024a8`
- `mutant-principles.log`: `12b3036aa3279cd09150154c73f091547ee500f29ab59944a75d3b73cd81bf25`
- `restored-mind.log`: `9b6644eda28d38931969b429528e99ed9d08205c86aa37420d09996f549fd9e1`
- `restored-principles.log`: `4fbb1d8076541c63a8909a56c92db63a7b266f479cd9630089f6eb5cf7d27653`
- `final-groupants1.json`: `7217ce6f629c6b4acc6cd89f0452593a8eae084f0274c88720c42d070335b150`
- `changed.json`: `d9456b7ed39861a4ff996507c17d6f43dc38f58387a418a72c61f5b075cdb0ac`

No parser, teacher, socket, live course or durable-state operation was executed. Public pure joins are supplied Fact to statement, and Story set_me plus empty tell/reply plus state_lines. Private pending_with tests use supplied checked keys; they do not validate checked-file reads. Family/worldbook call sites are inspected only. Teacher T is a judgment rather than an independent truth oracle; key/prose projection loses frequency, count and provenance. Unescaped pipe-key collisions and multi-file partial commits remain explicit limitations.
