FLOW ALGEBRA
TITLE: Causal Relationship Ontology
VERSION: 1.0
SOURCE: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/logical-relationships/causal-relationship-ontology.html
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
ONTOLOGY:
id: causal_relationship_ontology
domain: relationship_ontologies.logical_relationships
purpose: Represent, qualify, test and reason about causal claims without conflating association and causation.
TYPES:
Entity: {id: URI, label: String}
Event: {id: URI, time: Timestamp?, context: ContextID?}
Variable: {id: URI, domain: ValueDomain}
Context: {id: ContextID, population: String?, conditions: Map?}
Evidence: {id: URI, method: String, source: URI?, quality: Float[0,1]}
CausalClaim: {cause: Entity|Event|Variable, effect: Entity|Event|Variable, context: ContextID?, evidence: EvidenceID[], confidence: Float[0,1], status: proposed|supported|refuted|undetermined}
RELATIONSHIPS:
CAUSES(cause, effect, context)
DIRECT_CAUSE(cause, effect, context)
INDIRECT_CAUSE(cause, mediator, effect, context)
ENABLES(condition, effect, context)
PREVENTS(cause, effect, context)
MEDIATES(mediator, cause, effect)
MODERATES(modifier, cause, effect)
CONFOUNDS(confounder, cause, effect)
PRECEDES(event_a, event_b)
CORRELATES_WITH(variable_a, variable_b)
SUPPORTED_BY(claim, evidence)
CONTRADICTED_BY(claim, evidence)
FLOW RULES:
R1: DIRECT_CAUSE(A,B,C) => CAUSES(A,B,C).
R2: CAUSES(A,M,C) AND CAUSES(M,B,C) => CANDIDATE_INDIRECT_CAUSE(A,M,B,C); validate interventions and confounding before acceptance.
R3: CORRELATES_WITH(A,B) does NOT imply CAUSES(A,B,C).
R4: PRECEDES(A,B) does NOT imply CAUSES(A,B,C).
R5: CONFOUNDS(Z,A,B) => require adjustment or identification strategy before upgrading causal confidence.
R6: CAUSES(A,B,C) does NOT imply CAUSES(B,A,C).
R7: A causal claim is scoped to its population, time, assumptions and context; do not automatically transfer it.
R8: Conflicting evidence => mark claim disputed and preserve both evidence trails.
CAUSAL IDENTIFICATION:
methods: [randomised_experiment, natural_experiment, instrumental_variables, difference_in_differences, regression_discontinuity, backdoor_adjustment, frontdoor_adjustment]
assumptions: [consistency, positivity, exchangeability_where_required, no_unmeasured_confounding_where_required]
effect_notation: P(Y | do(X=x), C)
observation_notation: P(Y | X=x, C)
rule: observational and interventional distributions are distinct unless justified by an identification argument.
SEMANTIC_EQUIVALENCE:
canonical: CAUSES
exact_aliases: [is_a_cause_of]
related_not_equivalent: [associated_with, correlated_with, precedes, enables, predicts]
mapping_policy: preserve direction, context, evidence and strength of claim.
CONFIDENCE:
range: [0,1]
inputs: [study_design, evidence_quality, replication, confounding_risk, temporal_order, model_fit, external_validity]
rule: confidence is an assessed support level, not automatically a calibrated causal probability.
missing_evidence: undetermined
VALIDATION:
- cause and effect must resolve to typed identifiers.
- reject missing context where the causal claim is context-dependent.
- check temporal consistency where temporal ordering is applicable.
- flag causal cycles for review; feedback systems may legitimately contain cycles across time.
- never infer causality solely from correlation, prediction or temporal sequence.
- preserve negative, conflicting and null findings.
- ensure evidence identifiers resolve and provenance is retained.
PROVENANCE:
required: [claim_id, source, method, observed_at, assessed_at, assessor, assumptions]
optional: [dataset, sample_size, effect_size, uncertainty_interval, version]
FLOW_HASH:
algorithm: SHA-256
input: canonical_serialisation(ontology_id, version, typed_claims, evidence_ids, assumptions, rules)
purpose: integrity and change detection; not proof of truth.
UPDATE_MODEL:
trigger: [new_evidence, corrected_source, changed_context, revised_identification, ontology_revision]
steps: [ingest, type_check, deduplicate, evaluate_assumptions, recalculate_confidence, flag_conflicts, version, regenerate_hash, publish]
policy: maintain historical claims and audit trail; do not silently overwrite contested findings.
AI_CONSUMPTION:
format: text/plain
interpretation: typed causal knowledge and explicitly qualified inference
safeguards: [distinguish_correlation_from_causation, report_assumptions, expose_uncertainty, preserve_provenance, avoid_unjustified_transitivity]
output_fields: [claim, cause, effect, context, evidence, assumptions, confidence, status, provenance]
END FLOW ALGEBRA
Download Code
Copy to Clipboard