Elamur Groupants⌕
☰

kg-uk

The groupant beside kg/src/uk.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

componentlabelwhere
approximantpartialapproximant
astpartialsyntax.json
compositionpartialcomposition
costpartialcost
descriptantpresentdescriptant
invariantpartialinvariant
testsexecuted bounded checkstests

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.

idtypelabelwhere
behavior_complementbehavior_complementpartial source derived modelbehavior_complement
reverse_reconstructionreverse_reconstructionpartial source derived modelreverse_reconstruction
failure_precedencefailure_precedencepartial source derived modelfailure_precedence
case_agreementcase_agreementpartial source derived modelcase_agreement
attachment_preferencesattachment_preferencespartial source derived modelattachment_preferences
completeness_boundarycompleteness_boundarypartial source derived modelcompleteness_boundary

Parts

Model text

descriptant

kg-uk

Conservative Ukrainian tokenization/rule Fact extraction and separate multiset completeness check.

Modeling epoch — 2026-10-31

Source read before tests and models; retained prospective notes accompany the parent. Current evidence uses bounded invented inputs only. This is partial modeling, not proof or corpus accuracy.

approximant

Forward relation

Tokenize, scan punctuation gate, then empty/>8/ASCII-digit/conjunction/unknown gates; proper-filter analyses, reject dash+finite verb. Enumerate finite analyses or nominal fallback; greedy attachments/case preferences produce candidates, deduplicate equal Facts and accept exactly one. render_check synthesizes members and compares normalized sorted word multisets after restoring prep/quantity/negation.

Executable approximant gap

Exact categorical structure, identifiers, parser decisions and effects have no useful percentage metric established here. No executable surrogate, automatic substitution or 1/2/5/10% guarantee is claimed.

invariant

Invariant and domain

Word coordinates index word tokens, not bytes/all tokens. render success proves per-member form compatibility and multiset completeness only, not roles/order/unique parse. Greedy rules do not enumerate all linguistic ambiguity.

Cost and resources

O(B) tokenization. After gates n<=8, a alternatives/word and P finite predicate analyses: conservative O(Pn^2a^2 + P^2n) for nested noun/attribute analysis scans and Fact deduplication; a and P are not globally capped. Render costs form search plus W log W sorting and retained strings. This refines the prospective O(Pn^2*a) hypothesis after inspecting nested agreement searches.

cost

Cost and resources

O(B) tokenization. After gates n<=8, a alternatives/word and P finite predicate analyses: conservative O(Pn^2a^2 + P^2n) for nested noun/attribute analysis scans and Fact deduplication; a and P are not globally capped. Render costs form search plus W log W sorting and retained strings. This refines the prospective O(Pn^2*a) hypothesis after inspecting nested agreement searches.

composition

Composition

Conservative Ukrainian tokenization/rule Fact extraction and separate multiset completeness check.

Tokenize, scan punctuation gate, then empty/>8/ASCII-digit/conjunction/unknown gates; proper-filter analyses, reject dash+finite verb. Enumerate finite analyses or nominal fallback; greedy attachments/case preferences produce candidates, deduplicate equal Facts and accept exactly one. render_check synthesizes members and compares normalized sorted word multisets after restoring prep/quantity/negation.

The parent invokes scoped transformations through the actual functions named in their source ranges. Children partition useful observations, not a complete semantic proof; boundaries can omit helpers, tests and effects.

models

behavior_complement

Gate rejection emits no Fact; multiple distinct surviving candidates are not arbitrarily selected. Acceptance does not exclude wrong roles or discarded linguistic alternatives; render success does not exclude wrong order.

reverse_reconstruction

Fact preimages vary punctuation/order/case/spelling and Morph/names state. render preimage includes supported form/index assignments with equal normalized multiset; Fact loses punctuation/rejected candidates.

failure_precedence

Punctuation in token order:1? Question,1,? comma Punct. Then empty,length,ASCII-digit,conjunction,first unknown,dash+verb. Unicode alphanumeric tokenization does not make non-ASCII numerals trigger Reject::Digit.

case_agreement

Present/future defaults subject person3; past plural requires PL, past singular tolerates unknown gender. For verb objects, governs treats (gov & !1)==0 (masks0 and1) as unrestricted; negation adds ROD to ZNA government. Prepositional phrases instead require an explicit governed case bit, so gov0 selects no PP case.

attachment_preferences

PP prefers MIS except pronouns/з/animate у/в ambiguity prefers ROD. Subject ties: sole exclusively-NAZ then sole pre-predicate; duplicate same-case objects reject.

completeness_boundary

Skip implicit; mask NEG for synth and restore не; relation restores prep/quantity; word index outside text becomes empty then usually fails form compatibility.

tests

Evidence

Parent source checks (a fragment inherits only the behavior they actually exercise):

Selected kg tests: 15 named outcomes, twice debug/twice release, equal sorted outcomes. Standalone actual global/build.rs: 3 named outcomes per run, twice debug/twice optimized; build_child is normally no-op, parent fixture invokes it against isolated synthetic seeds. Eight compiled source mutations (one per source) each compiled successfully and exited101 on the focused assertion; exact source restoration followed by positive rerun.

This fragment's untested branches remain source-derived. No live graph, DB, corpus, teacher, GPU or held-out evaluation was used. Command specs and numeric exits are retained in the external wave29 graphlang receipt. Strict kg Clippy reports existing source lints; see receipt.

prospective

Prospective graph-language encoding model — 2026-10-31

Read all eight sources before edits. No optimization proposed. All executable fixtures are tiny invented strings, compressed temp files, or isolated subprocess directories; no repository corpus, live store, teacher, GPU or held-out execution.

Composition hypothesis: Morph::load uses Gram then uk::parse produces Fact; render_check gives only multiset completeness; main encodes each member into registry-backed parallel columns with grammar and flags; textgen consumes Fact/Morph not encoded Edges directly. No read-edges-to-Fact reconstruction adapter exists here. global's lexical concept indices have no established Registry Id translation. Complement and preimage relations must preserve these separate tags. No meaningful percentage surrogate for categorical parse, identifiers, codec or effects is established; record executable approximant as unsupported.

This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/kg/src/uk.rs.groupant/