# LDC-E1331 — Duplicate anonymous assert ## What it means An assertion without an explicit identifier is keyed by its own content: the same normalized fact with the same provenance stated twice collapses onto one identity, and the second statement cannot be told apart from the first. The compiler stops at the repetition and asks for an explicit identifier that separates the two. The repair is to state the fact once, or to give each statement its own identifier. Distinct facts keep distinct identities. ## Example ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; relation tall(t: Tenant) kind institutional; const Joe: Tenant = entity_ref("urn:law:demo:diagnostics#Joe"); assert tall(Joe); assert tall(Joe); ``` ## Fix ```law language "law.core" version "0.2"; package demo.diagnostics version "0.1.0"; namespace "urn:law:demo:diagnostics"; entity Tenant; relation tall(t: Tenant) kind institutional; const Joe: Tenant = entity_ref("urn:law:demo:diagnostics#Joe"); assert tall(Joe); ``` ## Engine message The engine reports this in its own wording: ```text example.law:9:1: error LDC-E1331: exact duplicate of an anonymous assert (the same normalized fact and provenance) or digest ambiguity: give an explicit `id` (§207) ``` ## Related - [Facts and evidence](/constructs/facts-and-evidence/) — facts and the identifiers that separate them.