Markdown for LLMs
Derive an explicit negative by a norm
The source Markdown for this article. Copy it into your assistant or download it as a text file.
# 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.