LDC-E1345 — Parallel state with one region
For LLMs5 sections
What it means
Section titled “What it means”A parallel state runs regions side by side, so it needs at least two:
one region is just a sequential state wearing a heavier spelling, and
the toolchain would emit a shape its own gates reject. A parallel
block with a single region stops the compiler at the state.
A join faces the same honesty rule from the other side: a join with no regions joins nothing, and a quorum larger than the region count can never be reached. Either shape stops the compiler at the join.
The repair is to give the parallel state its plural meaning — two or more regions — or to write the sequential state plainly. Joins count only regions that exist.
Example
Section titled “Example”language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Tenant;event Filed { tenant: Tenant;}procedure Solo(t: Tenant) { state Start initial; state Work parallel { region Only { state A initial; state B terminal; transition Go { from A; to B; on Filed; } } } state Done terminal; transition Begin { from Start; to Work; on Filed; } transition End { from Work; to Done; on Filed; }}language "law.core" version "0.2";package demo.diagnostics version "0.1.0";namespace "urn:law:demo:diagnostics";
entity Tenant;event Filed { tenant: Tenant;}procedure Solo(t: Tenant) { state Start initial; state Work parallel { region Left { state A initial; state B terminal; transition Go { from A; to B; on Filed; } } region Right { state C initial; state D terminal; transition Go2 { from C; to D; on Filed; } } } state Done terminal; transition Begin { from Start; to Work; on Filed; } transition End { from Work; to Done; on Filed; }}Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.