LDC-E4105 — A priority over a strict rule
For LLMs5 sections
What it means
Section titled “What it means”Priorities run between defeasible rules only: strict rules state logical consequences, not preferences, and no ordering can prefer one consequence over another. Naming a strict rule on either side of a priority edge asks the ordering to do what the category forbids. The compiler refuses the edge at the priority.
The fix takes the strict rule out of the edge — restate the choice between defeasible rules, or drop the edge if the strict conclusion was meant to stand unconditionally. Edges between two defeasible rules stay silent.
Example
Section titled “Example”language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
relation p(x: Text) kind institutional;relation q(x: Text) kind institutional;relation r(x: Text) kind institutional;rule D1 defeasible { for x: Text; when q(x); then p(x); }rule S1 strict { for x: Text; when q(x); then r(x); }priority P1 { prefer S1 over D1; }language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
relation p(x: Text) kind institutional;relation q(x: Text) kind institutional;relation r(x: Text) kind institutional;rule D1 defeasible { for x: Text; when q(x); then p(x); }rule S1 strict { for x: Text; when q(x); then r(x); }Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.