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.
# 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)`).