nb-07 solutions — A document is not yet a proven fact
Checkable against law test packs/examples/language-demo/register
(9 checked, 9 passed). Identifiers and code as written.
1. Which conjunct fails without verification?
Section titled “1. Which conjunct fails without verification?”Answer: authentic(d, "urn:demo:northbridge:verifier", "verified").
The Accept rule needs all five conjuncts: edge, evidence_status,
authentic, available, current. The stored record supplies the
document and its status, and the support line supplies the link — but
only a verification declaration with a matching document hash,
verifier URN and outcome verified can support the authentic
conjunct. With the verification VPass block deleted, nothing feeds
authentic, so Accept never fires and accepted(e) is never
derived. Record plus link are transport: they say what the paper
claims, never who checked it.
2. What does the missing policy line switch off?
Section titled “2. What does the missing policy line switch off?”Answer: evidence_policy FilePolicy in the context; it switches off
the entire acceptance computation.
Without the policy selection, the engine never runs FilePolicy at
all — the hand-asserted edge, evidence_status, authentic,
available and current facts are ordinary assertions with no rule
consuming them, because the only rule that would consume them
(Accept) is wired into the unselected policy. Support stays
transport: filed, hashed and linked, but never evaluated. One context
line is the on/off switch for the whole pipeline.
3. Why silence instead of an error — and what if protection were lifted?
Section titled “3. Why silence instead of an error — and what if protection were lifted?”Answer: protection discards the assertion route rather than
forbidding it with an error, so the fact simply has no lawful source
and the question is NEITHER. If residency_proof were removed from
protects, the bare assert would become a lawful source again and
ProofAdmits would derive resident_admitted(ann): TRUE_ONLY.
Protection is a routing rule, not a type error: it says “this
predicate may enter only through the evidence pipeline”. The assertion
is ignored as a source, no derivation fires, and the engine reports the
honest outcome for an unsupported question — NEITHER. Lifting
protection restores assertion as a source, which is exactly how the
unprotected closure facts in nb-06 enter.
4. Refuting document: status and the deciding word
Section titled “4. Refuting document: status and the deciding word”Answer: FALSE_ONLY; the deciding word is refutes.
The scenario links the verified document with support DenyDoc refutes residency_proof(...) instead of supports. A verified
refuting document runs the same pipeline in the opposite direction:
acceptance of a document that speaks against the claim yields an
explicit negative, hence FALSE_ONLY rather than the NEITHER of a
missing chain. One word flips the polarity of the whole result.
How to verify
Section titled “How to verify”law test packs/examples/language-demo/registerExpected: итого: 9 проверено, 9 прошли, 0 не прошли, 0 не исполнены.
The deciding tests are policy selected, authenticity pinned
(TRUE_ONLY), without pinned authenticity support is rejected
(NEITHER), without a policy support stays transport (NEITHER),
bare assertion of the protected under a policy (NEITHER), and
refuting document (FALSE_ONLY).
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.