# Lifecycle forms from the corpus Analysis of real fragments: the package identifier, the act, the form verdict (exemplary / disputed / wrong form choice), and why. ## Law ### 1. Uzbekistan Civil Code — termination by a subject-matter predicate (disputed) Package `uz.civil_code` — Civil Code of Uzbekistan (`TerminationOnGround`): ```law @source(UZ_CC_P1_ART_340) rule TerminationOnGround(o: Obligation) strict { label uz-Latn official "nazarda tutilgan asosda tugaydi"; label ru unofficial "прекращается по предусмотренным основаниям"; when termination_ground(o); then obligation_terminated(o); } ``` Disputed, not exemplary: `obligation_terminated(o)` is a case predicate, not the std literal `urn:law:std#terminated` over the position id. Such a conclusion does not move the lifecycle (it runs only on std literals with a source, scope, and time). The form is legal as a world fact ("the contract is terminated"), but an author expecting a `TERMINATED` status in `positions()` from it mistakes the level — see `pitfalls.md`. ### 2. Uzbekistan Family Code — breach by comparison (disputed) Package `uz.family_code` — Family Code of Uzbekistan (declaration and conclusion): ```law relation minimum_violated(c: SupportCase) kind institutional { label ru unofficial "присуждённая сумма ниже минимума через МРОТ"; } ... when awarded_amount(c, amount); when mrot_amount(c, mrot); when amount * 10000 < mrot * 1175; then minimum_violated(c); ``` Disputed for the same reason: the breach is computed arithmetically and published under a subject-matter predicate instead of being derived by the engine from a maintenance counterexample. Enough for the package's norm-links (the "breached → indexation" link is built by a rule), but such a fact gives no `VIOLATED` status in a duty's `positions()`. ### 3. Uzbekistan Labour Code — breach from a measurement (disputed) Package `uz.labor_code` — Labour Code of Uzbekistan: ```law relation weekly_rest_violated(e: Employee, er: Employer) kind institutional { label uz-Cyrl official "ҳафталик дам бузилган"; label ru unofficial "еженедельный отдых нарушен"; } ... when weekly_rest_hours(employee, employer, hours); when hours < 42; then weekly_rest_violated(employee, employer); ``` The same boundary: the "under 42 hours" measurement is a ready-made maintenance counterexample but framed as a predicate, not as maintenance support. For the ladder to answer `VIOLATED`, a maintenance duty with a week window must read the measurement fact with its condition — then the engine links the counterexample itself. ## Standard and history ### 4. 1922 Union Treaty — a `positions()` query with `ACTIVE` (exemplary) Package `su.union_treaty_1922` — 1922 Union Treaty (question catalogue): ```law test "CATALOG-EXTERNALSTATELOANSPOWER" { given { context { decision_time @2026-08-25T12:00:00Z; knowledge_time @2026-08-25T12:00:00Z; legal_time @2026-08-25; timezone "Asia/Almaty"; } assert "cat-0": treaty_text_presented(UnionTreaty1922) { origin case_input; } } evaluate positions(); expect evaluation_status == COMPUTED; expect position(ConcludeExternalStateLoans, ACTIVE); } ``` Exemplary: the canonical corpus form of lifecycle observation — catalogue-generated questions: the world fulfils the premises, the query asks the status. The time axes separated (`legal_time` by date, `decision_time` by moment). ## Science and teaching packages ### 5. Breach chains — as subject-matter links in the corpus (form boundary) No direct uses of the std `violated(P)` literal and of "breach → compensation → sanction" chains found by a dedicated search (the `violated(`/`violation_of` predicates): the corpus links breach to consequence with rules over its own predicates (fragments 1–3 above). Verdict: not a choice error but an unused form — the std breach-compensation-sanction chain runs on the engine but the corpus never uses it. The `examples/defeat-and-violation/` examples show the rungs a chain is assembled from (`DEFEATED`, `VIOLATED`).