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.
# 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`.