Skip to content
docs
Arxo ↗

Record a case with ready values

For LLMs6 sections

I want to present my facts to an existing rule.

A fact argument is not a computation program.

Incorrect form
assert age(p, 17 + 1);

That form is rejected with LDC-E1325; it does not compute an age.

Below is only a self-contained stand for case inputs; it does not replace a file-based case package.

Arxo Law
language "law.core" version "0.2";
package recipes.n.r06 version "0.1.0";
namespace "urn:recipe:n-package:06";
entity Person;
relation age(p: Person, years: Integer);
relation adult(p: Person);
rule Adult strict {
for p: Person;
for years: Integer;
when age(p, years) and years >= 18;
then adult(p);
}
case PersonCase {
const p: Person = entity_ref("urn:recipe:n-package:06:p");
assert age(p, 18);
}

A local distinguishing scene:

FactsQuestionAnswer
age(p,18) in givenadult(p)TRUE_ONLY
given value matches
Arxo Law
test "given value matches" {
given {
context {
legal_time @2026-09-13;
decision_time @2026-09-13T09:00:00+05:00;
knowledge_time @2026-09-13T09:00:00+05:00;
timezone "Asia/Almaty";
}
assert age(entity_ref("urn:recipe:n-package:06:p"), 18);
}
evaluate truth(adult(entity_ref("urn:recipe:n-package:06:p")));
expect truth_status == TRUE_ONLY;
}

teaches replaces the value 18 in the case with 17 + 1: the exact rejection LDC-E1325. Rules in given are forbidden; computation is performed before the fact is presented, or by a program rule.

A computation in a fact argument does not yield the needed value; it is rejected with LDC-E1325. The fix is to present the ready 18.

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

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