Skip to main content

Dependent Events Ontology

Probability Rules
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
FULL EXECUTABLE FLOW ALGEBRA — DEPENDENT EVENTS ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-rules/dependent-events-ontology.html

FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Probability Rules"
ONTOLOGY := "Dependent Events Ontology"
PRIMARY_ENTITY := DependentEvents
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"

BEGIN_FLOW

DependentEvents :=
    Events
    ∧ JointProbabilityDoesNotFactorise
    ∧ OccurrenceOfOneMayAlterProbabilityOfOther

ProbabilitySpace :=
    (Ω,F,P)

Event :=
    A,B,C ∈ F

Dependence :=
    not(A⟂B)

Independence :=
    A⟂B
    iff
    P(A∩B)
    =
    P(A)P(B)

DependenceCriterion :=
    P(A∩B)
    ≠
    P(A)P(B)

ConditionalDependenceCriterionA :=
    P(B)>0
    ∧
    P(A|B)
    ≠
    P(A)

ConditionalDependenceCriterionB :=
    P(A)>0
    ∧
    P(B|A)
    ≠
    P(B)

JointProbability :=
    P(A∩B)

ConditionalProbability :=
    P(A|B)
    =
    P(A∩B)/P(B)
    where P(B)>0

DependentMultiplicationRule :=
    P(A∩B)
    =
    P(A)P(B|A)

ReverseDependentMultiplicationRule :=
    P(A∩B)
    =
    P(B)P(A|B)

GeneralDependentChainRule :=
    P(A1∩...∩An)
    =
    P(A1)
    Π_{i=2..n}
    P(A_i|A1∩...∩A_(i-1))

DependenceDifference :=
    Δ(A,B)
    :=
    P(A∩B)-P(A)P(B)

PositiveDependenceIndicator :=
    Δ(A,B)>0

NegativeDependenceIndicator :=
    Δ(A,B)<0

IndependenceBoundary :=
    Δ(A,B)=0

ProbabilityLift :=
    Lift(A|B)
    :=
    P(A|B)-P(A)

PositiveProbabilityInfluence :=
    Lift(A|B)>0

NegativeProbabilityInfluence :=
    Lift(A|B)<0

RelativeRiskLikeRatio :=
    P(A|B)/P(A)
    where P(A)>0

DependenceSymmetry :=
    Dependent(A,B)
    ⇒ Dependent(B,A)

ConditionalProbabilityChange :=
    Evidence(B)
    → Prior P(A)
    → Posterior P(A|B)

DependenceDoesNotNecessarilyImplyCausation :=
    Dependent(A,B)
    ↛ Causes(A,B)

Association :=
    StatisticalRelationship
    between events_or_variables

CausalDependence :=
    CausalRelation
    requiring
    additional assumptions_or_design

Confounding :=
    ThirdFactor C
    influences
    observed relation between A and B

CommonCause :=
    C→A
    ∧ C→B

MediatedDependence :=
    A→C→B
    under causal interpretation

SelectionDependence :=
    ConditioningOnSelection
    may induce
    dependence

ColliderPattern :=
    A→C←B

ColliderConditioning :=
    ConditioningOn(C)
    may create
    association between A and B

ConditionalDependence :=
    not(A⟂B|C)

ConditionalIndependence :=
    A⟂B|C
    iff
    P(A∩B|C)
    =
    P(A|C)P(B|C)

ConditionalDependenceCriterion :=
    P(A∩B|C)
    ≠
    P(A|C)P(B|C)

DependenceCanDisappearAfterConditioning :=
    Dependent(A,B)
    ∧ Independent(A,B|C)
    possible

DependenceCanAppearAfterConditioning :=
    Independent(A,B)
    ∧ Dependent(A,B|C)
    possible

MutuallyExclusiveEvents :=
    A∩B=∅

PositiveProbabilityMutualExclusivity :=
    A∩B=∅
    ∧ P(A)>0
    ∧ P(B)>0
    ⇒ Dependent(A,B)

MutualExclusivityDependence :=
    P(A|B)=0
    when P(B)>0
    for disjoint A,B

ComplementDependence :=
    Dependent(A,B)
    generally propagates
    to complement pair relations
    subject to probability definitions

RandomVariable :=
    X:Ω→S

DependentRandomVariables :=
    not(X⟂Y)

DiscreteVariableDependence :=
    ∃x,y :
        p_(X,Y)(x,y)
        ≠
        p_X(x)p_Y(y)

ContinuousVariableDependence :=
    JointDensity
    does_not_factorise_as
    f_X(x)f_Y(y)
    almost everywhere

JointDistribution :=
    Law(X,Y)

MarginalDistribution :=
    Law(X)
    ∨ Law(Y)

ConditionalDistribution :=
    Law(X|Y)

DependenceEncodedByJoint :=
    JointDistribution
    contains
    dependence information
    beyond marginals

MarginalsDoNotDetermineDependence :=
    SameMarginals
    may_have
    different joint dependence structures

Covariance :=
    Cov(X,Y)
    =
    E[XY]-E[X]E[Y]

NonzeroCovarianceImpliesDependence :=
    Cov(X,Y)≠0
    ⇒ Dependent(X,Y)
    when covariance exists

ZeroCovarianceDoesNotGenerallyImplyIndependence :=
    Cov(X,Y)=0
    ↛ Independent(X,Y)

Correlation :=
    Corr(X,Y)
    =
    Cov(X,Y)/(SD(X)SD(Y))

CorrelationMeasuresLinearAssociation :=
    Correlation
    does_not_capture
    all forms of dependence

PerfectCorrelation :=
    |Corr(X,Y)|=1
    under finite nonzero variance conditions
    ⇒ affine relationship almost surely
    under standard conditions

NonlinearDependence :=
    Dependence
    may_exist
    despite zero correlation

MutualInformation :=
    I(X;Y)

MutualInformationDependence :=
    I(X;Y)>0
    ⇒ Dependent(X,Y)
    under standard information-theoretic conditions

MutualInformationIndependence :=
    I(X;Y)=0
    iff Independent(X,Y)
    under standard discrete/regular settings

Copula :=
    Function
    coupling
    marginal distributions
    into joint distribution

SklarRelation :=
    F_(X,Y)(x,y)
    =
    C(F_X(x),F_Y(y))
    under theorem conditions

DependenceStructure :=
    JointBehaviour
    after accounting_for
    MarginalDistributions

PositiveAssociation :=
    HigherValuesOrOccurrence
    tend_to_co-occur
    under specified measure

NegativeAssociation :=
    HigherValueOrOccurrence
    of one
    associated_with lower occurrence/value of another

PerfectDependence :=
    OneVariable
    deterministic_function_of
    another
    under specified relation

FunctionalDependence :=
    Y=g(X)
    almost surely

TemporalDependence :=
    X_t
    depends_statistically_on
    X_(t-k)

Autocorrelation :=
    Corr(X_t,X_(t-k))

SerialDependence :=
    TimeOrderedObservations
    not independent

MarkovDependence :=
    Future
    depends_on
    Present
    conditionally on past
    according_to Markov property

MarkovProperty :=
    P(X_(t+1)|X_t,...,X_0)
    =
    P(X_(t+1)|X_t)

SpatialDependence :=
    VariablesAtLocations
    exhibit
    dependence by spatial relation

HierarchicalDependence :=
    Observations
    share
    group-level latent factors

RepeatedMeasuresDependence :=
    MeasurementsOnSameUnit
    are generally dependent

ClusterDependence :=
    ObservationsWithinCluster
    may be correlated

Exchangeability :=
    JointDistribution
    invariant_under
    permutations
    but not necessarily independent

MixtureInducedDependence :=
    SharedLatentVariable
    can create
    marginal dependence

LatentVariable :=
    UnobservedVariable
    influencing
    observed variables

DependenceGraph :=
    Nodes(EventsOrVariables)
    ∧ Edges(DependenceRelations)

GraphicalModel :=
    Graph
    representing
    dependence_or_conditional_independence

BayesianNetwork :=
    DirectedAcyclicGraph
    ∧ ConditionalDistributions

MarkovRandomField :=
    UndirectedGraph
    ∧ LocalConditionalDependenceStructure

DSeparation :=
    GraphicalCriterion
    for conditional independence
    in Bayesian networks

DependencePath :=
    GraphPath
    connecting variables
    under active conditioning rules

DependentTrial :=
    TrialOutcome
    statistically related_to
    other trial outcomes

SamplingWithoutReplacement :=
    SequentialSelections
    generally dependent

WithoutReplacementRule :=
    ProbabilityOfNextSelection
    changes_after
    previous selection

SamplingWithReplacement :=
    CanProduceIndependentSelections
    under identical random selection mechanism

UrnModelDependence :=
    WithoutReplacement
    → ChangingComposition
    → DependentDraws

DependentBernoulliTrials :=
    BinaryTrials
    not mutually independent

ExchangeableBernoulliTrials :=
    PermutationInvariantJointLaw
    not necessarily independent

DependenceEvidence :=
    JointProbability
    ∨ ConditionalProbabilityChange
    ∨ JointDistribution
    ∨ Covariance
    ∨ MutualInformation
    ∨ ModelStructure
    ∨ ExperimentalEvidence

DeclaredDependence :=
    Dependence
    supplied_as
    ModelAssumption

DerivedDependence :=
    Dependence
    established_from
    probability structure

EmpiricalDependenceAssessment :=
    SampleData
    → StatisticalTestOrEstimate
    → EvidenceAboutPopulationDependence

DependenceConstraint :=
    P(A∩B)
    ≠
    P(A)P(B)
    or explicit structural relation

DependenceValidation :=
    ResolveEventsOrVariables
    → ResolveMarginals
    → ResolveJoint
    → CompareFactorisation
    → ResolveConditionals
    → DetermineStatus

DependenceStatus := {
    Dependent,
    Independent,
    ConditionallyDependent,
    ConditionallyIndependent,
    Unknown,
    InconsistentEvidence
}

DependenceConflict :=
    DeclaredDependent(A,B)
    ∧
    ModelRequiresIndependent(A,B)

ProbabilityModelConsistency :=
    DependenceClaims
    ∧ JointProbabilities
    ∧ Marginals
    ∧ Conditionals
    jointly_compatible

DependentEventsState := {
    ProbabilitySpace,
    EventsOrVariables,
    Marginals,
    JointProbabilities,
    ConditionalProbabilities,
    DependenceClaims,
    ConditionalDependenceClaims,
    DependenceMeasures,
    Evidence,
    Confidence,
    Provenance
}

DependenceUpdate :=
    NewJointMarginalConditionalOrStructuralEvidence
    → RecomputeDependence
    → RecomputeConditionals
    → RevalidateModel

SEMANTIC_EQUIVALENCE(DependenceA,DependenceB) :=
    same(EventOrVariablePair)
    ∧ same(ConditioningContext)
    ∧ same(DependenceStructure)
    under same probability model

DependentEventsOntology :=
    Classes
    ∧ Relations
    ∧ Constraints
    ∧ Axioms
    ∧ InferenceRules

CoreClasses := {
    DependentEvents,
    Event,
    ProbabilitySpace,
    JointProbability,
    MarginalProbability,
    ConditionalProbability,
    ConditionalDependence,
    RandomVariable,
    DependentRandomVariables,
    JointDistribution,
    Covariance,
    Correlation,
    MutualInformation,
    Copula,
    LatentVariable,
    DependenceConstraint,
    DependenceEvidence
}

CoreRelations := {
    dependentOn,
    independentOf,
    conditionallyDependentOn,
    conditionedOn,
    hasJointProbability,
    hasMarginalProbability,
    hasCovariance,
    hasCorrelation,
    hasMutualInformation,
    influencedBy,
    sharesLatentCauseWith,
    supports,
    contradicts,
    dependsOn,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    Event --dependentOn--> Event
    Event --independentOf--> Event
    Event --conditionallyDependentOn--> Event
    ConditionalDependence --conditionedOn--> Event
    EventPair --hasJointProbability--> ProbabilityValue
    Event --hasMarginalProbability--> ProbabilityValue
    RandomVariablePair --hasCovariance--> Covariance
    RandomVariablePair --hasCorrelation--> Correlation
    RandomVariablePair --hasMutualInformation--> MutualInformation
    Evidence --supports--> DependenceClaim
    DependenceClaim --tracesTo--> Provenance

InferenceRules := {
    P(A∩B)≠P(A)P(B)
        ⇒ Dependent(A,B),

    P(B)>0
        ∧ P(A|B)≠P(A)
        ⇒ Dependent(A,B),

    A∩B=∅
        ∧ P(A)>0
        ∧ P(B)>0
        ⇒ Dependent(A,B),

    Cov(X,Y)≠0
        ⇒ Dependent(X,Y)
        when covariance exists,

    Cov(X,Y)=0
        ↛ Independent(X,Y),

    I(X;Y)>0
        ⇒ Dependent(X,Y)
        under standard information-theoretic conditions,

    ConditionalDependent(A,B|C)
        does_not_by_itself_imply
        UnconditionalDependent(A,B),

    Dependent(A,B)
        does_not_by_itself_imply
        Causes(A,B)
}

CanonicalDependenceRepresentation :=
    ParseDependenceClaim
    → ResolveProbabilitySpace
    → ResolveEventsOrVariables
    → ResolveConditioningContext
    → ResolveMarginals
    → ResolveJointProbability
    → ResolveConditionalProbabilities
    → ComputeDependenceIndicators
    → CanonicaliseDependenceRelation

DependenceSemanticGraph :=
    G=(V,E)

V := {
    Events,
    RandomVariables,
    MarginalProbabilities,
    JointProbabilities,
    ConditionalProbabilities,
    JointDistributions,
    DependenceRelations,
    ConditionalDependenceRelations,
    Covariances,
    Correlations,
    MutualInformationValues,
    LatentVariables,
    Evidence
}

E := {
    dependentOn,
    independentOf,
    conditionallyDependentOn,
    conditionedOn,
    hasJointProbability,
    hasMarginalProbability,
    hasCovariance,
    hasCorrelation,
    hasMutualInformation,
    influencedBy,
    sharesLatentCauseWith,
    supports,
    contradicts,
    tracesTo
}

CONFIDENCE(DependenceAssessment) :=
    weighted_mean(
        EventOrVariableResolution,
        JointProbabilityQuality,
        MarginalProbabilityQuality,
        ConditionalProbabilityQuality,
        DependenceMeasureQuality,
        ModelAssumptionQuality,
        Consistency,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectDependenceIntent
    → IdentifyEventsOrVariables
    → ResolveProbabilitySpace
    → ResolveConditioningContext
    → ResolveJointMarginalAndConditionalInformation
    → IdentifyRequestedDependenceRelation

AI_REASONING_FLOW :=
    Query
    → ParseDependenceQuery
    → ResolveProbabilitySpace
    → ResolveEventsOrRandomVariables
    → ResolveMarginalProbabilities
    → ResolveJointProbability
    → CompareJointAgainstProductOfMarginals
    → ResolveConditionalProbabilities
    → TestProbabilityChangeUnderConditioning
    → EvaluateCovarianceCorrelationOrMutualInformationIfRelevant
    → ResolveConditionalDependence
    → DetectMutualExclusivityDependence
    → DistinguishAssociationFromCausation
    → DetermineDependenceStatus
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseDependentEventEntities,
    ParseTypedRelations,
    ResolveEvents,
    ResolveRandomVariables,
    ResolveJointProbabilities,
    ResolveMarginals,
    ResolveConditionalProbabilities,
    EvaluateJointFactorisationFailure,
    EvaluateConditionalDependence,
    EvaluateCovariance,
    EvaluateCorrelation,
    EvaluateMutualInformation,
    ResolveLatentDependence,
    DetectDependenceConflicts,
    ValidateDependenceModels,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewJointMarginalConditionalOrDependenceEvidence
    → ValidateInput
    → IdentifyAffectedDependenceClaims
    → UpdateProbabilityGraph
    → RecomputeJointFactorisation
    → ReevaluateConditionalDependence
    → RecomputeDependenceMeasures
    → RecheckModelConsistency
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

JointProbabilityUpdate :=
    ChangedJointProbability
    ⇒ reevaluate(
        DependenceStatus,
        ConditionalProbabilities
    )

MarginalUpdate :=
    ChangedMarginalProbability
    ⇒ reevaluate(
        ProductOfMarginals,
        DependenceStatus
    )

ConditioningUpdate :=
    ChangedConditioningContext
    ⇒ reevaluate(
        ConditionalDependenceStatus
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        DependenceCriterion,
        ConditionalDependenceCriterion,
        DependenceDifference,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    DependentEventsEntityResolution,
    ProbabilitySpace,
    EventsOrVariables,
    MarginalProbabilities,
    JointProbability,
    ConditionalProbabilities,
    ConditioningContext,
    DependenceMeasures,
    DependenceStatus,
    ConditionalDependenceStatus,
    ModelConsistency,
    Confidence,
    Provenance,
    Explanation
}

END_FLOW

END OF FULL EXECUTABLE FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ