Liberty of one's own action
For LLMs6 sections
Intention
Section titled “Intention”I want to permit an action of the liberty holder themselves.
Incorrect form and why it stays silent
Section titled “Incorrect form and why it stays silent”then liberty Apply { holder p; window [@2026-09-01, @2026-09-10]; };Without action it is not named what is permitted. If the content of the right is another person’s action, a duty with a beneficiary is needed, not liberty.
Correct form
Section titled “Correct form”language "law.core" version "0.2";package recipes.a.r05 version "0.1.0";namespace "urn:recipe:a-positions:05";
entity Person;relation registered(p: Person);relation done(p: Person);relation apply(p: Person);rule R strict { for p: Person; when registered(p); then liberty Apply { holder p; action apply(p); window [@2026-09-01, @2026-09-10]; };}Frozen execution scene
Section titled “Frozen execution scene”| Facts and snapshot | Question | Answer |
|---|---|---|
| liberty active; 2026-09-05 | positions() | position(Apply, ACTIVE); / COMPUTED |
| the action did not follow from the permission; 2026-09-05 | truth(apply(entity_ref("urn:recipe:a-positions:05:p"))) | truth_status == NEITHER; / COMPUTED |
| the window ended; 2026-09-13 | positions() | position(Apply, EXPIRED); / COMPUTED |
liberty active inside window
test "liberty active inside window" { given { context { legal_time @2026-09-05; decision_time @2026-09-05T09:00:00+05:00; knowledge_time @2026-09-30T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:a-positions:05:p")); } evaluate positions(); expect position(Apply, ACTIVE); expect evaluation_status == COMPUTED;
}permission grants no action fact
test "permission grants no action fact" { given { context { legal_time @2026-09-05; decision_time @2026-09-05T09:00:00+05:00; knowledge_time @2026-09-30T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:a-positions:05:p")); } evaluate truth(apply(entity_ref("urn:recipe:a-positions:05:p"))); expect truth_status == NEITHER; expect evaluation_status == COMPUTED;
}liberty expires after window
test "liberty expires after window" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-30T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:a-positions:05:p")); } evaluate positions(); expect position(Apply, EXPIRED); expect evaluation_status == COMPUTED;
}Counterfactual
Section titled “Counterfactual”Mutation: action apply(p); → “; rejection LDC-E1305. Additional counterfactuals are shown as separate scenes.
Boundary
Section titled “Boundary”An explicit liberty is a strong permission. Absence of a prohibition is a separate query — see Not prohibited as a query; this position does not derive the fact apply and does not create someone else’s duty.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.