Skip to content
docs
Arxo ↗

LDC-E2103 — Wrong argument count for a predicate

For LLMs5 sections

A call must carry exactly as many arguments as the relation declares parameters. One argument too few or too many is never silently padded or truncated: the compiler rejects the call and names both counts, the one written and the one declared.

Adding the missing argument or dropping the extra one is the whole fix. When the call itself is right, the declaration is the place to look — a parameter may have been added or removed there.

Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity P;
relation known(a: P, b: P) kind institutional;
relation noted(a: P) kind institutional;
rule R strict { for x: P; when known(x); then noted(x); }
Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
entity P;
relation known(a: P, b: P) kind institutional;
relation noted(a: P) kind institutional;
rule R strict { for x: P; for y: P; when known(x, y); then noted(x); }

The engine reports this in its own wording:

Output
example.law:8:32: error LDC-E2103: known: arity 1 does not match the declaration (2 parameters)

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

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