FULL EXECUTABLE FLOW ALGEBRA — JOINT PROBABILITY ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-rules/joint-probability-ontology.html
FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Probability Rules"
ONTOLOGY := "Joint Probability Ontology"
PRIMARY_ENTITY := JointProbability
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"
BEGIN_FLOW
JointProbability :=
ProbabilityOfSimultaneousEvents
∧ ProbabilityOfJointRandomVariableValues
∧ MultivariateProbabilityStructure
ProbabilitySpace :=
(Ω,F,P)
Event :=
A,B,C ∈ F
JointEvent :=
A∩B
JointEventProbability :=
P(A∩B)
TwoEventJointProbability :=
P(A,B)
:=
P(A∩B)
MultiEventJointProbability :=
P(A1,...,An)
:=
P(Intersection_i A_i)
JointProbabilityBounds :=
0≤P(A∩B)≤1
JointSubsetBounds :=
P(A∩B)
≤ min(P(A),P(B))
FrechetLowerBound :=
P(A∩B)
≥ max(0,P(A)+P(B)-1)
FrechetBounds :=
max(0,P(A)+P(B)-1)
≤ P(A∩B)
≤ min(P(A),P(B))
DisjointJointProbability :=
A∩B=∅
⇒ P(A∩B)=0
CertainJointProbability :=
P(Ω∩Ω)=1
JointComplementRelations := {
P(A∩B^c)=P(A)-P(A∩B),
P(A^c∩B)=P(B)-P(A∩B),
P(A^c∩B^c)=1-P(A)-P(B)+P(A∩B)
}
ConditionalProbability :=
P(A|B)
=
P(A∩B)/P(B)
where P(B)>0
JointFromConditional :=
P(A∩B)
=
P(A|B)P(B)
ReverseJointFromConditional :=
P(A∩B)
=
P(B|A)P(A)
ChainRuleTwo :=
P(A∩B)
=
P(A)P(B|A)
ChainRuleThree :=
P(A∩B∩C)
=
P(A)
P(B|A)
P(C|A∩B)
GeneralChainRule :=
P(Intersection_{i=1..n}A_i)
=
P(A1)
Π_{i=2..n}
P(A_i|Intersection_{j=1..i-1}A_j)
Independence :=
A⟂B
iff
P(A∩B)
=
P(A)P(B)
IndependentJointProbability :=
A⟂B
⇒
P(A∩B)
=
P(A)P(B)
MutualIndependence :=
ForEveryFiniteSubset J,
P(Intersection_{j∈J}A_j)
=
Π_{j∈J}P(A_j)
ConditionalIndependence :=
A⟂B|C
iff
P(A∩B|C)
=
P(A|C)P(B|C)
JointProbabilityTable :=
TabularRepresentation
of
P(X=x,Y=y)
ContingencyTable :=
CountsOrProbabilities
for joint categorical outcomes
RandomVariable :=
X:Ω→S
RandomVector :=
(X,Y)
or
(X1,...,Xn)
JointRandomVariable :=
Z(ω)
=
(X1(ω),...,Xn(ω))
JointDistribution :=
Law(X1,...,Xn)
JointCDF :=
F_(X,Y)(x,y)
=
P(X≤x,Y≤y)
MultivariateCDF :=
F(x1,...,xn)
=
P(X1≤x1,...,Xn≤xn)
JointPMF :=
p_(X,Y)(x,y)
=
P(X=x,Y=y)
JointPMFConstraints :=
p(x,y)≥0
∧ Σ_xΣ_y p(x,y)=1
JointPDF :=
f_(X,Y)(x,y)
JointPDFConstraints :=
f(x,y)≥0
∧ IntegralIntegral f(x,y)dxdy=1
JointDensityProbability :=
P((X,Y)∈R)
=
IntegralIntegral_R f_(X,Y)(x,y)dxdy
JointSupport :=
SetOfPairsOrTuples
with possible joint values
MarginalPMF :=
p_X(x)
=
Σ_y p_(X,Y)(x,y)
MarginalPDF :=
f_X(x)
=
Integral f_(X,Y)(x,y)dy
Marginalisation :=
JointDistribution
→ SumOrIntegrateOtherVariables
→ MarginalDistribution
ConditionalPMF :=
p_(X|Y)(x|y)
=
p_(X,Y)(x,y)/p_Y(y)
where p_Y(y)>0
ConditionalPDF :=
f_(X|Y)(x|y)
=
f_(X,Y)(x,y)/f_Y(y)
where f_Y(y)>0
JointFromMarginalConditional :=
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)
IndependentRandomVariables :=
X⟂Y
iff
JointDistribution
=
ProductOfMarginals
DiscreteFactorisation :=
X⟂Y
⇒
p_(X,Y)(x,y)
=
p_X(x)p_Y(y)
ContinuousFactorisation :=
X⟂Y
⇒
f_(X,Y)(x,y)
=
f_X(x)f_Y(y)
almost everywhere
where densities exist
ProductMeasure :=
P_X⊗P_Y
IndependenceViaProductMeasure :=
Law(X,Y)
=
P_X⊗P_Y
JointExpectation :=
E[g(X,Y)]
DiscreteJointExpectation :=
E[g(X,Y)]
=
Σ_xΣ_y
g(x,y)p_(X,Y)(x,y)
ContinuousJointExpectation :=
E[g(X,Y)]
=
IntegralIntegral
g(x,y)f_(X,Y)(x,y)dxdy
CrossMoment :=
E[X^rY^s]
Covariance :=
Cov(X,Y)
=
E[XY]-E[X]E[Y]
Correlation :=
Corr(X,Y)
=
Cov(X,Y)/(SD(X)SD(Y))
IndependentImpliesFactorisedExpectation :=
X⟂Y
∧ integrability
⇒
E[g(X)h(Y)]
=
E[g(X)]E[h(Y)]
ZeroCovarianceDoesNotGenerallyImplyIndependence :=
Cov(X,Y)=0
↛ X⟂Y
JointMomentGeneratingFunction :=
M_(X,Y)(s,t)
=
E[e^(sX+tY)]
where finite
JointCharacteristicFunction :=
φ_(X,Y)(s,t)
=
E[e^(i(sX+tY))]
JointProbabilityGeneratingFunction :=
G_(X,Y)(s,t)
=
E[s^X t^Y]
for suitable integer-valued variables
JointEntropy :=
H(X,Y)
=
-Σ_xΣ_y
p(x,y)log p(x,y)
ConditionalEntropy :=
H(X|Y)
=
H(X,Y)-H(Y)
MutualInformation :=
I(X;Y)
=
H(X)+H(Y)-H(X,Y)
MutualInformationIndependence :=
I(X;Y)=0
iff
X and Y independent
under standard discrete conditions
JointOutcome :=
(x,y)
JointSampleSpace :=
S_X×S_Y
or subset thereof
ProductSampleSpace :=
Ω1×Ω2
JointEventRegion :=
R⊆S_X×S_Y
JointProbabilityRegion :=
P((X,Y)∈R)
JointDistributionMatrix :=
Matrix
of joint probabilities
for finite discrete variables
JointDistributionTensor :=
MultidimensionalArray
of joint probabilities
for multiple finite discrete variables
JointFactorisation :=
JointDistribution
represented_as
ProductOfConditionalOrMarginalFactors
BayesianNetworkFactorisation :=
P(X1,...,Xn)
=
Π_i P(X_i|Parents(X_i))
MarkovFactorisation :=
JointDistribution
factorised_according_to
GraphicalModelStructure
JointProbabilityConstraint :=
EquationOrInequality
involving
joint probabilities
MarginalConsistency :=
Marginals
must equal
sums_or_integrals
of joint distribution
JointNormalisation :=
TotalJointProbability
=
1
JointNonNegativity :=
EveryJointProbability
≥0
JointConditionalConsistency :=
P(A∩B)
=
P(A|B)P(B)
where defined
JointIndependenceConsistency :=
DeclaredIndependent(A,B)
⇒
P(A∩B)=P(A)P(B)
JointProbabilityConflict :=
ViolationOf(
NonNegativity
∨ Normalisation
∨ MarginalConsistency
∨ ConditionalConsistency
∨ DeclaredIndependence
)
JointModelValidation :=
ResolveJointRepresentation
→ CheckNonNegativity
→ CheckNormalisation
→ ComputeMarginals
→ CheckConditionals
→ CheckDependenceConstraints
JointProbabilityState := {
VariablesOrEvents,
JointDistribution,
Marginals,
Conditionals,
DependenceRelations,
Constraints,
Evidence,
Confidence,
Provenance
}
JointProbabilityUpdate :=
NewJointMarginalOrConditionalEvidence
→ UpdateJointModel
→ RecomputeMarginals
→ RecomputeConditionals
→ ReevaluateDependence
→ Revalidate
SEMANTIC_EQUIVALENCE(JointA,JointB) :=
same(JointProbabilityMeasure)
over same semantic variable/event structure
under specified query scope
JointProbabilityOntology :=
Classes
∧ Relations
∧ Constraints
∧ Axioms
∧ InferenceRules
CoreClasses := {
JointProbability,
ProbabilitySpace,
Event,
JointEvent,
RandomVariable,
RandomVector,
JointDistribution,
JointPMF,
JointPDF,
JointCDF,
MarginalDistribution,
ConditionalDistribution,
Independence,
Covariance,
Correlation,
JointSupport,
JointProbabilityConstraint
}
CoreRelations := {
intersects,
hasJointProbability,
distributedAs,
hasMarginal,
conditionedOn,
independentOf,
factorisesAs,
hasCovariance,
hasCorrelation,
constrainedBy,
derivedFrom,
dependsOn,
equivalentTo,
tracesTo
}
TypedRelations :=
Event --intersects--> Event
JointEvent --hasJointProbability--> ProbabilityValue
RandomVector --distributedAs--> JointDistribution
JointDistribution --hasMarginal--> MarginalDistribution
ConditionalDistribution --conditionedOn--> RandomVariable
RandomVariable --independentOf--> RandomVariable
JointDistribution --factorisesAs--> ProbabilityFactorisation
RandomVariablePair --hasCovariance--> Covariance
RandomVariablePair --hasCorrelation--> Correlation
JointProbability --tracesTo--> Provenance
InferenceRules := {
JointEvent(A,B)
⇒ P(A,B)=P(A∩B),
P(B)>0
⇒ P(A∩B)=P(A|B)P(B),
Independent(A,B)
⇒ P(A∩B)=P(A)P(B),
JointPMF(p)
⇒ Σ_xΣ_y p(x,y)=1,
JointPDF(f)
⇒ IntegralIntegral f(x,y)dxdy=1,
JointDistribution(X,Y)
⇒ Marginal(X)=IntegrateOrSumOut(Y),
Independent(X,Y)
⇒ JointLaw(X,Y)=Product(MarginalX,MarginalY),
ValidJointProbability(q)
⇒ 0≤q≤1
}
CanonicalJointProbabilityRepresentation :=
ParseJointExpression
→ ResolveEventsOrVariables
→ ResolveJointSupport
→ ResolveJointDistribution
→ ResolveMarginals
→ ResolveConditionals
→ ResolveDependence
→ ValidateJointModel
→ Canonicalise
JointProbabilityGraph :=
G=(V,E)
V := {
Events,
JointEvents,
RandomVariables,
RandomVectors,
JointDistributions,
Marginals,
Conditionals,
IndependenceRelations,
Covariances,
Correlations,
Constraints,
Evidence
}
E := {
intersects,
hasJointProbability,
distributedAs,
hasMarginal,
conditionedOn,
independentOf,
factorisesAs,
hasCovariance,
hasCorrelation,
constrainedBy,
derivedFrom,
dependsOn,
equivalentTo,
tracesTo
}
CONFIDENCE(JointProbabilityResult) :=
weighted_mean(
VariableOrEventResolution,
JointDistributionQuality,
MarginalConsistency,
ConditionalConsistency,
DependenceResolution,
ConstraintConsistency,
CalculationValidity,
ProvenanceQuality
)
AI_QUERY_INTERPRETATION :=
Query
→ DetectJointProbabilityIntent
→ IdentifyEventsOrRandomVariables
→ ResolveJointStructure
→ ResolveKnownMarginalsAndConditionals
→ ResolveDependenceAssumptions
→ IdentifyRequestedJointQuantity
AI_REASONING_FLOW :=
Query
→ ParseJointProbabilityQuery
→ ResolveProbabilitySpace
→ ResolveEventsOrRandomVariables
→ ResolveJointSupport
→ ResolveKnownJointProbabilities
→ ResolveMarginals
→ ResolveConditionalProbabilities
→ ResolveIndependenceOrDependence
→ SelectJointProbabilityRule
→ ComputeJointQuantity
→ MarginaliseOrConditionIfRequired
→ ValidateBoundsAndNormalisation
→ CrossCheckMarginalConditionalConsistency
→ UpdateConfidence
→ PreserveProvenance
→ GenerateExplanation
AI_CONSUMPTION := {
ParseJointProbabilityEntities,
ParseTypedRelations,
ResolveJointEvents,
ResolveRandomVectors,
ResolveJointPMFs,
ResolveJointPDFs,
ResolveJointCDFs,
ComputeMarginals,
ComputeConditionals,
EvaluateIndependence,
EvaluateCovariance,
EvaluateCorrelation,
ApplyFactorisations,
ValidateJointModels,
CompareSemanticEquivalence,
UpdateConfidence,
PreserveProvenance,
GenerateFormalExplanation
}
UPDATE_MODEL :=
NewJointMarginalConditionalOrDependenceEvidence
→ ValidateInput
→ IdentifyAffectedJointStructures
→ UpdateJointDistribution
→ RecomputeMarginals
→ RecomputeConditionals
→ RecomputeDependenceMeasures
→ RevalidateConstraints
→ RecomputeConfidence
→ PreserveProvenance
→ VersionModel
JointUpdate :=
ChangedJointProbabilityOrDensity
⇒ recompute(
Marginals,
Conditionals,
Moments,
DependenceMeasures
)
MarginalUpdate :=
ChangedMarginal
⇒ recheck(
JointMarginalConsistency
)
DependenceUpdate :=
ChangedIndependenceAssumption
⇒ reevaluate(
JointFactorisation,
ConditionalStructure
)
FLOW_HASH_INPUT :=
canonical(
ONTOLOGY,
CoreClasses,
CoreRelations,
InferenceRules,
JointEventProbability,
JointDistribution,
Marginalisation,
Independence,
SEMANTIC_EQUIVALENCE,
AI_REASONING_FLOW
)
FLOW_HASH :=
HASH(FLOW_HASH_INPUT)
OUTPUT_MODEL := {
JointProbabilityEntityResolution,
ProbabilitySpace,
EventsOrRandomVariables,
JointSupport,
JointDistribution,
JointProbability,
MarginalDistributions,
ConditionalDistributions,
DependenceStructure,
Covariance,
Correlation,
ModelConsistency,
Confidence,
Provenance,
Explanation
}
END_FLOW
END OF FULL EXECUTABLE FLOW ALGEBRA
Download Code
Copy to Clipboard