State a transitional exception explicitly
For LLMs7 sections
Intention
Section titled “Intention”I want to keep the former permission for old relations during a transitional year.
Incorrect form and why it stays silent
Section titled “Incorrect form and why it stays silent”Two opposite norms without a declared advantage are not chosen by age:
// Transition и NewOrder есть, TransitionWins отсутствует.Correct form
Section titled “Correct form”language "law.core" version "0.2";package recipes.e.r05 version "0.1.0";namespace "urn:recipe:e-time:05";
entity Person;relation registered(p: Person);
relation began(p: Person, on: Date);relation permitted(p: Person);rule NewOrder defeasible { effective [@2026-01-01, infinity); for p: Person; when registered(p); then not permitted(p);}rule Transition defeasible { effective [@2026-01-01, @2027-01-01); for p: Person; for on: Date; when registered(p) and began(p, on) and on < @2026-01-01; then permitted(p);}priority TransitionWins { prefer Transition over NewOrder; reason explicit_exception; }Frozen execution scene
Section titled “Frozen execution scene”| Facts / cut | Question | Answer |
|---|---|---|
| old relation, 2026 | permitted | TRUE_ONLY |
| new relation, 2026 | permitted | FALSE_ONLY |
| old relation, 2027 | permitted | FALSE_ONLY |
| old relation, no priority | permitted | BOTH |
old relation keeps transition
test "old relation keeps transition" { given { context { legal_time @2026-06-01; decision_time @2027-12-31T09:00:00+05:00; knowledge_time @2027-12-31T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:e-time:05:a")); assert began(entity_ref("urn:recipe:e-time:05:a"), @2025-12-01); } evaluate truth(permitted(entity_ref("urn:recipe:e-time:05:a"))); expect truth_status == TRUE_ONLY;}new relation follows new order
test "new relation follows new order" { given { context { legal_time @2026-06-01; decision_time @2027-12-31T09:00:00+05:00; knowledge_time @2027-12-31T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:e-time:05:a")); assert began(entity_ref("urn:recipe:e-time:05:a"), @2026-02-01); } evaluate truth(permitted(entity_ref("urn:recipe:e-time:05:a"))); expect truth_status == FALSE_ONLY;}expired transition stops applying
test "expired transition stops applying" { given { context { legal_time @2027-01-01; decision_time @2027-12-31T09:00:00+05:00; knowledge_time @2027-12-31T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:e-time:05:a")); assert began(entity_ref("urn:recipe:e-time:05:a"), @2025-12-01); } evaluate truth(permitted(entity_ref("urn:recipe:e-time:05:a"))); expect truth_status == FALSE_ONLY;}missing priority yields both
test "missing priority yields both" { given { context { legal_time @2026-06-01; decision_time @2027-12-31T09:00:00+05:00; knowledge_time @2027-12-31T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:e-time:05:a")); assert began(entity_ref("urn:recipe:e-time:05:a"), @2025-12-01); } evaluate truth(permitted(entity_ref("urn:recipe:e-time:05:a"))); expect truth_status == BOTH;}Counterfactual
Section titled “Counterfactual”runs.without removes TransitionWins and gets BOTH. teaches separately pins rejection of a double effective, so the transition window is not replaced by a second line.
Boundary
Section titled “Boundary”Transitional law is set by the act. It is not chosen automatically by an earlier edition and does not mean lex mitior; the edition axis of analysis is a different question.
Pitfall
Section titled “Pitfall”Continuation of the former regulation is expressed as a separate norm; the year boundary and the advantage must be explicit.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.