# A disputed reading of a reference ## Intention I want to split two readings of a reference across bridges and not create a self-cycle of unknownness. Each reading of the reference gets its own bridge; neither bridge tests the unknownness of the shared head. ## Incorrect form and why it stays silent ```law title="Incorrect form" rule ListBridge strict { for p: Person; when listed(p) and not_known(admitted(p)); then admitted(p); } ``` The conclusion depends on its own absence: a negative cycle, LDC-E4102. A dispute about where to take the ground from is expressed by two bridges, not by checking unknownness of their shared head. ## Correct form Minimal standalone form: ```law language "law.core" version "0.2"; package recipes.z.r06 version "0.1.0"; namespace "urn:recipe:z-interpretations:06"; 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 listed(p: Person); relation licensed(p: Person); relation admitted(p: Person); rule ListBridge strict { for p: Person; when listed(p); then admitted(p); } rule LicenceBridge strict { for p: Person; when licensed(p); then admitted(p); } interpretation ListReading of Clause { status disputed; include ListBridge; } interpretation LicenceReading of Clause { status disputed; include LicenceBridge; } interpretation_group Reference { alternatives ListReading, LicenceReading; selection exactly_one; } ``` ## Frozen execution scene | Facts and choice | Question | Answer | |---|---|---| | 1. only a record, no choice | `admitted` | `NEITHER` / `INTERPRETATION_REQUIRED` | | 2. a record present, list bridge chosen | `admitted` | `TRUE_ONLY` / `COMPUTED` | | 3. same facts, licence bridge chosen | `admitted` | `NEITHER` / `COMPUTED` | ```law test "record only, 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 listed(entity_ref("urn:recipe:z-interpretations:06:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:06:p"))); expect truth_status == NEITHER; expect evaluation_status == INTERPRETATION_REQUIRED; } ``` ```law test "record with list bridge 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 ListReading; } assert listed(entity_ref("urn:recipe:z-interpretations:06:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:06:p"))); expect truth_status == TRUE_ONLY; expect evaluation_status == COMPUTED; } ``` ```law test "same facts, licence bridge 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 LicenceReading; } assert listed(entity_ref("urn:recipe:z-interpretations:06:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:06:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; } ``` ## Counterfactual Sidecar mutation: `when listed(p);` → `when listed(p) and not_known(admitted(p));`; expected `LDC-E4102`. Additional scenes with fragment deletion are marked in the table; the outcome is checked by both evaluators. ## Boundary Crossing a bridge does not automatically carry the terms or the competence of another norm. ## Pitfall Testing the unknownness of one's own head is a negative cycle, rejected with LDC-E4102.