# LDC-E4106 โ€” A duplicated priority edge ## What it means 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. ## Example ```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; } ``` ## Fix ```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; } ``` ## Engine message The engine reports this in its own wording: ```text example.law:11:10: warning LDC-E4106: duplicate priority edge "D2" over "D1" (ยง192) ``` ## Related - [Priority](/constructs/priority/) โ€” how conflicts between rules are settled.