FLOW ALGEBRA
TITLE: Contradiction Ontology
VERSION: 1.0
DOMAIN: Logical Relationships / Relationship Ontologies
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/logical-relationships/contradiction-ontology-2.html
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
FLOW "ContradictionOntology" v1.0
ENTITY_TYPES:
Proposition: {id: URI, expression: String, context: ContextID, provenance: EvidenceRef[]}
Assertion: {id: URI, proposition: Proposition, polarity: Boolean, source: EvidenceRef}
Context: {id: ContextID, scope: String, time: Interval?, assumptions: Set[String]}
Contradiction: {id: URI, left: Assertion, right: Assertion, type: ContradictionType, confidence: Decimal}
EvidenceRef: {id: URI, source_uri: URI?, observed_at: Timestamp?}
ENUM ContradictionType:
- direct_negation
- mutually_exclusive
- constraint_violation
- inconsistent_entailment
- contextual_apparent
RELATIONSHIPS:
NEGATES(p: Proposition, q: Proposition)
CONTRADICTS(a: Assertion, b: Assertion, context: Context)
ENTAILS(p: Proposition, q: Proposition, context: Context)
SUPPORTED_BY(a: Assertion, evidence: EvidenceRef)
RESOLVED_BY(c: Contradiction, action: String)
SEMANTICS:
classical_negation: NOT(P) = ¬P
direct_contradiction: P AND ¬P = FALSE
consistency_condition: NOT(EXISTS P: DERIVABLE(P) AND DERIVABLE(¬P))
scope_rule: Compare claims only when referent, time, assumptions and quantification align.
open_world_rule: Absence of P is not proof of ¬P.
paraconsistent_option: Preserve both supported claims without deriving arbitrary Q.
INFERENCE_RULES:
R1: IF ASSERT(P, C) AND ASSERT(¬P, C) THEN FLAG_CONTRADICTION(P, ¬P, direct_negation).
R2: IF ENTAILS(P, Q, C) AND ENTAILS(P, ¬Q, C) THEN FLAG_CONTRADICTION(Q, ¬Q, inconsistent_entailment).
R3: IF EXCLUSIVE(P, Q, C) AND ASSERT(P, C) AND ASSERT(Q, C) THEN FLAG_CONTRADICTION(P, Q, mutually_exclusive).
R4: IF CONTEXT(A) != CONTEXT(B) THEN REQUIRE_CONTEXT_ALIGNMENT_BEFORE_CONTRADICTION(A, B).
R5: IF CONTRADICTION_DETECTED THEN RETAIN_SOURCE_PROVENANCE_AND_REQUEST_RESOLUTION.
SEMANTIC_EQUIVALENCE:
canonicalise: Normalise logical operators, bound variables and compatible vocabulary.
condition: Logical equivalence requires a proof or a declared trusted mapping under stated assumptions.
restriction: Semantic similarity alone never proves logical equivalence.
CONFIDENCE:
range: [0.0, 1.0]
basis: [source_reliability, extraction_quality, context_alignment, logical_proof_strength]
policy: A confidence score describes assessment uncertainty, not a truth value.
VALIDATION:
- Validate proposition and context identifiers.
- Reject unsupported automatic closed-world negation.
- Check quantifier scope, time, units and referent identity.
- Preserve contradictory assertions and evidence for audit.
- Detect circular or unsound inference chains.
- Record whether reasoning is classical or paraconsistent.
RESOLUTION:
strategies: [clarify_context, correct_data, retract_assertion, revise_assumptions, mark_unresolved]
audit: Store old and new states, supporting evidence, reviewer and timestamp.
FLOW_HASH:
algorithm: SHA-256
input: Canonical serialisation of ontology version, definitions, rules and validation policy.
purpose: Integrity and change detection; not proof of semantic correctness.
UPDATE_MODEL:
mode: versioned
triggers: [new_evidence, rule_revision, context_change, contradiction_resolution]
actions: [revalidate, recompute_inferences, regenerate_flow_hash, preserve_history]
AI_CONSUMPTION:
format: typed_machine_readable_flow
tasks: [contradiction_detection, consistency_checking, knowledge_graph_validation, explainable_reasoning]
output: {contradictions: Contradiction[], evidence: EvidenceRef[], resolution_status: String}
guardrails: [no_unsupported_inference, preserve_provenance, distinguish_unknown_from_false]
END FLOW
Download Code
Copy to Clipboard