Markdown for LLMs
Apply a default after producers
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# Apply a default after producers
## Intention
I want to apply the ordinary order until the exception has positive support.
## Incorrect form and why it stays silent
A strict reader cannot wait for a defeated producer by the same path:
```law title="Incorrect form"
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
```law
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
| 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
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
`not_known` does not produce `not exception`. A complete registry is [Establish the absence of a registry record](/recipes/v-negation/registry-absence/). A late producer is rejected.
## 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.