Skip to content
docs
Arxo ↗

Special rule over general

For LLMs7 sections

I want to pin the superiority of a special rule explicitly.

A special rule with more conditions but no priority still leaves BOTH.

Incorrect form
// У Special больше условий; priority отсутствует.

The number of conditions does not create superiority. Without an edge both opposite supports remain.

Arxo Law
language "law.core" version "0.2";
package recipes.b.r05 version "0.1.0";
namespace "urn:recipe:b-rules:05";
entity Person;
relation eligible(p: Person);
relation special(p: Person);
relation allowed(p: Person);
rule General defeasible { for p: Person; when eligible(p); then allowed(p); }
rule Special defeasible { for p: Person; when eligible(p) and special(p); then not allowed(p); }
priority SpecialWins { prefer Special over General; reason lex_specialis; }
Facts and choiceQuestionAnswer
special casetruth(allowed(entity_ref("urn:recipe:b-rules:05:p")))FALSE_ONLY / COMPUTED
priority removedtruth(allowed(entity_ref("urn:recipe:b-rules:05:p")))BOTH / COMPUTED
general casetruth(allowed(entity_ref("urn:recipe:b-rules:05:p")))TRUE_ONLY / COMPUTED
special case
Arxo Law
test "special case" {
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 eligible(entity_ref("urn:recipe:b-rules:05:p")); assert special(entity_ref("urn:recipe:b-rules:05:p"));
}
evaluate truth(allowed(entity_ref("urn:recipe:b-rules:05:p")));
expect truth_status == FALSE_ONLY;
expect evaluation_status == COMPUTED;
}
priority removed
Arxo Law
test "priority removed" {
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 eligible(entity_ref("urn:recipe:b-rules:05:p")); assert special(entity_ref("urn:recipe:b-rules:05:p"));
}
evaluate truth(allowed(entity_ref("urn:recipe:b-rules:05:p")));
expect truth_status == BOTH;
expect evaluation_status == COMPUTED;
}
general case
Arxo Law
test "general case" {
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 eligible(entity_ref("urn:recipe:b-rules:05:p"));
}
evaluate truth(allowed(entity_ref("urn:recipe:b-rules:05:p")));
expect truth_status == TRUE_ONLY;
expect evaluation_status == COMPUTED;
}

Mutation: rule General defeasible → rule General strict; rejection LDC-E4105. Scenes that delete a fragment are marked explicitly in the table.

The lex_specialis ground names an accepted priority rule. Automatic proof of nested scopes is not claimed here. Different money values are Different amounts are not opposites.

More conditions do not create superiority: without a priority edge, the special rule leaves BOTH.

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

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