# 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.