docs← Back to article

Markdown for LLMs

nb-06 solutions — When the register may stay silent

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# nb-06 solutions — When the register may stay silent

*Checkable against `law test packs/examples/language-demo/register`
(9 checked, 9 passed). Identifiers and code as written.*

## 1. `filed_resident(dana)` with only the index fact — status?

**Answer: `FALSE_ONLY`.**

Dana joins the closure's domain via `on_resident_file(dana)` but still
has no `filed_resident` record. Inside the domain, with
`derive_explicit_negative true`, the closure derives the explicit
negation — exactly Carl's position in `on file without a record — not
a resident`.

## 2. `resident_admitted(dana)` with only the index fact — status and rule?

**Answer: `NEITHER`; no rule fires.**

`AdmitFromFile` requires `filed_resident(dana)`, which is now
`FALSE_ONLY`, and `ProofAdmits` requires `residency_proof(dana)`, which
is absent. The closure derives a negative for the *filed* predicate
only; admission needs positive support that is not there.

## 3. `filed_resident(dana)` with index fact plus record — status?

**Answer: `TRUE_ONLY` via `AdmitFromFile`.**

An asserted record beats the closure's negative: this mirrors `file
record accepted` for Ann. The closure only speaks where records are
silent; where a record exists, the record decides.

## 4. Key-conflict test without `key(a)` — what changes?

**Answer: the `KEY_CONFLICT` issue disappears; the `TRUE_ONLY` stays.**

Without the key declaration both `application_filed` entries would
coexist quietly and the queried date would still evaluate `TRUE_ONLY`,
but nothing would flag the collision. The key contributes the issue,
not the truth value — that is why the test expects both assertions
together.

## How to verify

```sh
law test packs/examples/language-demo/register
```

Expected: `итого: 9 проверено, 9 прошли, 0 не прошли, 0 не исполнены`.
The deciding tests are `on file without a record — not a resident`
(`FALSE_ONLY` inside the domain), `outside the domain silence is
silence` (`NEITHER` outside it), `file record accepted`
(`TRUE_ONLY`), and `key conflict: two filing dates` (`TRUE_ONLY` plus
`issue(KEY_CONFLICT)`).