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

# algorithm-composition-wave14

The groupant beside algorithms/tests/composition_wave14.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:** [`algorithms/tests/composition_wave14.rs`](https://github.com/ElamurAI/mova-free/blob/main/algorithms/tests/composition_wave14.rs)
- **source SHA-256:** `efc34f10e66db3ba…`
- **repository folder:** [`algorithms/tests/composition_wave14.rs.groupant`](https://github.com/ElamurAI/mova-free/tree/main/algorithms/tests/composition_wave14.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** | bounded executed evidence | [evidence](#evidence) |

## 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 |
|---|---|---|---|
| `algorithm-composition-wave14-behavior-complement` | behavior_complement | partial source model | [behavior-complement](#behavior-complement) |
| `algorithm-composition-wave14-reverse-reconstruction` | reverse_reconstruction | partial source model | [reverse-reconstruction](#reverse-reconstruction) |
| `algorithm-composition-wave14-cover-flow` | unit_capacity_cover_flow | partial source model | [cover-flow](#cover-flow) |
| `algorithm-composition-wave14-priority-inverse` | common_preference_permutation | partial source model | [priority-inverse](#priority-inverse) |
| `algorithm-composition-wave14-prime-square` | canonical_modular_root_transport | partial source model | [prime-square](#prime-square) |
| `algorithm-composition-wave14-byte-matches` | bit_parallel_prefix_transport | partial source model | [byte-matches](#byte-matches) |
| `algorithm-composition-wave14-rotation-bwt` | cyclic_row_identity | partial source model | [rotation-bwt](#rotation-bwt) |
| `algorithm-composition-wave14-cartesian-lca` | leftmost_range_coordinate_transport | partial source model | [cartesian-lca](#cartesian-lca) |
| `algorithm-composition-wave14-inversion-reversal` | strict_pair_accounting | partial source model | [inversion-reversal](#inversion-reversal) |
| `algorithm-composition-wave14-subset-inverse` | normalized_boolean_lattice_inverse | partial source model | [subset-inverse](#subset-inverse) |
| `algorithm-composition-wave14-or-convolution` | boolean_union_product_transport | partial source model | [or-convolution](#or-convolution) |

## Model text


### model

## Wave14 native joins

### forward

Nine native joins preserve cover/flow cardinality, common-preference inversion, prime-root domains, byte matches, cyclic representatives, leftmost ranges, strict inversions and normalized subset/OR identities.

### invariant

Shared graph vertices, complete strict preferences, byte offsets, earliest tie indices, prime root domains and identical subset masks/moduli.

### cost

Bounded fixtures compose reached APIs; subset/pair and range oracles may be quadratic, modular brute roots are bounded by p<=100, and graph enumeration has 512 masks. No runtime gain claimed.

### composition

Each named test is a separate tagged relation. Composition requires identical graph vertices, byte/range coordinates, dictionaries, participant identifiers, schedules and residues on both sides. Distinct tests do not constitute one end-to-end pipeline. Independent finite or literal oracles remain distinct from cross-implementation equality.

### epoch-memory

2026-10-30 prospective design retained below; no speed or accuracy gain is claimed.

## Wave14 prospective joins

2026-10-30 base245248598c0bbe0522e7c5ac87c0aca10232aaf8. Ten exact original algorithms; four existing Mova source trees; bounded native supplied-input tests only.

Algorithm couplings: cover/matching cardinality in the same unit-capacity network; common preference priority inverted by stable marriage and counted by inversions; primality -> canonical modular root -> modular square; Shift-And/KMP byte matches; minimum cyclic rotation -> BWT row0; Cartesian parents -> LCA -> leftmost range minimum; sorting/reversal inversion identities; normalized subset zeta/Mobius identity; zeta pointwise multiplication -> OR convolution. OR must not become XOR. Shared coordinates and modulo normalization are premises. Every relation has a scoped complement and ambiguous converse; finite agreement is not general proof.

Mova couplings follow supplied Item/source/predecessor/evaluation identities, valid class/metric boundaries, supplied frame rendering and pure domain-knob/tuning helpers. Callback sets used for adoption are tuning validation, not untouched final tests. No live journal, parser, teacher, corpus or GPU execution. Costs compose only reached APIs and bounded oracles; no throughput or accuracy gain predicted. Original algorithms remain exact, no approximation substitution.


### checks

9 named tests pass twice in debug and twice in release. The compiled adapter control fails its named assertion and exact source bytes are restored. Partial syntax repeats identically; evidence.md records native and structural receipts. Macro bodies remain opaque; semantic AST and whole-system proof are absent.

### catalog

## Wave14 supplied-input relations

Source-derived specifications; bounded native evidence and repeated partial syntax are recorded in evidence.md. No general proof or complete inverse engine is claimed.

### behavior-complement

Type: behavior_complement. Named check: all nine algorithm checks.

Universe: tagged lawful graph, preference, residue, byte and range inputs with candidate adapter outputs. Exclude uncovered edges or cover/matching/flow cardinality disagreement, a noninverse common-preference assignment, composite prime-gate success or a noncanonical modular root, missing/extra byte matches, a nonminimal/later-tied rotation, a nonleftmost range minimum, wrong strict inversion accounting, failed normalized subset identity and OR output using XOR coordinates. These concrete exclusions are conditional on shared valid domains; finite checks do not prove all Rust paths.

### reverse-reconstruction

Type: reverse_reconstruction. Named check: all nine algorithm checks.

Retain each tag's compatible input fiber. Cover cardinality loses graph edges; inverse assignments recover priority only under common complete preferences; roots lose the sign representative; match vectors lose unmatched bytes; minimal indices lose text; minima lose larger values; inversion totals lose ordering; normalized transforms recover residues but not integer lifts; OR convolution admits multiple factor pairs. Reverse composition preserves identical shared coordinates. Passing transcripts also admit implementations differing outside tested bounds; no unique cause or general inverse is inferred.

### cover-flow

Type: unit_capacity_cover_flow. Named check: cover_and_matching_share_the_same_flow_network.

For all 512 three-by-three bipartite graphs, the unit-capacity source-left/right-sink network preserves vertices. Every edge meets the returned cover; cover size equals matching size and Dinic flow, which equals its returned source-side cut capacity. Exclude uncovered edges or scalar disagreement. Equal cardinality leaves graph, matching and cover ambiguity. Cost composes reached matching/flow traversals on bounded networks; no dense-network performance claim.

### priority-inverse

Type: common_preference_permutation. Named check: common_preferences_transport_priority_to_inverse_permutation.

For n<=5, receivers share priority permutation q and proposers share receiver order 0..n. Assignment[q[r]]=r and inv(assignment)=inv(q). Exclude any different assignment in this complete strict common-preference family. Assignment uniquely recovers q only in this restricted family; inversion count has many fibers and arbitrary preference lists remain ambiguous.

### prime-square

Type: canonical_modular_root_transport. Named check: prime_gate_and_canonical_root_preserve_modular_squares.

For p<=100 primality equals sieve membership and composites reject sqrt_mod. For prime p and 0<=a<p, the result equals the first ascending brute root or None; returned r satisfies pow(r,2,p)=a and r<=p-r. Exclude composite-domain success, nonroots and the larger unequal sign representative. Squaring identifies r and p-r; canonicalization cannot recover integer lifts. Costs include bounded root enumeration and exact modular arithmetic.

### byte-matches

Type: bit_parallel_prefix_transport. Named check: bit_parallel_matches_keep_kmp_byte_boundaries.

All binary texts through length six and patterns through four satisfy Shift-And=KMP=the starts_with boundary oracle. Empty patterns include the terminal boundary and overlaps remain. A 64-byte all-255 pattern in 66 bytes returns [0,1,2]; length 65 errors. Exclude character-coordinate substitution, lost overlaps and top-bit errors. Match vectors cannot recover nonmatching bytes; patterns longer than 64 are outside the successful equality domain.

### rotation-bwt

Type: cyclic_row_identity. Named check: minimal_rotation_preserves_bwt_column_and_earliest_tie.

For ternary strings through length six, rotating at the chosen index equals inverse(BWT.last,0), retains the BWT last column and uses the first original start yielding those bytes. Empty input selects zero. Exclude a later periodic tie even when bytes/BWT agree. Last column without original primary row loses phase; the minimal representative cannot recover that phase. Bounded BWT joins remain separate from independent leaf rotation oracles.

### cartesian-lca

Type: leftmost_range_coordinate_transport. Named check: cartesian_parent_lca_recovers_leftmost_range_minima.

For ternary arrays through length six and nonempty [l,r), LCA(l,r-1) on Cartesian parents equals argmin(value,index), and SparseTable returns that value. Exclude exclusive r as a vertex or later equal minima. Minima lose larger values and topology loses magnitudes. Original indices and earliest ties must agree. Bounded range enumeration adds quadratic queries.

### inversion-reversal

Type: strict_pair_accounting. Named check: inversion_observations_preserve_sort_and_duplicate_reversal.

For ternary arrays through length six, inv(a)+inv(reverse(a)) equals the number of unequal indexed pairs. Merge sorting yields zero inversions. Equal pairs contribute neither direction. Exclude counting equality or using n(n-1)/2 with duplicates. Sorted values and inversion totals retain many compatible source permutations; zero cannot recover values.

### subset-inverse

Type: normalized_boolean_lattice_inverse. Named check: subset_inverse_preserves_normalized_residues.

For lengths 2^b with b<=5 and moduli 1,2,6,97,u64::MAX, zeta(a)[S]=sum_{T subset S}a[T] modulo m and Mobius(zeta(a))=a modulo m. Primality is unnecessary. Exclude missing empty subsets or requiring equality of integer lifts. The full transform recovers residues uniquely, but arbitrary u64 lifts remain ambiguous; m=1 collapses all inputs. Direct oracle is quadratic; transforms cost O(b*2^b).

### or-convolution

Type: boolean_union_product_transport. Named check: zeta_product_inverts_to_or_convolution.

For eight-coordinate vectors, sixteen seeds and moduli 1,6,97,u64::MAX, Mobius(zeta(a)*zeta(b))[S]=sum_{i|j=S}a[i]b[j] modulo m. Products use u128 before reduction and stages preserve mask coordinates. Exclude XOR or polynomial-coordinate substitution. Output loses factors, including factor order; integer lifts are also ambiguous. Transform cost O(b*2^b), brute oracle O(4^b); no measured gain claimed.

### evidence

#### Wave14 bounded evidence, 2026-10-30

9 new native joins. Source SHA-256 efc34f10e66db3ba190e5fd2154b09929534b5b0374c2e6fcbac772156c41950; twice-identical partial syntax SHA-256 c4a15b5f1f96598bf44e0e9c38d2b45d4868812af893411ef673d66897b9a8e3.

464 algorithm tests (416 unit, 47 external, one doc) and 101 selected Mova checks pass twice in debug and twice in release with identical normalized named outcomes. Mova checks comprise the previous 75 and 26 reached checks: eval 4, data 6, frames_md 7, tune 4 and five new joins. These selected Mova checks do not represent the complete Mova suite.

Ten new algorithm production mutations and eight false-oracle mutations fail named assertions in owner receipts. Four Mova production mutations fail named assertions. Both root adapters compile and fail their intended named assertions: zeta_product_inverts_to_or_convolution (wrong inverse stage) and batched_items_keep_source_identity_through_classification (wrong source window). Exact source bytes are restored before positive runs. Compilation failures do not count as semantic rejection.

Strict all-target algorithms Clippy and algorithms formatting pass. Historical world/prag warnings remain. No benchmark, throughput, GPU, teacher/parser acquisition, full-school run, held-out accuracy, persistent adoption or general proof is claimed. Tiny supplied-input fitting exercises actual classifier calls. Tuning validation participates in candidate choice and is not an untouched final test.

Raw receipts: $MOVA_DATA/runs/octopus-wave14-integration-2026-10-30. native-evidence-hashes.json SHA-256 d95a91417adeb7f8e755d26f900b6508ea17759291407f33153917a42396280f; algorithm-adapter-mutant.log d2279a28cc474377b1d9321e15d4c779b0af8507f81ac39e83338bc9084a02a2; mova-adapter-mutant.log 60567fa4d984ac58834be268cdb221a37caf30bd5d07e9a3d6a2d89c16fdac87; mova-all-normalized.txt fb492ea8097fd74fe50cdceb5d61cb49efc74baa6cb152f7699e546dcbb3ac20; structural-controls/summary.json a50d4387189f34044579c0d068475201acf1f6e7ee8e3297c0db6909f3180975. The structural controls reject stale parent-source bindings and wrong child identities, restoring exact bytes. Source syntax remains partial, with opaque macros and no semantic AST.
