Skip to content
docs
Arxo ↗

Separate an action from a duty

For LLMs7 sections

I want to name an action without automatically attributing a permission or a duty to it.

The scenes below check the boundary on a minimal case with a normative position.

Declaring an action type itself prescribes nothing.

Incorrect form
action Submit { actor: Person; }
// Этого недостаточно, чтобы возникла SubmitDuty.

Another incorrect form is a duty without a bearer; it is rejected with LDC-E1305 and pinned by teaches.

Incorrect form
then duty SubmitDuty {
goal achievement {
condition submitted(p);
window [@2026-01-01, @2027-01-01);
}
};

A duty is introduced by the normative head of a separate rule.

Arxo Law
language "law.core" version "0.2";
package recipes.n.r02 version "0.1.0";
namespace "urn:recipe:n-package:02";
entity Person;
action Submit { actor: Person; }
relation registered(p: Person);
relation submitted(p: Person);
rule RecordSubmission strict {
for p: Person;
when registered(p);
then submitted(p);
}
rule SubmissionDuty strict {
for p: Person;
when registered(p);
then duty SubmitDuty {
bearer p;
goal achievement {
condition submitted(p);
window [@2026-01-01, @2027-01-01);
}
};
}
FactsQuestionAnswer
registered(p)PositionsSubmitDuty SATISFIED
No registered(p)PositionsSubmitDuty is absent
Same registered(p), SubmissionDuty rule cut outPositionsUNDETERMINED, no positions
rule creates duty
Arxo Law
test "rule creates duty" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:n-package:02:p"));
}
evaluate positions();
expect position(SubmitDuty, SATISFIED);
}
action declaration creates no duty
Arxo Law
test "action declaration creates no duty" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
}
evaluate positions();
expect not position(SubmitDuty, ACTIVE);
expect not position(SubmitDuty, SATISFIED);
}
action without norm prescribes nothing
Arxo Law
test "action without norm prescribes nothing" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert registered(entity_ref("urn:recipe:n-package:02:p"));
}
evaluate positions();
expect normative_status == UNDETERMINED;
}

teaches removes the required bearer bearer p from the normative head and requires a rejection. A scene without registered separately shows: the presence of an action declaration does not create a position.

The presence of a duty also does not mean liberty. Permission, prohibition, and weak permission are separate recipes in book A.

A declared action without an activated rule does not produce SubmitDuty; the scenes above pin both sides.

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.