Skip to main content

Marginal Probability 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 — MARGINAL PROBABILITY ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-rules/marginal-probability-ontology.html

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

BEGIN_FLOW

MarginalProbability :=
    ProbabilityOfSubsetOfVariablesOrEvents
    ∧ DerivedFromJointProbability
    ∧ EliminatesUnobservedOrUnrequestedDimensions

ProbabilitySpace :=
    (Ω,F,P)

RandomVariable :=
    X:Ω→S

RandomVector :=
    (X1,...,Xn)

JointDistribution :=
    Law(X1,...,Xn)

MarginalDistribution :=
    DistributionOfSelectedVariables
    obtained_by
    SummingOrIntegratingOutOthers

MarginalProbabilityOfEvent :=
    P(A)

JointEventProbability :=
    P(A∩B)

PartitionMarginalisation :=
    Partition({B_i})
    ⇒
    P(A)
    =
    Σ_i P(A∩B_i)

TotalProbabilityMarginalisation :=
    P(A)
    =
    Σ_i P(A|B_i)P(B_i)

DiscreteJointPMF :=
    p_(X,Y)(x,y)

DiscreteMarginalPMF_X :=
    p_X(x)
    =
    Σ_y p_(X,Y)(x,y)

DiscreteMarginalPMF_Y :=
    p_Y(y)
    =
    Σ_x p_(X,Y)(x,y)

MultivariateDiscreteMarginal :=
    p_(X_S)(x_S)
    =
    Σ_{x_notinS}
    p_(X1,...,Xn)(x1,...,xn)

ContinuousJointPDF :=
    f_(X,Y)(x,y)

ContinuousMarginalPDF_X :=
    f_X(x)
    =
    Integral f_(X,Y)(x,y)dy

ContinuousMarginalPDF_Y :=
    f_Y(y)
    =
    Integral f_(X,Y)(x,y)dx

MultivariateContinuousMarginal :=
    f_(X_S)(x_S)
    =
    Integral_over_x_notinS
    f_(X1,...,Xn)(x1,...,xn)

MixedMarginalisation :=
    JointModelWithDiscreteAndContinuousVariables
    → SumDiscreteDimensions
    → IntegrateContinuousDimensions

MarginalCDF :=
    F_X(x)
    =
    P(X≤x)

JointCDF :=
    F_(X,Y)(x,y)
    =
    P(X≤x,Y≤y)

MarginalCDFFromJoint :=
    F_X(x)
    =
    lim_{y→∞} F_(X,Y)(x,y)

MarginalisationOperator :=
    M_S(
        JointDistribution
    )
    =
    DistributionOfVariables(S)

EliminatedVariable :=
    Variable
    summed_or_integrated_out

RetainedVariable :=
    Variable
    remaining_in
    MarginalDistribution

Projection :=
    π_S :
    ProductStateSpace
    → SelectedStateSpace

MarginalAsPushforward :=
    P_(X_S)
    =
    JointMeasure
    ∘ π_S^{-1}

CoordinateProjection :=
    π_X(x,y)=x

MarginalMeasure :=
    PushforwardOfJointMeasure
    under coordinate projection

MarginalSupport :=
    ProjectionOfJointSupport
    onto retained variables

JointSupport :=
    SetOfPossibleJointValues

DiscreteMarginalNormalisation :=
    Σ_x p_X(x)=1

ContinuousMarginalNormalisation :=
    Integral f_X(x)dx=1

MarginalNonNegativity :=
    p_X(x)≥0
    ∨ f_X(x)≥0

MarginalConsistency :=
    Marginal
    must_equal
    SumOrIntegralOfJoint

JointMarginalCompatibility :=
    JointDistribution
    has
    specified marginals

Coupling :=
    JointDistribution
    with prescribed marginals

MarginalConstraint :=
    RequiredDistribution
    for one component
    of joint model

MarginalProblem :=
    DeterminePossibleJointDistributions
    consistent_with
    specified marginals
    and constraints

ConditionalProbability :=
    P(A|B)

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

MarginalFromConditional :=
    P(A)
    =
    Σ_i P(A|B_i)P(B_i)
    for partition {B_i}

ConditionalDistribution :=
    p_(X|Y)(x|y)
    or
    f_(X|Y)(x|y)

JointFromConditionalDistribution :=
    p_(X,Y)(x,y)
    =
    p_(X|Y)(x|y)p_Y(y)

ContinuousJointFromConditional :=
    f_(X,Y)(x,y)
    =
    f_(X|Y)(x|y)f_Y(y)

MarginalisationOfConditionalJoint :=
    p_X(x)
    =
    Σ_y p_(X|Y)(x|y)p_Y(y)

ContinuousMarginalisationOfConditionalJoint :=
    f_X(x)
    =
    Integral
    f_(X|Y)(x|y)f_Y(y)dy

LawOfTotalProbability :=
    MarginalProbability
    obtained_from
    ConditionalProbabilities
    weighted_by
    conditioning marginals

BayesianNetwork :=
    DAG
    ∧ LocalConditionalDistributions

BayesianNetworkJoint :=
    P(X1,...,Xn)
    =
    Π_i P(X_i|Parents(X_i))

BayesianNetworkMarginal :=
    SumOrIntegrate
    all non-query variables
    from joint factorisation

VariableElimination :=
    FactorisedJointDistribution
    → SelectEliminationOrder
    → MultiplyRelevantFactors
    → SumOrIntegrateEliminatedVariables
    → MarginalResult

EliminationOrder :=
    OrderedListOfVariables
    not retained in query

Factor :=
    Function
    over subset of variables

FactorProduct :=
    CombineFactors
    over union of scopes

FactorMarginalisation :=
    Factor
    → SumOrIntegrateVariable
    → ReducedFactor

MessagePassing :=
    GraphicalModel
    → LocalFactorOperations
    → MarginalBeliefs

BeliefPropagation :=
    MessagePassing
    for suitable graphical models

ExactMarginalInference :=
    ComputesExactMarginal
    under exact arithmetic/model representation

ApproximateMarginalInference := {
    MonteCarlo,
    ImportanceSampling,
    VariationalInference,
    ApproximateMessagePassing
}

MonteCarloMarginal :=
    JointSamples
    → RetainSelectedCoordinates
    → EmpiricalMarginal

EmpiricalMarginal :=
    RelativeFrequencyOrEmpiricalDistribution
    of retained variables

MarginalExpectation :=
    E[g(X)]
    depends_only_on
    MarginalDistributionOf(X)

ExpectationFromMarginal :=
    E[g(X)]
    =
    Σ_x g(x)p_X(x)
    or
    Integral g(x)f_X(x)dx

MarginalMoment :=
    E[X^k]

MarginalMean :=
    E[X]

MarginalVariance :=
    Var(X)

DependenceNotDeterminedByMarginals :=
    SameMarginals
    may_correspond_to
    DifferentJointDependenceStructures

MarginalsDoNotGenerallyDetermineJoint :=
    MarginalDistributions
    alone
    ↛ UniqueJointDistribution

IndependencePlusMarginalsDetermineJoint :=
    Independent(X,Y)
    ⇒
    JointDistribution
    =
    ProductOfMarginals

ProductMarginalRule :=
    p_(X,Y)(x,y)
    =
    p_X(x)p_Y(y)
    under independence

ContinuousProductMarginalRule :=
    f_(X,Y)(x,y)
    =
    f_X(x)f_Y(y)
    under independence

Copula :=
    DependenceStructure
    coupling
    marginal distributions

SklarRelation :=
    JointCDF
    =
    Copula(
        MarginalCDFs
    )
    under theorem conditions

MarginalInvariantUnderDependenceChanges :=
    JointDependence
    may_change
    while marginals remain fixed

MarginalProbabilityQuery :=
    JointOrConditionalInformation
    → RequestedSingleOrSubsetDistribution

MarginalQueryVariables :=
    VariablesToRetain

NuisanceVariables :=
    VariablesToEliminate
    for marginal query

MarginalisationPlan :=
    IdentifyRetainedVariables
    → IdentifyEliminatedVariables
    → SelectSumOrIntegral
    → ApplyFactorisation
    → ComputeMarginal

MarginalValidation :=
    CheckNonNegativity
    → CheckNormalisation
    → CheckJointConsistency
    → CheckSupport

MarginalProbabilityConflict :=
    MarginalValue<0
    ∨ MarginalValue>1
    ∨ NormalisationFailure
    ∨ JointMarginalMismatch

DiscreteJointMarginalMismatch :=
    p_X(x)
    ≠
    Σ_y p_(X,Y)(x,y)

ContinuousJointMarginalMismatch :=
    f_X(x)
    ≠
    Integral f_(X,Y)(x,y)dy

MarginalState := {
    JointModel,
    RetainedVariables,
    EliminatedVariables,
    MarginalDistribution,
    ConditionalStructure,
    DependenceAssumptions,
    Constraints,
    Evidence,
    Confidence,
    Provenance
}

MarginalUpdate :=
    NewJointOrConditionalEvidence
    → UpdateJointModel
    → RecomputeMarginal
    → RevalidateConsistency

SEMANTIC_EQUIVALENCE(MarginalA,MarginalB) :=
    same(RetainedVariables)
    ∧ same(MarginalProbabilityMeasure)
    under same semantic state space

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

CoreClasses := {
    MarginalProbability,
    ProbabilitySpace,
    RandomVariable,
    RandomVector,
    JointDistribution,
    MarginalDistribution,
    JointPMF,
    MarginalPMF,
    JointPDF,
    MarginalPDF,
    ConditionalDistribution,
    Projection,
    Factor,
    VariableElimination,
    Coupling,
    MarginalConstraint
}

CoreRelations := {
    marginalOf,
    derivedFrom,
    projectsOnto,
    retains,
    eliminates,
    hasMarginal,
    conditionedOn,
    factorisesAs,
    dependsOn,
    constrainedBy,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    MarginalDistribution --marginalOf--> JointDistribution
    MarginalDistribution --derivedFrom--> JointDistribution
    Projection --projectsOnto--> StateSpace
    MarginalQuery --retains--> RandomVariable
    MarginalQuery --eliminates--> RandomVariable
    JointDistribution --hasMarginal--> MarginalDistribution
    ConditionalDistribution --conditionedOn--> RandomVariable
    JointDistribution --factorisesAs--> FactorSet
    MarginalDistribution --tracesTo--> Provenance

InferenceRules := {
    JointPMF(p_XY)
        ⇒ p_X(x)=Σ_y p_XY(x,y),

    JointPDF(f_XY)
        ⇒ f_X(x)=Integral f_XY(x,y)dy,

    Partition({B_i})
        ⇒ P(A)=Σ_i P(A|B_i)P(B_i),

    JointDistribution(X,Y)
        ⇒ Marginal(X)=ProjectOut(Y),

    Independent(X,Y)
        ⇒ JointLaw(X,Y)=Marginal(X)×Marginal(Y),

    ValidMarginalPMF(p_X)
        ⇒ Σ_x p_X(x)=1,

    ValidMarginalPDF(f_X)
        ⇒ Integral f_X(x)dx=1,

    SameMarginals(X,Y)
        ↛ SameJointDistribution
}

CanonicalMarginalRepresentation :=
    ParseMarginalQuery
    → ResolveJointModel
    → ResolveRetainedVariables
    → ResolveEliminatedVariables
    → ResolveFactorisation
    → SumOrIntegrateOutVariables
    → Normalise
    → ValidateMarginal

MarginalProbabilityGraph :=
    G=(V,E)

V := {
    RandomVariables,
    JointDistributions,
    MarginalDistributions,
    ConditionalDistributions,
    Factors,
    Projections,
    RetainedVariables,
    EliminatedVariables,
    Constraints,
    Evidence,
    ProvenanceNodes
}

E := {
    marginalOf,
    derivedFrom,
    projectsOnto,
    retains,
    eliminates,
    hasMarginal,
    conditionedOn,
    factorisesAs,
    dependsOn,
    constrainedBy,
    equivalentTo,
    tracesTo
}

CONFIDENCE(MarginalProbabilityResult) :=
    weighted_mean(
        JointModelResolution,
        VariableResolution,
        FactorisationQuality,
        MarginalisationCorrectness,
        NormalisationValidity,
        JointMarginalConsistency,
        EvidenceQuality,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectMarginalProbabilityIntent
    → IdentifyJointModel
    → IdentifyVariablesToRetain
    → IdentifyVariablesToEliminate
    → ResolveKnownJointOrConditionalInformation
    → IdentifyRequestedMarginalQuantity

AI_REASONING_FLOW :=
    Query
    → ParseMarginalProbabilityQuery
    → ResolveProbabilitySpace
    → ResolveRandomVariables
    → ResolveJointDistribution
    → IdentifyRetainedVariables
    → IdentifyEliminatedVariables
    → ResolveFactorisation
    → SelectSummationOrIntegration
    → PerformVariableElimination
    → ComputeMarginalDistribution
    → NormaliseIfRequired
    → ValidateSupportAndBounds
    → CrossCheckJointMarginalConsistency
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseMarginalProbabilityEntities,
    ParseTypedRelations,
    ResolveRandomVariables,
    ResolveJointDistributions,
    ResolveConditionalDistributions,
    IdentifyRetainedVariables,
    IdentifyEliminatedVariables,
    PerformDiscreteMarginalisation,
    PerformContinuousMarginalisation,
    PerformFactorMarginalisation,
    ApplyTotalProbability,
    ValidateMarginalDistributions,
    CompareJointMarginalConsistency,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewJointConditionalMarginalOrConstraintEvidence
    → ValidateInput
    → IdentifyAffectedMarginals
    → UpdateJointModel
    → RecomputeVariableElimination
    → RecomputeMarginals
    → RevalidateNormalisation
    → RecheckJointMarginalConsistency
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

JointModelUpdate :=
    ChangedJointDistribution
    ⇒ recompute(
        AllDependentMarginals
    )

ConditionalUpdate :=
    ChangedConditionalDistribution
    ⇒ recompute(
        JointFactorisation,
        DependentMarginals
    )

ConstraintUpdate :=
    ChangedMarginalConstraint
    ⇒ revalidate(
        JointCompatibility,
        MarginalResult
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        MarginalDistribution,
        MarginalisationOperator,
        VariableElimination,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    MarginalProbabilityEntityResolution,
    ProbabilitySpace,
    JointModel,
    RetainedVariables,
    EliminatedVariables,
    MarginalisationMethod,
    Factorisation,
    MarginalDistribution,
    MarginalProbability,
    NormalisationStatus,
    JointMarginalConsistency,
    Confidence,
    Provenance,
    Explanation
}

END_FLOW

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