Skip to content
docs
Arxo ↗

LDC-E4106 — A duplicated priority edge

For LLMs5 sections

Each priority edge between two rules is stated once: a second edge with the same direction adds no information, since the order it declares is already on record. The repetition is usually a copy left behind by an edit. The compiler keeps the package green but warns at the repeated edge.

This is a warning, not a refusal: the package still checks. Deleting the duplicate clears it. Two edges in opposite directions are not duplicates — they form a cycle and fail under a different code.

Arxo Law
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 D2 defeasible { for x: Text; when q(x); then not p(x); }
priority P1 { prefer D2 over D1; }
priority P2 { prefer D2 over D1; }
Arxo Law
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 D2 defeasible { for x: Text; when q(x); then not p(x); }
priority P1 { prefer D2 over D1; }

The engine reports this in its own wording:

Output
example.law:11:10: warning LDC-E4106: duplicate priority edge "D2" over "D1" (§192)

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

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