nb-09 solutions — From permit to duties and powers
Checkable against law test packs/examples/language-demo/permits
(28 checked, 28 passed). Identifiers and code as written.
1. Flipping duty violated to SATISFIED and to UNDETERMINED
Section titled “1. Flipping duty violated to SATISFIED and to UNDETERMINED”Answer: replace the explicit denial with the positive fact for SATISFIED; drop the denial (assert neither) for UNDETERMINED.
The violated test asserts
not decision_notified(ann) past the closed window, so the achievement
condition provably never held — VIOLATED. Asserting
decision_notified(ann) instead (as duty satisfied does) meets the
condition inside the window — SATISFIED. Asserting neither (as
outcome unknown — no violation does) leaves the engine with no witness
either way — UNDETERMINED. This is the trio the article’s changed
condition describes: same window, same parties, three fact patterns,
three states.
2. Why maintenance violation, not “unknown”
Section titled “2. Why maintenance violation, not “unknown””Answer: the recorded fines are a counterexample, and a counterexample is the witness maintenance needs.
A maintenance goal claims the condition holds at every point of the
window. One moment where permit_eligible(ann) provably
fails (here via outstanding_fines, which defeats eligibility through
FinesRefusal) — refutes the universal claim, so VIOLATED. Contrast
without a certificate the post-window outcome is unknown: judged
2027-01-05 with no counterexample on record, hence UNDETERMINED. Silence
never violates; a counterexample always does.
3. Standing, exercise, grounds in the groundless power
Section titled “3. Standing, exercise, grounds in the groundless power”Answer: standing present, exercise present, grounds absent.
Standing: permit_office(city-hall) and permit_eligible(ann) are both
asserted, so the rule’s when holds and the power exists. Exercise:
revocation_notice(city-hall, ann) is asserted, so the exercise act
occurred. Grounds: resells_permit(ann) is nowhere asserted, so
valid_when is false and the exercise operates nothing —
permit_revoked stays NEITHER. Add the resale fact and nothing else, and
the twin test power exercised lawfully goes TRUE_ONLY.
4. Why MayObject applies in March but not mid-April
Section titled “4. Why MayObject applies in March but not mid-April”Answer: the liberty’s window is 1–31 March 2026; a 15 April refusal falls outside it, so the position does not apply at all.
ObjectionRight fires only when permit_refused(a, o) holds, and the
resulting MayObject carries window [@2026-03-01, @2026-03-31]. On
10 March a refusal is inside the window — ACTIVE. A refusal dated
15 April is outside the window the rule declares, so there is no
MayObject for it: not VIOLATED, not UNDETERMINED — absent. Windows
bound applicability first, outcomes second (see Limits).
How to verify
Section titled “How to verify”law test packs/examples/language-demo/permitsExpected: итого: 28 проверено, 28 прошли, 0 не прошли, 0 не исполнены.
The deciding tests are duty satisfied, duty violated,
outcome unknown — no violation,
maintenance violated by counterexample,
without a certificate the post-window outcome is unknown,
power exercised lawfully,
power without grounds does not operate, and liberty and immunity.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.