# Isolate a simulation assumption ## Intent I want to check a hypothesis without including it in a regulatory conclusion. ## Wrong form and why it stays silent ```text title="Incorrect form" // origin assumed_for_simulation без mode simulation якобы принимается. ``` The origin of an assumption is accepted only in mode simulation; in compliance even a derived consequence does not arise. ## Correct form ```law language "law.core" version "0.2"; package recipes.d.r09 version "0.1.0"; namespace "urn:recipe:d-evidence:09"; entity Person; relation hypothetical(p: Person); relation eligible(p: Person); assert hypothetical(entity_ref("urn:recipe:d-evidence:09:p")) { origin assumed_for_simulation; } rule Consequence strict { for p: Person; when hypothetical(p); then eligible(p); } case Experiment { context { mode simulation; } } ``` ## Frozen execution scene In the table P and Q are different entities of the page, C is a case; full identifiers are pinned in the scenes. | Input on 13.09.2026 (a different date is named in the scene) | Question | Answer | |---|---|---| | explicit simulation | `truth(eligible(P))` | `TRUE_ONLY` / `COMPUTED` | | regulatory mode | `truth(eligible(P))` | `NEITHER` / `COMPUTED` | | default mode | `truth(eligible(P))` | `NEITHER` / `COMPUTED` | | simulation without the assumption | `truth(eligible(P))` | `NEITHER` / `COMPUTED` | ```law test "explicit simulation admits assumption" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; mode simulation; } } evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:09:p"))); expect truth_status == TRUE_ONLY; expect evaluation_status == COMPUTED; } ``` ```law test "regulatory mode ignores assumption" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; mode compliance; } } evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:09:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; expect issue(ASSERTION_NOT_ACCEPTED); } ``` ```law test "default mode ignores assumption" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; } } evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:09:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; expect issue(ASSERTION_NOT_ACCEPTED); } ``` ```law test "simulation without assumption fails" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; mode simulation; } } evaluate truth(eligible(entity_ref("urn:recipe:d-evidence:09:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED; } ``` ## Counterfactual Diagnostic mutation (lower-case) — LDC-E1353. Original fragment: ```text mode simulation; ``` Replacement: ```text mode simulaton; ``` The paired scenes above pin the change of outcome. ## Boundary The mode enters the materialized context and manifest. Simulation does not bypass a policy-protected predicate. A simulation must not be issued as a compliance result; see [Choose a mode for assumptions](/recipes/n-package/evaluation-mode/). ## Pitfall The origin of an assumption is accepted only in mode simulation; in compliance even a derived consequence does not arise.