docs← Back to article

Markdown for LLMs

Claim, entitlement, and correlative views

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

Download this articlePlain text ↗
# Claim, entitlement, and correlative views

> Updated 3 October 2026: `concept`, `except_when`, `claim`, `definition … sufficient`, and `default` strength have been removed, together with their special deprecation diagnostic. References below to the former behavior and corpus sources are historical. New source uses `relation`, `unless`, `duty`, a strict rule, and `defeasible`.

**In one sentence:** the claim constructs answer "to whom and from whom it is
due" without creating new entities: a claim is a duty
read from the creditor's side, and an entitlement is a word of the act's vocabulary
that the author must lower to a duty, a power, or a fact.
The author takes them when the text says "has the right to demand", "is entitled to
receive", "is exempt from": the parties are already named; the question is which
executable form to choose.

## 1. When to take it and when not to

| Instead | Selection rule |
|---|---|
| A creditor's right and `duty` | `claim_right(holder, against, content)` is a query view of a duty ([§129](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/18-part-xvii-normative-positions.ru.md#129-correlative-views)), not a modality or a new rule head. Write the position as `duty`, with `bearer` for the obliged party and `beneficiary` for the party entitled to performance |
| `claim_right(...)` vs `duty` | Query the correlative view with `claim_right`; create the normative position with a rule head `duty`. Both refer to the same position |
| Bare `entitlement` vs explicit lowering | There is no bare `entitlement` in the 0.2 surface. [§131](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/18-part-xvii-normative-positions.ru.md#131-entitlement-sugar) requires a choice: a `duty` owed to a named party, a power to demand, a constitutive eligibility fact, or a combination. No choice — no norm |
| `entitlement` as `power` vs `entitlement` as fact | A power "to demand" (the organ decides, the effect follows) — `power` with the applicant as `holder` and conditions as `valid_when`. Stating "meets the conditions" (arithmetic decides, not an organ) — an institutional fact by a `strict` rule. Mix them up and the effect either awaits an event that never comes, or follows without the decision it needs |
| `discretion` vs `power` with options | Discretion is not a modality: liberty of choice is written as `power` with several admissible `exercise`/`effect` options plus legality constraints on the choice. There is no separate keyword |

## 2. Minimal example

Package `examples/claim-duty-mirror/`: a teaching charge, a tribunal's
duty to afford a fair trial — expressed as `duty` with `bearer` and
`beneficiary`. The old `then claim` spelling appears below only as historical
material; new source uses `duty`.

```law
rule RightToFairTrial(who: Person, organ: Authority) strict {
    label ru-KZ official "Обвиняемый имеет право на справедливое разбирательство";
    when charged_by(who, organ);
    then duty FairTrial {
        bearer organ;
        beneficiary who;
        goal achievement {
            condition fair_trial_afforded(who);
            window [@2026-01-01, @2026-12-31];
        }
    };
}
```

Case facts: `charged_by(accused, tribunal)` and
`fair_trial_afforded(accused)` with `origin case_input`. Query:
`evaluate truth(fair_trial_afforded(accused))`.

The engine's actual answer:

```text
law test research.claim.mirror: мир research.claim.mirror
  ok   [research.claim.mirror#authored] tests/01-granted.lawtest / urn:query:research-claim-01
  ok   [research.claim.mirror#authored] tests/02-absent.lawtest / urn:query:research-claim-02
итого: 2 проверено, 2 прошли, 0 не прошли, 0 не исполнены; код 0
```

`law engine check` — `check OK` with no warnings.
Sensitivity: deleting the `fair_trial_afforded` fact changes the expectation from
`TRUE_ONLY` to `NEITHER` (file `tests/02-absent.lawtest`) — the example is not
vacuous.

Nearest wrong outcome: the same package with
query `evaluate positions(); expect position(FairTrial, SATISFIED);`
passes with both facts and `decision_time` inside the window — a claim lives on
the duty ladder; it has no status of its own. The reverse would be the
mistake: expecting `claim` to have its own status scale.

Second package `examples/entitlement-as-power/` — the same lowering device
for an entitlement into a power: an application produces the organ's power to issue
a permit, validity — `valid_when (competent(a))`:

| Facts | Question | Answer | Why |
|---|---|---|---|
| application, competence, issuance act | `permit_issued` | `TRUE_ONLY` | a valid exercise materialized the effect |
| application, issuance act, no competence | `permit_issued` | `NEITHER` + `POWER_INVALID_EXERCISE` | the position exists, `valid_when` not held, no effect created |

Second-package sensitivity: deleting `competent` changes the outcome from
`TRUE_ONLY` to `NEITHER` with an issue (files `tests/01-valid.lawtest`,
`tests/02-invalid.lawtest`).

## 3. Example across domains

- **Law:** an old corpus snapshot of package `un.ilc.nuremberg_principles` —
  Nuremberg Principles — contained `then claim FairTrial` (see
  `corpus-forms.md`). This is historical evidence, not a current syntax example;
  current source uses `duty` with `bearer` and `beneficiary`.
- **Standard/protocol:** no corpus use of `claim` outside law; the mirror device
  carries over unchanged: the party that is "due" is written as the provider duty's
  `beneficiary`. A model power-lowering with `valid_when` — Kazakhstan Civil Code guardianship
  (see `corpus-forms.md`).
- **Religion:** the Quran, sura "Dominion" (package `quran.mulk`): the concealment/proclamation and movement
  liberties —
  the neighbouring form: permission is written as `liberty`, not as a claim;
  a claim here would be a wrong choice (nobody to be `against`).
- **Science/teaching case:** `examples/entitlement-as-power/` — an applicant's
  entitlement lowered to an organ's power; the same scheme fits
  "a student may receive a certificate": the dean's `power` with issuance
  conditions as `valid_when`.

## 4. How the engine answers

Table — actual runs of this directory's examples:

| Facts | Question | Answer | Why |
|---|---|---|---|
| charge + trial held | `fair_trial_afforded` | `TRUE_ONLY` | the claim's goal condition established |
| charge only | `fair_trial_afforded` | `NEITHER` | the goal premise not established |
| charge + trial (both facts) | `positions(), FairTrial` | `SATISFIED` | a claim is a duty: the achievement ladder |
| application + competence + act | `permit_issued` | `TRUE_ONLY` | effect of a valid exercise |
| application + act, no competence | `permit_issued` | `NEITHER` | `valid_when` not held; issue `POWER_INVALID_EXERCISE` (severity `info`), the position stays `ACTIVE` |

- In `positions` a claim is visible under its own name (`FairTrial`) with
  duty statuses; the node `modality` is `duty`.
- In `proof` — an ordinary `norm_creation` node and `rule_application`; no trace of
  a "fifth modality".
- In `why_not` a missing fact gives `NEITHER`: a claim does not substitute the article's text.
- An invalid exercise attempt publishes the std literal
  `invalidly_exercised(position)` and an issue; the effect
  never materializes, the power itself stays `ACTIVE`.

## 5. Common mistakes

1. Duty parties swapped — the wrong party becomes obliged. Check `bearer`
   and `beneficiary` in the source and lowered node (see `pitfalls.md`).
2. A `duty` is missing a party or performance goal — complete the normative
   template (see `pitfalls.md`).
3. Bare `entitlement` as a rule head — parser refusal `LDC-E0201` /
   `LDC-E1305` (see `pitfalls.md`).
4. Querying `claim_right(...)` as creating a second position — there will be no duplicate;
   the view refers to the canonical position
   (see `pitfalls.md`).
5. Discretion as a separate modality — no keyword; written as
   `power` with options and constraints (see `pitfalls.md`).
6. Expecting `claim_right` to create or switch off a duty — it is a query view
   of an existing position, not its constructor (see `pitfalls.md`).

## 6. References

- The language specification defines modalities, correlative views,
  `prohibition`, entitlement lowering, discretion, and template identity;
  this page states how to use them.
- Details: `corpus-forms.md`, `pitfalls.md`, `boundaries.md`.