Elamur GroupantsโŒ•
โ˜ฐ

rule-court-evaluation

The groupant beside models/rule-court-evaluation.groupant 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
approximantpartialforward
astnot materialized
compositionpartialcomposition
costsymbolic source derivedcost
descriptantpresentdescriptant
invariantpartialinvariant
testssee source local evidencechecks

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
clause-boolean-transportrepresentation_transportpartial source derived modelclause-boolean-transport
duty-anchor-projectionduty_completionpartial source derived modelduty-anchor-projection
lookup-to-precedenceordered_lookup_compositionpartial source derived modellookup-to-precedence
count-to-reportfinite_fiber_aggregationpartial source derived modelcount-to-report
protocol-state-boundaryeffect_observationpartial source derived modelprotocol-state-boundary

Model text

descriptant

rule-court-evaluation: wave31

Actual joins: rule::Rule nested Clause arrays are interpreted by court as condition AND-of-OR and exception OR-of-AND; juris::cover supplies No/Broad/Sure anchor relation, authority/severity determine ranking/outcomes. extract::rules_of output passes through attach_but_if then mark_disputes before loading/evaluation elsewhere; no direct corpus execution claimed. report::judge_all calls court choice_of_law/lattice/evaluate/tipping; absurd::flags calls court and report::harm_of. measure uses Rule and Jurisdiction but no verdict inference. lib declarations only expose APIs; tests are callers with hand-built state. CLI protocol hash observes disk bytes while report state uses in-memory rules, so equality is not implied.

This source-bound partial group organizes existing Mova code. Native evidence and excluded effects are recorded in source sidecars and the root wave31 report. Registration is not a universal proof or whole-system runtime claim.

model

rule-court-evaluation

forward

Rule TSV representation and frame-derived Clause/Rule values feed Jurisdiction vocabulary/authority/severity lookup. court::lattice matches defendant facts, excludes completed duties, builds local/global choice points, caps16 rules and counts weighted assignments. evaluate resolves local eligibility, disputes, precedence then suspension. report and absurd independently consume those lattice/evaluate/tipping outputs; measure is a tagged independent synthetic Gold comparison path; CLI dispatch joins these APIs and adds I/O.

invariant

Rule jurisdiction/source/authority identity survives matching and report references. Local points are reindexed after cap and assignments stay within option cardinality. For generated binary local points and representable arithmetic, total=sum counts=Cartesian assignment count; duty Some(0) is absent, negated duty retained with act_verb-derived label. No legal correctness or empirical authority is inferred.

cost

Let L include matching and O(2^ngE) count for n<=16, g global combinations and E evaluation; T is distinct-point subset search through requested depth, allocated before level cutoff. report repeats L+T for full/clean jurisdictions and devices; absurd adds device/status lattices and P one-point evaluations. Codec/TSV costs whole input bytes plus grouping; finite u128/usize and memory limits apply, cap16 does not bound local points.

composition

Actual joins: rule::Rule nested Clause arrays are interpreted by court as condition AND-of-OR and exception OR-of-AND; juris::cover supplies No/Broad/Sure anchor relation, authority/severity determine ranking/outcomes. extract::rules_of output passes through attach_but_if then mark_disputes before loading/evaluation elsewhere; no direct corpus execution claimed. report::judge_all calls court choice_of_law/lattice/evaluate/tipping; absurd::flags calls court and report::harm_of. measure uses Rule and Jurisdiction but no verdict inference. lib declarations only expose APIs; tests are callers with hand-built state. CLI protocol hash observes disk bytes while report state uses in-memory rules, so equality is not implied.

domain

Tiny manually constructed cases/rules, finite nonnegative statistical weights with finite positive total where defined, valid lattice indices/options, representable shifts/products, successful allocations. Selected tests use at most a few rules; explicit enumeration<=128 assignments. Parser-model initialization, real corpus/gold and full CLI side effects excluded.

limitations

Dependency semantics unchanged; deterministic BTree ordering and fixed fixture order. Partial syntax has no macro expansion or semantic resolution. Existing source production bytes unchanged; only tests appended in extract.rs/main.rs/tests/court.rs. Repeated successful tests are finite correspondence. No meaningful executable approximate metric established.

checks

catalog

behavior-complement

For generated valid tiny lattices, excluded composite observations include completed duties retained for verdict, blocked rules firing, misindexed local points after cap, count mass not matching assignment partition, and historical reference mass mixed into modern layer. Exclusion is source-derived with finite witnesses, not an exhaustive proof.

reverse-reconstruction

A reported verdict/count admits all compatible rule/case/jurisdiction/assignment states satisfying the joined lookup, eligibility and precedence relations. TSV normalization, clause projection and count aggregation each lose information; retain intermediate compatible states rather than infer a unique original text, law or case.

clause-boolean-transport

Rule codec preserves nested grouping only on delimiter-safe canonical domain. Conditions use semicolon groups with pipe alternatives; exceptions semicolon groups with plus conjunctions. court chooses max condition Status and min exception Status. Swapping separators is a counterexample to correct wiring.

duty-anchor-projection

An obligation anchored on its act records duty0 when positive and duty2 when negated; completed duty is skipped before cap/evaluation. Condition-anchored duty uses clause_status, with Unknown/Broad ->1. Verdict label uses first act_verb, not patient text; no retained matched-rule witness exists for skipped duty.

lookup-to-precedence

Jurisdiction Cover selects anchor strength and potential Reading point; authority first substring supplies rank; severity last max-rank match supplies Liability severity. Evaluate applies chosen principle strict key comparison with earlier-body ties, then suspension. Changing one order changes winning trace even if same rule set.

count-to-report

count groups local assignment fibers and full global Cartesian assignments, while tipping explores only limited distinct-point alternatives. Report reachability within depth is a subset observation, not full-lattice exclusion; sensitivity compares one-tip verdicts to other counted verdicts.

protocol-state-boundary

protocol hashes currently read disk rules.tsv, default empty on read failure, while lattice records use current in-memory Jurisdiction rules and caller-supplied report text. Coherence requires these independently supplied observations to refer to the same snapshot; FNV collisions and concurrent file changes defeat unique reconstruction.

This page in Markdown โ†’ https://md.groupants.elamur.ai/free/en/mova/models/rule-court-evaluation.groupant/