Skip to content
docs
Arxo ↗

LDC-E4125 — A closure over a round-dependent relation

For LLMs5 sections

A closure materializes the full extent of one relation, but a relation that depends on staged rounds has no single extent: each round computes its own slice. Closing over such a relation is not supported, and the compiler refuses the closure by name.

Close a relation that stands outside the rounds instead, or drop the closure.

Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
relation counter(i: Integer) kind institutional;
relation probe(i: Integer) kind institutional;
stage R { index i: Integer from 1 to 5; bind counter index 1; }
closure C { predicate counter; domain probe; snapshot "urn:law:demo:snap"; complete_as_of @2026-01-01T00:00:00Z; derive_explicit_negative true; }
Arxo Law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";
relation counter(i: Integer) kind institutional;
relation probe(i: Integer) kind institutional;
stage R { index i: Integer from 1 to 5; bind counter index 1; }
closure C { predicate probe; domain probe; snapshot "urn:law:demo:snap"; complete_as_of @2026-01-01T00:00:00Z; derive_explicit_negative true; }

The engine reports this in its own wording:

Output
example.law:8:9: error LDC-E4125: STAGE_CLOSURE_UNSUPPORTED: §70 closure "C" over relation "counter" depending on rounds is not supported in 0.3 (§111.2 item 1)

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

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