# Derive an explicit negative by a norm ## Intention I want to derive the absence of a debt from an established discharge. ## Incorrect form and why it stays silent A consumer rule does not itself create its negative premise: ```law title="Incorrect form" rule Borrow strict { for p: Person; when registered(p) and not debt(p); then may_borrow(p); } // Negative отсутствует. ``` ## Correct form ```law language "law.core" version "0.2"; package recipes.v.r09 version "0.1.0"; namespace "urn:recipe:v-negation:09"; entity Person; relation registered(p: Person); relation cleared(p: Person); relation debt(p: Person); relation may_borrow(p: Person); rule Negative strict { for p: Person; when cleared(p); then not debt(p); } rule Borrow strict { for p: Person; when registered(p) and not debt(p); then may_borrow(p); } ``` ## Frozen execution scene | Facts | Question | Answer | |---|---|---| | registered, cleared | debt(a) | FALSE_ONLY | | registered, cleared | may_borrow(a) | TRUE_ONLY | | registered, cleared, without Negative | may_borrow(a) | NEITHER | | registered, cleared, debt | debt(a) | BOTH | | same both supports | may_borrow(a) | NEITHER | ## Counterfactual evaluates.without removes Negative entirely. Discharge remains a fact, but the bridge to negative support disappears, and Borrow no longer fires. ## Boundary A strict negative head does not cancel a positive fact. Priority of refusal needs defeatable candidates and an explicitly given advantage; consuming a dispute is [Use a disputed fact deliberately](/recipes/v-negation/consume-conflict/). ## Pitfall A negative body without a producer stays silent. This page takes the negative from a discharge norm instead, so no complete-registry holder is assumed.