docs← Back to article

Markdown for LLMs

LDC-E1325 — Computable term in a ground position

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-E1325 — Computable term in a ground position

## What it means

Assertions state ground facts: every argument must already be a value,
never a computation. An arithmetic expression, a conditional, a call,
or any other computable shape in an argument would be stored as syntax
and silently drop out of value matching, so the compiler stops at the
assertion instead.

The repair is to compute first and state the result: write the value
the term would produce. A ground argument matches exactly as stated.

## Example

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

relation sized(n: Integer) kind institutional;
assert sized(1+2);
```

## Fix

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

relation sized(n: Integer) kind institutional;
assert sized(3);
```

## Engine message

The engine reports this in its own wording:

```text
example.law:6:1: error LDC-E1325: computable term (binary) in an argument ground position — outside the §168.1 slice: it would be stored syntactically and silently drop out of value matching
```

## Related

- [Expressions and quantities](/constructs/expressions-quantities/) — values, units, and their canonical shapes.
- [LDC-E1324](/diagnostics/LDC-E1324/) — rationals must be canonical in the same positions.