Submit a negative fact
For LLMs7 sections
Intention
Section titled “Intention”I want to tell the case that a person is not insured.
Incorrect form and why it stays silent
Section titled “Incorrect form and why it stays silent”Polarity is written before the atom. A field in the assertion body does not replace not:
assert insured(person) { polarity negative; }A second error is to negate the whole conjunction: not (registered(p) and insured(p)) is rejected.
Correct form
Section titled “Correct form”language "law.core" version "0.2";package recipes.v.r02 version "0.1.0";namespace "urn:recipe:v-negation:02";
entity Person;relation registered(p: Person);relation insured(p: Person);relation notice(p: Person);rule Notice strict { for p: Person; when registered(p) and not insured(p); then notice(p);}Frozen execution scene
Section titled “Frozen execution scene”| Facts | Question | Answer |
|---|---|---|
| registered(a), assert not insured(a) | notice(a) | TRUE_ONLY |
| registered(a), insured(a) { polarity negative; } | notice(a) | NEITHER |
| registered(a), no insured | notice(a) | NEITHER |
explicit negative fact triggers notice
test "explicit negative fact triggers notice" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:v-negation:02:a")); assert not insured(entity_ref("urn:recipe:v-negation:02:a")); } evaluate truth(notice(entity_ref("urn:recipe:v-negation:02:a"))); expect truth_status == TRUE_ONLY; expect applied(Notice);}polarity field is no negation
test "polarity field is no negation" { given { context { legal_time @2026-09-13; decision_time @2026-09-13T09:00:00+05:00; knowledge_time @2026-09-13T09:00:00+05:00; timezone "Asia/Almaty"; } assert registered(entity_ref("urn:recipe:v-negation:02:a")); assert insured(entity_ref("urn:recipe:v-negation:02:a")) { polarity negative; } } evaluate truth(notice(entity_ref("urn:recipe:v-negation:02:a"))); expect truth_status == NEITHER; expect not applied(Notice);}Counterfactual
Section titled “Counterfactual”The two scene files differ in how the negative fact is written; the second keeps the wrong answer. teaches separately pins the ban on not over a conjunction (E1305).
Boundary
Section titled “Boundary”A negative fact must have its own ground; negating a compound formula is rejected.
Pitfall
Section titled “Pitfall”polarity negative does not give negative support; the fix is assert not.
Documentation for Arxo. Writings — blog.arxo.io.
Anonymous visit counts on stats.arxo.io, no cookies.