docs← Back to article

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.

Download this articlePlain text ↗
# 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.