docs← Back to article

Markdown for LLMs

Lifecycle forms from the corpus

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# 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`).