Skip to main content

F Distribution Ontology

Probability Distributions
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
FULL EXECUTABLE FLOW ALGEBRA — F-DISTRIBUTION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-distributions/f-distribution-ontology.html

FLOW_VERSION := "4.0"
FLOW_TYPE := "Full ExecutUTABLE Flow Algebra"
DOMAIN := "Probability & Statistics Ontologies"
SUBDOMAIN := "Probability Distributions"
ONTOLOGY := "F-Distribution Ontology"
PRIMARY_ENTITY := FDistribution
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"

BEGIN_FLOW

FDistribution :=
    ContinuousProbabilityDistribution
    ∧ PositiveSupport
    ∧ TwoDegreesOfFreedomParameters
    ∧ RatioOfScaledIndependentChiSquaredVariables
    ∧ VarianceRatioInferenceDistribution

ProbabilitySpace := (Ω,F,P)

FRandomVariable := X~F_(d1,d2)
NumeratorDegreesOfFreedom := d1
DenominatorDegreesOfFreedom := d2

ParameterConstraints :=
    d1>0
    ∧ d2>0

Support := (0,∞)

NumeratorChiSquared := U~χ²_d1
DenominatorChiSquared := V~χ²_d2
IndependenceCondition := U⟂V

FConstruction :=
    X
    =
    (U/d1)/(V/d2)

RatioConstructionRule :=
    U~χ²_d1
    ∧ V~χ²_d2
    ∧ U⟂V
    ⇒
    (U/d1)/(V/d2)
    ~ F_(d1,d2)

FPDF :=
    f_X(x)
    =
    [
        (d1/d2)^(d1/2)
        x^(d1/2-1)
    ]
    /
    [
        B(d1/2,d2/2)
        (1+(d1/d2)x)^((d1+d2)/2)
    ]
    for x>0

PDFOutsideSupport := f_X(x)=0 for x≤0
PDFNonnegativity := f_X(x)≥0

PDFNormalisation :=
    Integral_0^∞ f_X(x)dx
    =
    1

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

CDFBetaRelation :=
    F_X(x)
    =
    I_z(d1/2,d2/2)

CDFTransform :=
    z
    =
    d1*x/(d1*x+d2)

SurvivalFunction := S_X(x)=1-F_X(x)
UpperTailProbability := P(X>x)=S_X(x)

Expectation :=
    E[X]
    =
    d2/(d2-2)
    when d2>2

MeanUndefined :=
    d2≤2
    ⇒ ordinary mean undefined

Variance :=
    Var(X)
    =
    2d2²(d1+d2-2)
    /
    [d1(d2-2)²(d2-4)]
    when d2>4

VarianceUndefined :=
    d2≤4
    ⇒ finite variance unavailable

Mode :=
    d2(d1-2)
    /
    [d1(d2+2)]
    when d1>2

MomentExistence :=
    E[X^k]
    finite
    when d2>2k

ReciprocalProperty :=
    X~F_(d1,d2)
    ⇒
    1/X~F_(d2,d1)

StudentTRelation :=
    T~t_ν
    ⇒
    T²~F_(1,ν)

BetaRelation :=
    X~F_(d1,d2)
    ⇒
    d1X/(d1X+d2)
    ~
    Beta(d1/2,d2/2)

ChiSquaredRelation :=
    FDistribution
    constructed_from
    ratio of independent chi-squared variables

GammaRelation :=
    χ²_d
    ≡ Gamma(d/2,scale=2)
    ⇒
    FDistribution
    is ratio of scaled gamma variables

NormalSampleVarianceRelation :=
    IndependentNormalSamples
    ∧ EqualPopulationVariances
    ⇒
    S1²/S2²
    ~
    F_(n1-1,n2-1)

VarianceRatio :=
    F=S1²/S2²
    under H0:σ1²=σ2²

VarianceRatioDegreesOfFreedom :=
    d1=n1-1
    ∧ d2=n2-1

ANOVAFStatistic :=
    F
    =
    MeanSquareBetween
    /
    MeanSquareWithin

BetweenDegreesOfFreedom := k-1
WithinDegreesOfFreedom := N-k

ANOVANullDistribution :=
    Under standard ANOVA assumptions:
        F~F_(k-1,N-k)

ANOVANullHypothesis :=
    μ1=μ2=...=μk

RegressionFStatistic :=
    F
    =
    (SSR/p)
    /
    (SSE/(n-p-1))

RegressionDegreesOfFreedom :=
    NumeratorDF=p
    ∧ DenominatorDF=n-p-1

OverallRegressionNull :=
    β1=...=βp=0

NestedModelFTest :=
    F
    =
    [
        (SSE_R-SSE_U)/(df_R-df_U)
    ]
    /
    [
        SSE_U/df_U
    ]

NoncentralFDistribution :=
    AlternativeHypothesis
    may produce
    F_(d1,d2,λ_nc)

CentralFSpecialCase :=
    λ_nc=0
    ⇒ CentralFDistribution

PowerAnalysisRelation :=
    NoncentralFDistribution
    supports
    power calculations
    for F tests

FQuantile :=
    q_p
    such_that
    P(X≤q_p)=p

CriticalValue :=
    F_(p,d1,d2)

UpperTailCriticalRegion :=
    ObservedF
    >
    F_(1-α,d1,d2)

PValue :=
    P(
        F_(d1,d2)
        ≥ ObservedF
    )
    under null model

DegreesOfFreedomEffect :=
    Increasing d1,d2
    concentrates distribution
    increasingly near 1

FDistributionConstraint :=
    ConstraintOn(
        NumeratorDF,
        DenominatorDF,
        Support,
        PDF,
        MomentExistence,
        RatioConstruction
    )

SupportConstraint := X>0
NormalisationConstraint := Integral_0^∞f_X(x)dx=1

ConstructionConstraint :=
    NumeratorAndDenominatorChiSquared
    independent
    for standard ratio derivation

FDistributionConsistency :=
    DegreesOfFreedom
    ∧ PDF
    ∧ CDF
    ∧ Moments
    ∧ RatioConstruction
    jointly_compatible

InvalidFDistribution :=
    d1≤0
    ∨ d2≤0
    ∨ SupportViolation
    ∨ PDFNormalisationFailure
    ∨ InvalidMomentClaim

FDistributionValidation :=
    ResolveNumeratorDF
    → ResolveDenominatorDF
    → ValidateDegreesOfFreedom
    → ResolveSupport
    → ConstructPDF
    → ValidateNormalisation
    → ConstructCDF
    → ValidateMomentExistence
    → ResolveRatioOrInferenceContext

FDistributionState := {
    RandomVariable,
    NumeratorDegreesOfFreedom,
    DenominatorDegreesOfFreedom,
    Support,
    PDF,
    CDF,
    SurvivalFunction,
    Moments,
    RatioConstruction,
    StatisticalTestContext,
    Evidence,
    Confidence,
    Provenance
}

SEMANTIC_EQUIVALENCE(FA,FB) :=
    same(NumeratorDegreesOfFreedom)
    ∧ same(DenominatorDegreesOfFreedom)
    ⇒ same(CentralFProbabilityMeasure)

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

CoreClasses := {
    FDistribution,
    ContinuousDistribution,
    FRandomVariable,
    NumeratorDegreesOfFreedom,
    DenominatorDegreesOfFreedom,
    FPDF,
    FCDF,
    ChiSquaredDistribution,
    StudentTDistribution,
    BetaDistribution,
    VarianceRatio,
    ANOVAFStatistic,
    RegressionFStatistic,
    NoncentralFDistribution,
    FConstraint
}

CoreRelations := {
    distributionOf,
    hasNumeratorDF,
    hasDenominatorDF,
    hasSupport,
    hasPDF,
    hasCDF,
    constructedFrom,
    reciprocalOf,
    relatedTo,
    usedFor,
    derivedFrom,
    constrainedBy,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    FDistribution --distributionOf--> FRandomVariable
    FDistribution --hasNumeratorDF--> NumeratorDegreesOfFreedom
    FDistribution --hasDenominatorDF--> DenominatorDegreesOfFreedom
    FDistribution --hasSupport--> Support
    FDistribution --hasPDF--> FPDF
    FDistribution --hasCDF--> FCDF
    FDistribution --constructedFrom--> ChiSquaredDistribution
    FDistribution --relatedTo--> StudentTDistribution
    FDistribution --relatedTo--> BetaDistribution
    VarianceRatio --derivedFrom--> SampleVariances
    FDistribution --usedFor--> ANOVA
    FDistribution --usedFor--> RegressionFTest
    FDistribution --tracesTo--> Provenance

InferenceRules := {
    U~χ²_d1
        ∧ V~χ²_d2
        ∧ U⟂V
        ⇒
        (U/d1)/(V/d2)
        ~F_(d1,d2),

    X~F_(d1,d2)
        ⇒
        1/X~F_(d2,d1),

    T~t_ν
        ⇒
        T²~F_(1,ν),

    X~F_(d1,d2)
        ∧ d2>2
        ⇒
        E[X]=d2/(d2-2),

    X~F_(d1,d2)
        ∧ d2>4
        ⇒
        Var(X)
        =
        2d2²(d1+d2-2)
        /
        [d1(d2-2)²(d2-4)],

    d1≤0
        ∨ d2≤0
        ⇒ InvalidFDistribution
}

CanonicalFRepresentation :=
    ParseFModel
    → ResolveRandomVariableOrStatistic
    → ResolveNumeratorDF
    → ResolveDenominatorDF
    → ValidateDegreesOfFreedom
    → ResolveSupport
    → ConstructPDF
    → ConstructCDF
    → ValidateMoments
    → ResolveChiSquaredTOrBetaRelations
    → ResolveStatisticalTestContext
    → ValidateFDistribution

FDistributionGraph :=
    G=(V,E)

V := {
    FDistributions,
    FRandomVariables,
    NumeratorDFNodes,
    DenominatorDFNodes,
    PDFs,
    CDFs,
    ChiSquaredDistributions,
    StudentTDistributions,
    BetaDistributions,
    VarianceRatios,
    ANOVAStatistics,
    RegressionStatistics,
    NoncentralFDistributions,
    Evidence,
    ProvenanceNodes
}

E := {
    distributionOf,
    hasNumeratorDF,
    hasDenominatorDF,
    hasSupport,
    hasPDF,
    hasCDF,
    constructedFrom,
    reciprocalOf,
    relatedTo,
    usedFor,
    derivedFrom,
    constrainedBy,
    equivalentTo,
    tracesTo
}

CONFIDENCE(FDistributionResolution) :=
    weighted_mean(
        RandomVariableOrStatisticResolution,
        NumeratorDFResolution,
        DenominatorDFResolution,
        PDFConsistency,
        MomentExistenceValidity,
        RatioConstructionValidity,
        StatisticalTestAssumptionQuality,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectFDistributionIntent
    → IdentifyRandomVariableOrFStatistic
    → ResolveNumeratorAndDenominatorDF
    → IdentifyRequestedProbabilityCriticalValueOrInference
    → ResolveVarianceANOVAOrRegressionContext

AI_REASONING_FLOW :=
    Query
    → ParseFDistributionProblem
    → ResolveProbabilitySpace
    → ResolveFRandomVariableOrStatistic
    → ResolveNumeratorDF
    → ResolveDenominatorDF
    → ValidateDegreesOfFreedom
    → ConstructFPDF
    → ConstructOrEvaluateFCDF
    → ComputeTailProbabilityOrCriticalValueIfRequired
    → ValidateMomentExistenceIfRequired
    → ResolveChiSquaredRatioConstruction
    → ResolveStudentTBetaOrReciprocalRelationsIfRelevant
    → ResolveVarianceANOVARegressionOrNestedModelContextIfRelevant
    → ValidateFModelAndInferenceAssumptions
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseFDistributionEntities,
    ParseTypedRelations,
    ResolveFRandomVariables,
    ResolveNumeratorDegreesOfFreedom,
    ResolveDenominatorDegreesOfFreedom,
    EvaluateFPDFs,
    EvaluateFCDFs,
    ComputeTailProbabilities,
    ComputeCriticalValues,
    ComputeMoments,
    ResolveChiSquaredRatioConstruction,
    ResolveStudentTRelations,
    ResolveBetaRelations,
    ApplyReciprocalProperty,
    ResolveVarianceRatioTests,
    ResolveANOVAFTests,
    ResolveRegressionFTests,
    ResolveNestedModelFTests,
    ResolveNoncentralFModels,
    ValidateFDistributions,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewDataDegreesOfFreedomStatisticOrConstraint
    → ValidateInput
    → IdentifyAffectedFClaims
    → UpdateFState
    → RecomputePDF
    → RecomputeCDF
    → RecomputeTailProbabilitiesAndCriticalValues
    → ReevaluateMomentExistence
    → RevalidateInferenceRelations
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

DegreesOfFreedomUpdate :=
    ChangedD1OrD2
    ⇒ revalidate(d1>0 ∧ d2>0)
    → recompute(
        PDF,
        CDF,
        MomentsWhereDefined,
        CriticalValues
    )

StatisticUpdate :=
    ChangedObservedFStatistic
    ⇒ recompute(
        TailProbability,
        PValue
    )

DataUpdate :=
    NewVarianceANOVAOrRegressionData
    ⇒ reevaluate(
        FStatistic,
        DegreesOfFreedom,
        TestAssumptions,
        Confidence
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        FDistribution,
        FConstruction,
        StudentTRelation,
        FDistributionValidation,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    FDistributionEntityResolution,
    ProbabilitySpace,
    FRandomVariableOrStatistic,
    NumeratorDegreesOfFreedom,
    DenominatorDegreesOfFreedom,
    Support,
    PDF,
    CDF,
    TailProbability,
    CriticalValue,
    MomentExistence,
    ChiSquaredConstruction,
    StudentTRelation,
    StatisticalTestContext,
    ValidationStatus,
    Confidence,
    Provenance,
    Explanation
}

END_FLOW

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