# LDC-E1349 — Completed names no instance ## What it means The `completed` predicate asks about a finished production, and a production belongs to someone: the two-place shape names the procedure and the instance whose completion is meant. The one-place shape names no instance, and a silent "any instance" would turn true after the fact — so the compiler stops at the call. The repair is to name both: the procedure and the instance. A complete question answers exactly as asked. ## Example ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; relation done(t: Tenant) kind institutional; procedure Review(t: Tenant) { state Open initial; state Closed terminal; transition Decide { from Open; to Closed; } } rule Flag defeasible { for t: Tenant; when completed(t); then done(t); } ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; relation done(t: Tenant) kind institutional; procedure Review(t: Tenant) { state Open initial; state Closed terminal; transition Decide { from Open; to Closed; } } rule Flag defeasible { for t: Tenant; when completed(Review, t); then done(t); } ``` ## Engine message The engine reports this in its own wording: ```text example.law:17:10: error LDC-E1349: `completed(P)` §163 does not name a procedure instance: an arity-one predicate does not say WHOSE production is complete (§163, §161.2, §163.1) ``` ## Related - [Procedures](/constructs/procedure/) — productions and the instances they belong to.