docs← Back to article

Markdown for LLMs

Claim pitfalls

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

Download this articlePlain text ↗
# Claim pitfalls

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

Typical mistakes when modelling correlative views, duties, and entitlements.
Position codes and behaviour — per the [duty page](/constructs/duty/).

## 1. The old `then claim` form — historical evidence only

The former syntax accepted `then claim` as a `duty` synonym; E-0071 described
that behavior. The form has been removed from the current language surface.
For new formalizations, use `then duty` with explicit parties: `bearer` is
the obliged party, and `beneficiary` is entitled to performance.

> Historical run before removal: a `FairTrial` example using `then claim`
> reported `LDC-E1328`. That result belongs to the former parser and does not
> describe current code or its expected diagnostics.

## 2. Swapped parties — silently wrong law

In a `duty`, `bearer` is the obliged party and `beneficiary` is entitled to
performance. Check both fields in the source and node. The `LAY-L2-CLAIM`
vector checks these parties and confirms that a `claim_right` query creates no
duplicate position.

## 3. An incomplete view — a static refusal

In a `duty`, provide the obliged party, the beneficiary, and the performance
goal. If one is missing, complete the `duty` template; do not try to replace
it with the `claim_right` query view.

## 4. Bare `entitlement` as a rule head (confirmed by running)

`then entitlement Name { … }` in 0.2 is not "a static error with a code" but a parser
refusal: the norm-head grammar has no `entitlement`. The probe in this
study:

```text
error LDC-E0201: ожидалась `;`, найдено "AidEntitlement"
error LDC-E0201: неожиданный элемент тела правила: "AidEntitlement"
error LDC-E1305: ожидался атом-предикат p(...)
```

Choose the lowering before writing —
a `duty` owed to the named party, a power to demand, a constitutive
eligibility fact, or a combination. The word "entitlement" stays in labels and
relation names (as in the EU Charter), but not in a rule head.

## 5. A query view instead of a second position

`claim_right(holder, against, content)` is a view, not a constructor:
the core creates no duplicate norm instances; views refer to one
canonical instance. Trying to "create a claim over another's
duty" gives no second position; a view question answers with the status of the
same position. The reverse direction (`duty` → `claim_right`) produces no
node for the same reason.

## 6. Discretion as a fifth modality

`discretion` has no keyword. Writing "the court may choose A
or B" is `power` with several admissible `exercise`/`effect` options plus
`constraints`/`goals` on the legality of the choice and evaluative predicates
(`reasonable`, `proportionate` — which already belong to the judgment channel, see
the [judgment page](/constructs/judgment-channel/)). Searching the grammar for "discretion"
finds the word only in comments.

## 7. `claim_right` does not create or switch off a norm

`claim_right(holder, against, content)` reads the canonical `duty` position
from the beneficiary's side ([§129](https://github.com/arxohq/law/blob/master/spec/SPEC.ru/18-part-xvii-normative-positions.ru.md#129-correlative-views)). It does not create a norm instance or
cancel the duty.

## 8. Keywords are lowercase

In this directory's code `bearer`/`holder`
are written only as lowercase keywords; keep that spelling in new records.