docs← Back to article

Markdown for LLMs

Isolate a simulation assumption

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# 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.