Markdown for LLMs
Two readings of one norm
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Two readings of one norm
## Intention
I want to keep two readings and require a choice only for a dependent question.
Two readings of one norm stay side by side; only a dependent question waits for the choice.
## Incorrect form and why it stays silent
```text title="Incorrect form"
interpretation_group Meaning { alternatives Broad; selection exactly_one; }
```
One member does not form a group: LDC-E0201. The binding label on Narrow also does not select it automatically.
## Correct form
Minimal standalone form:
```law
language "law.core" version "0.2";
package recipes.z.r01 version "0.1.0";
namespace "urn:recipe:z-interpretations:01";
source Standard { kind standard; jurisdiction "none"; }
edition Edition of Standard { language ru; officiality official; in_force [@2026-01-01, infinity); }
fragment Clause in Edition { kind paragraph; locator "1"; text ru official "Учебная норма допускает два прочтения."; }
entity Person;
relation registered(p: Person);
relation accepted(p: Person);
relation receipt(p: Person);
rule Allow strict { for p: Person; when registered(p); then accepted(p); }
rule Deny strict { for p: Person; when registered(p); then not accepted(p); }
rule Receipt strict { for p: Person; when registered(p); then receipt(p); }
interpretation Broad of Clause { status disputed; include Allow; }
interpretation Narrow of Clause { status binding; include Deny; }
interpretation_group Meaning { alternatives Broad, Narrow; selection exactly_one; }
```
## Frozen execution scene
| Facts and choice | Question | Answer |
|---|---|---|
| 1. registry present, no choice | `accepted` | `NEITHER` / `INTERPRETATION_REQUIRED` |
| 2. same input, independent receipt | `receipt` | `TRUE_ONLY` / `COMPUTED` |
| 3. broad chosen | `accepted` | `TRUE_ONLY` / `COMPUTED` |
| 4. narrow chosen | `accepted` | `FALSE_ONLY` / `COMPUTED` |
```law
test "registry present, no choice" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:z-interpretations:01:p"));
}
evaluate truth(accepted(entity_ref("urn:recipe:z-interpretations:01:p")));
expect truth_status == NEITHER;
expect evaluation_status == INTERPRETATION_REQUIRED;
expect issue(INTERPRETATION_REQUIRED);
}
```
```law
test "same input, independent receipt" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:z-interpretations:01:p"));
}
evaluate truth(receipt(entity_ref("urn:recipe:z-interpretations:01:p")));
expect truth_status == TRUE_ONLY;
expect evaluation_status == COMPUTED;
expect issue(INTERPRETATION_REQUIRED);
}
```
```law
test "broad reading chosen" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
interpretation Broad;
}
assert registered(entity_ref("urn:recipe:z-interpretations:01:p"));
}
evaluate truth(accepted(entity_ref("urn:recipe:z-interpretations:01:p")));
expect truth_status == TRUE_ONLY;
expect evaluation_status == COMPUTED;
expect interpretations(Broad);
}
```
```law
test "narrow reading chosen" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
interpretation Narrow;
}
assert registered(entity_ref("urn:recipe:z-interpretations:01:p"));
}
evaluate truth(accepted(entity_ref("urn:recipe:z-interpretations:01:p")));
expect truth_status == FALSE_ONLY;
expect evaluation_status == COMPUTED;
}
```
## Counterfactual
Sidecar mutation: `alternatives Broad, Narrow;` → `alternatives Broad;`; expected `LDC-E0201`. Additional scenes with fragment deletion are marked in the table; the outcome is checked by both evaluators.
## Boundary
The pending choice blocks only dependent questions; the rest of the document keeps its own status.
## Pitfall
An independent question is not blocked by the pending choice: receipt stays COMPUTED even while the document reports INTERPRETATION_REQUIRED.