Markdown for LLMs
LDC-E1315 — No case to lower
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# LDC-E1315 — No case to lower
## What it means
Lowering a case turns a described situation into computation input —
but the file declares no case at all, or the requested name matches
none of the declared ones. There is nothing to lower: a file of bare
vocabulary describes no situation, and a name that matches nothing
selects nothing. The compiler stops at the start of the file rather
than lowering an empty world.
The repair is to declare the case, or to name one the file actually
contains. A case holds a context and its assertions; the lowering
selects one by name when the file holds several.
## Example
```run
{"argv": ["lower-case", "$ROOT/case.law"], "files": {"case.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nentity A;\n"}, "expect": "LDC-E1315"}
```
## Fix
```run
{"argv": ["lower-case", "$ROOT/case.law"], "files": {"case.law": "language \"law.core\" version \"0.2\";\npackage demo.diagnostics version \"0.1.0\";\nnamespace \"urn:law:demo:diagnostics\";\n\nentity A;\n\ncase Solo {\n context {\n legal_time @2026-08-26;\n }\n}\n"}, "expect": null}
```
## Engine message
The engine reports this in its own wording:
```text
$ROOT/case.law:1:1: error LDC-E1315: the file declares no case (§168)
```
## Related
- [LDC-E1320](/diagnostics/LDC-E1320/) — a case whose import names no version.
- [Facts and evidence](/constructs/facts-and-evidence/) — asserting what a case observes.