# Different language editions ## Intention I want to show the difference of conclusions of two language editions without automatically choosing one. Two language editions may conclude differently; the alignment between them chooses neither. ## Incorrect form and why it stays silent ```text title="Incorrect form" align KkClause with RuClause { relation corresponding_official_text; status reviewed; reviewer Editor; } // Из этого НЕ следует: licensed(p), если registered(p). ``` Alignment is an addressed correspondence, not an equivalence rule. On a registered person without a licence the editions give different answers; removing align changes neither answer. ## Correct form ```law language "law.core" version "0.2"; package recipes.z.r07 version "0.1.0"; namespace "urn:recipe:z-interpretations:07"; source Standard { kind standard; jurisdiction "none"; } edition Kk of Standard { language kk-KZ; officiality official; in_force [@2026-01-01, infinity); } edition Ru of Standard { language ru-KZ; officiality official; in_force [@2026-01-01, infinity); } fragment KkClause in Kk { kind paragraph; locator "1"; text kk-KZ official "Тіркелген тұлға жіберіледі."; } fragment RuClause in Ru { kind paragraph; locator "1"; text ru-KZ official "Лицо допускается при наличии лицензии."; } align KkClause with RuClause { relation corresponding_official_text; status reviewed; reviewer Editor; } entity Person; relation registered(p: Person); relation licensed(p: Person); relation admitted(p: Person); rule FromKk strict { for p: Person; when registered(p); then admitted(p); } rule FromRu strict { for p: Person; when licensed(p); then admitted(p); } interpretation KkReading of KkClause { status disputed; include FromKk; } interpretation RuReading of RuClause { status disputed; include FromRu; } interpretation_group Meaning { alternatives KkReading, RuReading; selection exactly_one; } ``` ## Frozen execution scene | Facts and choice | Question | Answer | |---|---|---| | 1. registered, KkReading chosen | `admitted` | `TRUE_ONLY` / `COMPUTED` | | 2. registered, RuReading chosen | `admitted` | `NEITHER` / `COMPUTED` | | 3. alignment removed, Russian reading | `admitted` | `NEITHER` / `COMPUTED` | | 4. alignment without a choice | `admitted` | `NEITHER` / `INTERPRETATION_REQUIRED` | ```law test "registered, Kazakh 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 KkReading; } assert registered(entity_ref("urn:recipe:z-interpretations:07:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:07:p"))); expect truth_status == TRUE_ONLY; expect evaluation_status == COMPUTED; } ``` ```law test "registered, Russian 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 RuReading; } assert registered(entity_ref("urn:recipe:z-interpretations:07:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:07:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; } ``` ```law test "alignment removed, Russian reading" { 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 RuReading; } assert registered(entity_ref("urn:recipe:z-interpretations:07:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:07:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; } ``` ```law test "alignment without 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:07:p")); } evaluate truth(admitted(entity_ref("urn:recipe:z-interpretations:07:p"))); expect truth_status == NEITHER; expect evaluation_status == INTERPRETATION_REQUIRED; } ``` An executable resource check from the repository root: ```python >>> import runpy >>> checks = runpy.run_path("docs/recipes/z-interpretations/resources/check.py") >>> print(checks["check_divergence"]()) diverged=true; kk-KZ и ru-KZ; lawc = lawref ``` ## Counterfactual Sidecar mutation: `alternatives KkReading, RuReading;` → `alternatives KkReading;`; expected `LDC-E0201`. Additional scenes with fragment deletion are marked in the table; the outcome is checked by both evaluators. ## Boundary The texts are synthetic on purpose and do not quote a real act. A divergence report compares formalizations; it does not translate the text and does not choose an authentic language. The resource report is checked by both evaluators. ## Pitfall Alignment leaves Established for the kk-KZ reading and Not established, not refuted for the ru-KZ reading; removing the alignment does not change either answer.