Require an issue to be established within a deadline
Intent
Section titled “Intent”I want to set the party, the subject, and the window of proof.
Wrong form and why it stays silent
Section titled “Wrong form and why it stays silent”bears_burden(p, established_issue(c, Delivery))The relation’s argument is an Issue term, not a nested proposition. Establishment of the issue is the duty’s goal. Silence after the window does not prove a violation.
Correct form
Section titled “Correct form”Minimal executable witness below.
language "law.core" version "0.2";package recipes.d.r03 version "0.1.0";namespace "urn:recipe:d-evidence:03";
entity Party;entity Case;enum Issue { Delivery; Payment; }relation claims(c: Case, p: Party, i: Issue);relation established_issue(c: Case, i: Issue);relation bears_burden(p: Party, i: Issue);rule Prove strict { for c: Case; for p: Party; for i: Issue; when claims(c,p,i); then duty ProveIssue { bearer p; goal achievement { condition established_issue(c,i); window [@2026-09-01, @2026-09-10); } };}Frozen execution scene
Section titled “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 |
|---|---|---|
| window open | positions() | position(ProveIssue, ACTIVE); / COMPUTED |
| window closed without an answer | positions() | position(ProveIssue, UNDETERMINED); / COMPUTED |
| established inside the window | positions() | position(ProveIssue, SATISFIED); / COMPUTED |
| other issue | positions() | position(ProveIssue, UNDETERMINED); / COMPUTED |
window open keeps duty active
test "window open keeps duty active" { given { context { legal_time @2026-09-05; decision_time @2026-09-05T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; } assert claims(entity_ref("urn:recipe:d-evidence:03:case"),entity_ref("urn:recipe:d-evidence:03:p"),Delivery); } evaluate positions(); expect position(ProveIssue, ACTIVE); expect evaluation_status == COMPUTED;
}closed window without answer stays undetermined
test "closed window without answer stays undetermined" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; } assert claims(entity_ref("urn:recipe:d-evidence:03:case"),entity_ref("urn:recipe:d-evidence:03:p"),Delivery); } evaluate positions(); expect position(ProveIssue, UNDETERMINED); expect evaluation_status == COMPUTED;
}established inside window satisfies
test "established inside window satisfies" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; } assert claims(entity_ref("urn:recipe:d-evidence:03:case"),entity_ref("urn:recipe:d-evidence:03:p"),Delivery); assert established_issue(entity_ref("urn:recipe:d-evidence:03:case"),Delivery) { valid [@2026-09-05, infinity); } } evaluate positions(); expect position(ProveIssue, SATISFIED); expect evaluation_status == COMPUTED;
}different issue leaves duty undetermined
test "different issue leaves duty undetermined" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00Z; knowledge_time @2026-09-13T09:00:00Z; timezone "UTC"; } assert claims(entity_ref("urn:recipe:d-evidence:03:case"),entity_ref("urn:recipe:d-evidence:03:p"),Delivery); assert established_issue(entity_ref("urn:recipe:d-evidence:03:case"),Payment); } evaluate positions(); expect position(ProveIssue, UNDETERMINED); expect evaluation_status == COMPUTED;
}Counterfactual
Section titled “Counterfactual”Diagnostic mutation (check) — LDC-E2109.
Original fragment:
when claims(c,p,i);Replacement:
when claims(c,p,i) and bears_burden(p, established_issue(c,i));The paired scenes above pin the change of outcome.
Boundary
Section titled “Boundary”Two topics of proof are distinguished by the Issue term. Non liquet is allowed by the act: a violation needs explicit non-performance, completeness, or an authority decision. The claims condition is deliberately left after the issue is established so that the position is visible as SATISFIED.
The position status is read on the decision date, not on the law date: the open-window scene names a decision moment inside the window, otherwise the answer would be undetermined.
Pitfall
Section titled “Pitfall”The relation takes an Issue term, not a nested proposition; establishment of the issue is the duty’s goal. Silence after the window does not prove a violation.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.