# Link language editions without declaring identity ## Intent I want to pair two language versions without declaring their meaning the same. ## Wrong form and why it stays silent The natural mistake is to expect align to transfer a result onto the other language formalization. That does not happen: rejected remains NEITHER, although accepted is TRUE_ONLY. Removing align does not change the derivation. A separate static mutation below checks that the fragment belongs to the edition. ```text title="Incorrect form" fragment EnF in Missing ``` ## Correct form ```law language "law.core" version "0.2"; package recipe.i12 version "1.0.0"; namespace "urn:recipe:i-sources:12"; source Act { kind policy; } edition Ru of Act { language ru; officiality unofficial; materialization_status ABSTRACT_ONLY; in_force [@2026-01-01, infinity); } edition En of Act { language en; officiality unofficial; materialization_status ABSTRACT_ONLY; in_force [@2026-01-01, infinity); } fragment RuF in Ru { kind article; locator "article/1"; text ru unofficial """Заявление принимается."""; } fragment EnF in En { kind article; locator "article/1"; text en unofficial """The application is rejected."""; } align RuF with EnF { relation corresponding_official_text; status reviewed; reviewer EDITOR; } entity Person; relation filed(p: Person); relation accepted(p: Person); @source(RuF) rule Accept strict { for p: Person; when filed(p); then accepted(p); } relation rejected(p: Person); ``` ## Frozen execution scene | Facts | Question | Answer | |---|---|---| | filed, align present | accepted | TRUE_ONLY | | filed, align present | rejected | NEITHER | | filed, align removed | accepted | TRUE_ONLY | ```python >>> import runpy >>> checks = runpy.run_path("docs/recipes/i-sources/resources/check.py") >>> checks["anchors"](https://github.com/arxohq/law/blob/master/docs/recipes/i-sources/12) True ``` ## Counterfactual The `teaches` mutation reproduces `LDC-E5102`. Counterfactual outcomes are also listed in the table and the sidecar. ## Boundary The link is stored in metadata.sourceAlignments; it is not a rule node. Divergence of authentic versions is represented by separate readings; see [Different language editions](/recipes/z-interpretations/language-divergence/). The synthetic texts here diverge on purpose so that the absence of logical equivalence is visible. ## Pitfall A text link does not transfer truth between formalizations.