Skip to content
docs
Arxo ↗

LDC-E1329 — Duplicate clause in a rule block

For LLMs5 sections

Some rule clauses are scalars: one scope, one effective moment, one defeat per block. Repeating one would force the compiler to pick silently between two records the author both wrote, so the repetition stops the check at the second occurrence. (Repeated when lines are the deliberate exception — they conjoin.)

The repair is to keep one: merge the two records into the intended single clause. One block carries each scalar once.

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;
rule R1 strict {
scope p(v0);
scope p(v0);
for v0: Text;
when p(v0);
then q(v0);
}
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;
rule R1 strict {
scope p(v0);
for v0: Text;
when p(v0);
then q(v0);
}

The engine reports this in its own wording:

Output
example.law:9:5: error LDC-E1329: duplicate `scope` clause in rule — at most one per block (§94, E-0114)

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

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