# Liberty of one's own action ## Intention I want to permit an action of the liberty holder themselves. ## Incorrect form and why it stays silent ```text title="Incorrect form" 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 ```law 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 | 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` | ```law 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; } ``` ```law 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; } ``` ```law 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 Mutation: `action apply(p);` → ``; rejection LDC-E1305. Additional counterfactuals are shown as separate scenes. ## Boundary An explicit liberty is a strong permission. Absence of a prohibition is a separate query — see [Not prohibited as a query](/recipes/a-positions/weak-permission/); this position does not derive the fact apply and does not create someone else's duty.