Repository navigation
Tetravalent Logic
Stephane Pareilleux edited this page Mar 18, 2026
·
1 revision
Demerzel uses four-valued logic for uncertainty-aware reasoning. Unlike binary true/false, tetravalent logic explicitly represents incomplete knowledge and conflicting evidence.
| Value | Symbol | Meaning | Action |
|---|---|---|---|
| True | T | Verified with evidence | Proceed with confidence |
| False | F | Refuted with evidence | Act on the negation |
| Unknown | U | Insufficient evidence | Investigate before acting |
| Contradictory | C | Conflicting evidence | Escalate — cannot resolve automatically |
Binary logic forces premature commitment. When Demerzel doesn't know whether a consumer repo is compliant, the answer isn't "true" or "false" — it's unknown, which triggers investigation rather than false confidence or false alarm.
Contradictory is the most important value. When evidence conflicts (e.g., a test passes but logs show violations), the system cannot resolve it — a human must decide which evidence to trust.
{
"proposition": "ix governance integration is current",
"value": "U",
"confidence": 0.40,
"evidence": ["submodule 142 commits behind", "ix-governance crate exists"],
"updated_at": "2026-03-17",
"previous_value": null
}| AND | T | F | U | C |
|---|---|---|---|---|
| T | T | F | U | C |
| F | F | F | F | F |
| U | U | F | U | C |
| C | C | F | C | C |
| OR | T | F | U | C |
|---|---|---|---|---|
| T | T | T | T | T |
| F | T | F | U | C |
| U | T | U | U | C |
| C | T | C | C | C |
| Value | NOT |
|---|---|
| T | F |
| F | T |
| U | U |
| C | C |
Tetravalent values combine with confidence scores:
- T at 0.95 = strong verified belief → act autonomously
- T at 0.60 = weakly verified → proceed with note
- U at 0.50 = uncertain → investigate
- F at 0.90 = strongly refuted → act on negation
- C at any = conflicting → escalate to human
The conscience system monitors tetravalent state transitions:
-
T → F = Something believed true was proven false →
confidence_discomfortsignal -
T → U = Certainty degraded →
stale_action_discomfortif actions were taken - Any → C = Contradiction emerged → immediate escalation