Apply a default after producers
Intention
Section titled “Intention”I want to apply the ordinary order until the exception has positive support.
Incorrect form and why it stays silent
Section titled “Incorrect form and why it stays silent”A strict reader cannot wait for a defeated producer by the same path:
rule Produce defeasible { for p: Person; when proof_ready(p); then exception(p); }rule Default strict { for p: Person; when registered(p) and not_known(exception(p)); then ordinary(p); }That is E4103: a hard error, not silent blindness to a strict producer.
Correct form
Section titled “Correct form”language "law.core" version "0.2";package recipes.v.r03 version "0.1.0";namespace "urn:recipe:v-negation:03";
entity Person;relation registered(p: Person);relation proof_ready(p: Person);relation exception(p: Person);relation ordinary(p: Person);rule Produce strict { for p: Person; when proof_ready(p); then exception(p);}rule Default strict { for p: Person; when registered(p) and not_known(exception(p)); then ordinary(p);}Frozen execution scene
Section titled “Frozen execution scene”| Facts | Question | Answer |
|---|---|---|
| registered(a) | ordinary(a) | TRUE_ONLY |
| registered(a), proof_ready(a) | ordinary(a) | NEITHER |
| registered(a), not exception(a) | ordinary(a) | TRUE_ONLY |
| registered(a), exception(a) and not exception(a) | ordinary(a) | NEITHER |
| registered(a) | exception(a) | NEITHER |
Counterfactual
Section titled “Counterfactual”teaches changes the producer’s strength and requires E4103; adding a reverse producer of exception from ordinary forms a default cycle and yields E4102. Strict Produce in the correct scene finishes before Default.
Boundary
Section titled “Boundary”not_known does not produce not exception. A complete registry is Establish the absence of a registry record. A late producer is rejected.
Pitfall
Section titled “Pitfall”The barrier lifts the reader above the strict producer of the same stratum, and proof_ready suppresses the default. A late producer is rejected.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.