Skip to content
docs
Arxo ↗

Exercise 11. A document counts as lost

For LLMs2 sections

An exercise for the definitions, classifications, constraints, and fictions page. On the page a fiction recognises a letter as received on the fact of sending. The archive rules know one more: a document unreturned thirty days past its term counts as lost, and from that moment the loss norms, not the overdue ones, apply to the reader.

Setup. Write this as a fiction. An issue from 1 to 31 March with a non-return recorded 15 May yields TRUE_ONLY on the question “is the document lost”; a non-return recorded 10 April yields no answer.

Hint. days_between counts between two dates. A fiction’s strength is mandatory, and the compiler will remind you of it.

Below is the solution. Try it yourself first.

Arxo Law
language "law.core" version "0.2";
package tutorial.archive version "0.9.1";
namespace "urn:law:tutorial:archive";
entity Person;
relation document_lent(p: Person, issued: Date, due: Date) kind empirical { key(p); }
relation non_return_recorded(p: Person, on: Date) kind empirical { key(p); }
relation document_lost(p: Person) kind institutional;
const LOSS_GRACE_DAYS: Integer = 30;

The fiction reads the return term and the non-return record date:

Arxo Law
fiction DeemedLost strict {
for p: Person;
for issued, due, on: Date;
when document_lent(p, issued, due) and non_return_recorded(p, on)
and days_between(due, on) > LOSS_GRACE_DAYS;
deem document_lost(p);
}

Why a fiction, not a rule. A lost document is a fact about the world the archive did not observe: the document may lie on the reader’s desk. Fiction names a thing what it is not in the text, and does so openly: in the derivation explanation the consumer will see the word deem, not “established”. A rule with a document_lost head would assert an observation that never happened.

FactsAnswer on document_lost(ivanova)
issued 1 March due 31 March, non-return 15 MayTRUE_ONLY
issued 1 March due 31 March, non-return 10 AprilNEITHER
issued, nothing on non-returnNEITHER

Removing the word strict from the fiction must bring the compiler’s LDC-E0201 refusal: a fiction’s strength is not implied.

What the exercise teaches. The page’s four forms differ in meaning under identical execution: a definition says “this is”, a classification “belongs to”, a fiction “counts as”. Thirty days is a magnitude from the text, and it stands as a named constant, not a number in a condition.

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

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