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

# algorithm-composition-wave10

The groupant beside algorithms/tests/composition_wave10.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 instance
- **source:** [`algorithms/tests/composition_wave10.rs`](https://github.com/ElamurAI/mova-free/blob/main/algorithms/tests/composition_wave10.rs)
- **source SHA-256:** `308a55df5bd5d985…`
- **repository folder:** [`algorithms/tests/composition_wave10.rs.groupant`](https://github.com/ElamurAI/mova-free/tree/main/algorithms/tests/composition_wave10.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 | [forward](#forward) |
| **ast** | partial | `syntax.json` |
| **cost** | symbolic unmeasured | [cost](#cost) |
| **descriptant** | present | [epoch-memory](#epoch-memory) |
| **invariant** | partial | [invariant](#invariant) |
| **tests** | existing checks referenced | [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 |
|---|---|---|---|
| `behavior_complement` | behavior_complement | partial source derived | [behavior_complement](#behavior-complement) |
| `reverse_reconstruction` | reverse_reconstruction | partial source derived | [reverse_reconstruction](#reverse-reconstruction) |
| `signed-distance-reachability` | potential_reachability_composition | partial source derived | [signed-distance-reachability](#signed-distance-reachability) |
| `forest-connectivity` | original_edge_identity | partial source derived | [forest-connectivity](#forest-connectivity) |
| `lcp-substring-count` | suffix_language_cardinality | partial source derived | [lcp-substring-count](#lcp-substring-count) |
| `bwt-wildcard-search` | reconstruction_search_composition | partial source derived | [bwt-wildcard-search](#bwt-wildcard-search) |
| `bounded-item-expansion` | multiplicity_encoding | partial source derived | [bounded-item-expansion](#bounded-item-expansion) |
| `lcs-witness-edit` | witness_projection_bounds | partial source derived | [lcs-witness-edit](#lcs-witness-edit) |
| `ntt-binomial` | coefficient_residue_identity | partial source derived | [ntt-binomial](#ntt-binomial) |
| `recurrence-annihilation` | generating_function_relation | partial source derived | [recurrence-annihilation](#recurrence-annihilation) |

## Model text


### model

## Native seventy-algorithm joins

### forward
Eight supplied-input API joins retain identities across exact algorithms. Each has its own domain; this is not one serial runtime pipeline.

### invariant
Preserve vertices, original edge indices, bytes, item multiplicity, witness coordinates, coefficient order and modulus. Leaf resource/error domains apply before comparison.

### cost
Sum reached calls and explicit oracle adapters. Enumeration/reference work can dominate; no library or school speedup follows. Per-view fixture bounds follow below.

### epoch-memory
2026-10-30: eight joins supplement independent leaf oracles. Recurrence denominator sign is a compiled adapter control. Syntax is partial; macro bodies opaque. No general proof or automatic substitution.

### behavior_complement

Type: behavior_complement.

In tagged supplied-input domains, exclude lost vertex/edge identity, changed restored bytes, collapsed multiplicity, reversed witness coordinates and mixed coefficient order/moduli. U minus the declared relation is a scoped specification, not the complement of sampled successes. Leaf assumptions apply; Pass requires actual assertions.

### reverse_reconstruction

Type: reverse_reconstruction.

Retain compatible inputs and intermediate snapshots. Distances, closure, forest weight, distinct count and optimum length have many preimages. Canonical BWT plus primary index recovers admitted bytes. Witness pairs omit unmatched symbols; tail zeros do not recover initial values. No unique global inverse.

### signed-distance-reachability

Type: potential_reachability_composition.

256 four-vertex graphs have w(u,v)=1+h(v)-h(u), hence no negative cycles. Johnson rows equal Bellman-Ford rows; deleting weights yields closure of finite-distance pairs. An unreachable negative cycle distinguishes global from source-local rejection. Sum reached solver costs and preserve vertices.

### forest-connectivity

Type: original_edge_identity.

For 64 five-vertex snapshots, Prim/Kruskal optimum weight and component count agree; witnesses may differ. Original selected edges preserve closure including isolate and loop, count V-components and sum to reported weight. Closure alone cannot prove minimality; leaf oracles remain required.

### lcp-substring-count

Type: suffix_language_cardinality.

For 255 binary words through length 7, n(n+1)/2-sum(LCP) equals suffix-automaton distinct nonempty count. Same-byte SA coordinates identify contributed prefixes. Equal counts lose language identity. Cost includes SA construction, Kasai, automaton build and enumerated membership queries.

### bwt-wildcard-search

Type: reconstruction_search_composition.

For 127 binary texts through length 6 and 15 needles through length 3, inverse(transform(text)) restores bytes. Full wildcard '*' + literal needle + '*' agrees with nonempty KMP output, including empty needle. Needles have no wildcard bytes. Malformed transforms, escaping and normalization are outside this join. Canonical inverse includes re-transform cost.

### bounded-item-expansion

Type: multiplicity_encoding.

64 three-kind count assignments 0..3 and capacities 0..10 expand into distinct 0/1 items with identical optimum. Weights 0,1,2 and small values admit exact u64/u128 conversion; zero-weight copies retain multiplicity. Expansion may cost more than binary decomposition. Optimum cannot reconstruct chosen copies.

### lcs-witness-edit

Type: witness_projection_bounds.

For 961 binary-word pairs through length 4, Hirschberg increasing index pairs preserve original-coordinate equality and project to LCS length L. max(n,m)-L <= Levenshtein <= n+m-2L; insertion/deletion upper bound is not substitution-distance equality. Maximal witnesses can share length; Eq must be lawful.

### ntt-binomial

Type: coefficient_residue_identity.

Repeated NTT multiplication by [1,1] through degree 40 yields C(n,k) modulo 998244353. Compute exact u128 coefficient before reduction; retain low-degree-first orientation. A residue has many integer antecedents. Fixtures do not certify arbitrary transform lengths or floating transforms.

### recurrence-annihilation

Type: generating_function_relation.

Four kernels generate 32 Kitamasa terms under the NTT modulus. Q(x)=1-c0*x-...-c(k-1)*x^k annihilates coefficients k..31 of Q*A. Initial coefficients remain unconstrained; terms beyond the supplied prefix have truncation effects and are excluded. Preserve order and modular negation. A compiled sign-flip adapter must fail. Cost is 32 nth-term queries plus convolution.

### evidence

#### Executed integration evidence, 2026-10-30

Eight native joins pass twice in debug and twice in release within the full suite of 341 unit tests, 30 integration tests and one doctest; sorted named outcomes match. A compiled change from Q=[1,-c0,...] to Q=[1,+c0,...] fails recurrence_denominator_annihilates_the_generated_tail with exit 101 and one failed assertion. Exact bytes are restored before all positive repeats. Strict all-target algorithms Clippy and crate formatting pass. Partial syntax exports repeat identically.

Fixture domains and remaining ambiguities are in model.md. These observations establish no universal proof, automatic production substitution or school performance. External receipt set: octopus-wave10-integration-2026-10-30. SHA-256 receipts:

- algorithm-check.log: 8e0f0430cee19a1d04945d4e6ad8e75950d49c379bec84e82a881566eff391b2

- adapter-mutant.log: ee855c74b7707725e88b92cf0f3b00bb2c2541e74551d42324c3b36976a056ec

- clippy-final.log: 60cec22b703124f44de562e147ab04d0edeec7555fbbea1806caaf318c734218

- fmt-final.log: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

- join-syntax-1.json: 511f03868e65eb667a459e0380881962067115c34ccf69a12e8e35f66851a84f
