Skip to content
docs
Arxo ↗

nb-19 solutions — Unknown, presumed and deemed

For LLMs3 sections
← Back to lessonChapter 19 / 25 · Advanced II · Worked solution

Setup: demo.northbridge.unknown (packs/examples/language-demo/unknown/), suite 17/17 green. Command for every check below:

Terminal
law test packs/examples/language-demo/unknown
  1. truth(resident(carl)) is FALSE_ONLY: Carl is on file and the closure FileComplete turns the missing record into an explicit denial inside its domain. truth(permit_ok(carl)) is NEITHER: the closure covers resident only, so Grant has no established premise and DenyListed has none either. The declaration that explains the difference is the closure’s predicate resident line — completeness is per predicate, never file-wide.

  2. With application and unknown residence, truth(needs_review(ann)) is TRUE_ONLY (not_known holds on silence) while truth(cleared(ann)) is NEITHER (no denial, so ClearWhenDenied does not fire). After asserting not resident(ann), only the second flips — cleared becomes TRUE_ONLY; needs_review stays NEITHER because residence is now decided (denied counts as established-against, so not_known no longer holds).

  3. truth(standing(ann)) is NEITHER: the presumption Standing fires on her application but the unpaid record rebuts it via unless, withdrawing the conclusion without denying it. truth(received(ann)) is NEITHER too, but answered by the fiction DeemedReceipt: nothing was posted, and fiction needs its trigger — it is not a default. The fine touches only standing because unless unpaid(a) belongs to the presumption alone; the fiction has no unless and no rebuttal path.

  4. With the fee record wholly absent, the constraint reports nothing and late_fee is not derived. Both mechanisms need the explicit denial: the constraint’s require fee_ok(a) fires only against established-against support, and LateFee’s not fee_ok(a) condition likewise needs the denial, not mere silence. Difference from the suite case: assert not fee_ok supplies support-against (finding plus consequence), while total absence supplies nothing (neither).

  5. truth(resident(ann)) is BOTH — contradiction is preserved, neither record cancels the other. Grant does not fire for her: a rule that needs resident(a) established does not run on a disputed premise, so truth(permit_ok(ann)) is NEITHER.

Questions 1–3 and 5 replay suite tests verbatim (closure: on file without a record is denied, closure does not leak to other predicates, unknown triggers review, silence does not clear, denial clears, presumption holds by default, rebuttal withdraws the presumption, fiction needs its trigger, contradiction is both). Question 4 was verified 2026-10-02 with a scratch probe (/tmp/nb19-probe/probe.law, copy of the package; law engine test /tmp/nb19-probe/probe.lawtest --program /tmp/nb19-probe/probe.law):

Output
test FAIL: probe: issued, fee record wholly absent
truth_status == TRUE_ONLY: в документе NEITHER
test FAIL: probe: issued absent-fee, issue present
issue(CONSTRAINT_VIOLATED): в документе нет
test FAIL: probe: disputed premise and grant
truth_status == TRUE_ONLY: в документе NEITHER

(All three probes fail as designed: late_fee is NEITHER, no issue is present, and Grant does not fire on a disputed premise.)

Documentation for Arxo. Writings — blog.arxo.io.

Anonymous visit counts on stats.arxo.io, no cookies.