nb-05 solutions — Who counts as a suitable applicant
Checkable against law test packs/examples/language-demo/permits
(28 checked, 28 passed). Identifiers and code as written.
1. Status of truth(central_senior(ann)) and its two conditions
Section titled “1. Status of truth(central_senior(ann)) and its two conditions”Answer: TRUE_ONLY. The two elements are the definition
central_resident(ann) (resident and living in the centre) and the
rule conclusion large_household(ann) (count of her household
members reaches LARGE_HOUSEHOLD, i.e. 4).
Ann has all three recorded inputs: resident, lives_in(ann, central),
and four household_member facts (m1–m4), so both conjuncts of the
classification body hold. Confirmed by the test
classification: central resident from a large household, which expects
truth_status == TRUE_ONLY.
2. Status of truth(central_senior(bob))
Section titled “2. Status of truth(central_senior(bob))”Answer: NEITHER. Confirmed by the test
classification: not from the centre — no match.
Bob is recorded as resident but living in the outer zone, so
central_resident(bob) fails and the classification body fails with
it. NEITHER means no label was derived — it is not a refusal
(FALSE_ONLY) and not a conflict (BOTH); see nb-02 for the status
meanings.
3. The two totals on three identical receipts
Section titled “3. The two totals on three identical receipts”Answer: Set collector — 10 EUR; duplicate-preserving collector —
30 EUR. Pinned by set ignores duplicates: three times 10 — total 10
(fee_total_set(ann, 10 EUR), TRUE_ONLY) and
list counts duplicates: three times 10 — total 30
(fee_total_all(ann, 30 EUR), TRUE_ONLY).
The three fee_payment facts differ only in receipt number; the
amounts are identical, so plain collect merges them into one 10 EUR
entry before sum, while collect all keeps all three and sum adds
10 + 10 + 10 = 30 EUR.
4. Two receipts instead of three
Section titled “4. Two receipts instead of three”Answer: Set total stays 10 EUR; duplicate-preserving total becomes
20 EUR.
The Set collector still sees one distinct 10 EUR entry however many
identical receipts repeat it, so its sum is unchanged. The
duplicate-preserving collector keeps one entry per receipt, so its sum
tracks the receipt count: two receipts give 10 + 10 = 20 EUR. (No
suite test covers the two-receipt case; the reasoning follows directly
from the two three-receipt tests in question 3.)
How to verify
Section titled “How to verify”law test packs/examples/language-demo/permitsExpected: итого: 28 проверено, 28 прошли, 0 не прошли, 0 не исполнены.
The deciding tests are definition: central resident,
aggregate: large household,
classification: central resident from a large household,
classification: not from the centre — no match,
set ignores duplicates: three times 10 — total 10, and
list counts duplicates: three times 10 — total 30.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.