onto-kb-property-resolution
The groupant beside onto/src/kb.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
| component | label | where |
|---|---|---|
| approximant | partial | approximant |
| ast | partial | ../syntax.json |
| composition | partial | composition |
| cost | partial | cost |
| descriptant | present | descriptant |
| invariant | partial | invariant |
| tests | executed bounded checks | 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 |
|---|---|---|---|
behavior_complement | behavior_complement | partial source derived model | behavior_complement |
reverse_reconstruction | reverse_reconstruction | partial source derived model | reverse_reconstruction |
layer_order | layer_order | partial source derived model | layer_order |
dominance | dominance | partial source derived model | dominance |
winner_tie | winner_tie | partial source derived model | winner_tie |
unknown_fiber | unknown_fiber | partial source derived model | unknown_fiber |
Model text
descriptant
onto-kb-property-resolution
A_l=visible ancestor assertions on layer l; l*=first nonempty layer; M=descendant-minimal concept candidates; Known iff values(M) singleton
Epoch 2026-10-31
Specialized source fragment bytes [19717,21981); shared parent AST. Excludes unrelated parent operations and added test module.
approximant
Scoped forward
A_l=visible ancestor assertions on layer l; l*=first nonempty layer; M=descendant-minimal concept candidates; Known iff values(M) singleton
Domain
This byte-scoped operator uses the parent valid-state domain plus the following local restrictions:
First nonempty layer decides before specificity
i removed if distinct candidate descends from i
Equal-value minimal candidates choose min(depth,index)
All visible A_l empty yields Unknown
No executable percentage surrogate established.
Visibility switch domain
The layer-chain equations, invisible-layer exclusion and invisible-seed preimage freedom require leak_all_layers == false. With the diagnostic switch true, prop instead scans all layer indices in reverse order, independent of the requested layer's parent chain; a nominally invisible layer can then decide. Index/acyclicity assumptions still apply. The executed fixtures keep the switch false; its compiled mutant deliberately sets true and fails the real-layer assertion.
invariant
Local observations
Mixed minimal values excludes Known; beaten list excludes candidates from shadowed layers
First nonempty layer decides before specificity
i removed if distinct candidate descends from i
Equal-value minimal candidates choose min(depth,index)
All visible A_l empty yields Unknown
Visibility switch domain
The layer-chain equations, invisible-layer exclusion and invisible-seed preimage freedom require leak_all_layers == false. With the diagnostic switch true, prop instead scans all layer indices in reverse order, independent of the requested layer's parent chain; a nominally invisible layer can then decide. Index/acyclicity assumptions still apply. The executed fixtures keep the switch false; its compiled mutant deliberately sets true and fails the real-layer assertion.
cost
Scoped cost
Initial BFS O(Va+Ea); collect/sort matching seeds O(Ac log Ac); per selected layer K ancestor maps O(sum reachable graphs) and O(K²) dominance comparisons. Stores those K maps and selected proof chains. Other layers scanned until first nonempty.
Symbolic accounting; no timing claim or whole-system speed bound.
composition
Parent join
property-resolution supplies the parent relation: A_l=visible ancestor assertions on layer l; l*=first nonempty layer; M=descendant-minimal concept candidates; Known iff values(M) singleton
Output compatibility is conditional on the local domain and earlier-branch exclusions. Other parent branches are outside this fragment.
models
behavior_complement
Mixed minimal values excludes Known; beaten list excludes candidates from shadowed layers
reverse_reconstruction
Known preimage requires matching all minimal values and winner depth/index; invisible seed additions preserve answer
layer_order
First nonempty layer decides before specificity
dominance
i removed if distinct candidate descends from i
winner_tie
Equal-value minimal candidates choose min(depth,index)
unknown_fiber
All visible A_l empty yields Unknown
Visibility switch domain
The layer-chain equations, invisible-layer exclusion and invisible-seed preimage freedom require leak_all_layers == false. With the diagnostic switch true, prop instead scans all layer indices in reverse order, independent of the requested layer's parent chain; a nominally invisible layer can then decide. Index/acyclicity assumptions still apply. The executed fixtures keep the switch false; its compiled mutant deliberately sets true and fails the real-layer assertion.
tests
Evidence
Parent tests.md identifies selected actual-code checks. Fragment is a source-scoped partial model; parent finite fixtures do not establish exhaustive branch coverage or every local equation.
This page in Markdown → https://md.groupants.elamur.ai/free/en/mova/onto/src/kb.rs.groupant/property-resolution.groupant/