Skip to main content

Weibull 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 — WEIBULL DISTRIBUTION ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/probability-statistics-ontologies/probability-distributions/weibull-distribution-ontology.html

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

BEGIN_FLOW

WeibullDistribution :=
    ContinuousProbabilityDistribution
    ∧ NonnegativeSupport
    ∧ ShapeParameter
    ∧ ScaleParameter
    ∧ FlexibleHazardModel
    ∧ ReliabilityAndLifetimeDistribution

ProbabilitySpace := (Ω,F,P)
WeibullRandomVariable := X~Weibull(k,λ)
ShapeParameter := k
ScaleParameter := λ

ParameterConstraints :=
    k>0
    ∧ λ>0

Support := [0,∞)

WeibullPDF :=
    f_X(x)
    =
    (k/λ)
    (x/λ)^(k-1)
    exp(-(x/λ)^k)
    for x≥0

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

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

WeibullCDF :=
    F_X(x)
    =
    1-exp(-(x/λ)^k)
    for x≥0

SurvivalFunction :=
    S_X(x)
    =
    exp(-(x/λ)^k)

TailProbability :=
    P(X>x)
    =
    S_X(x)

IntervalProbability :=
    0≤a≤b
    ⇒
    P(a≤X≤b)
    =
    F_X(b)-F_X(a)

HazardFunction :=
    h_X(x)
    =
    f_X(x)/S_X(x)

WeibullHazard :=
    h_X(x)
    =
    (k/λ)(x/λ)^(k-1)

CumulativeHazard :=
    H_X(x)
    =
    (x/λ)^k

SurvivalHazardRelation :=
    S_X(x)
    =
    exp(-H_X(x))

ShapeHazardRelation := {
    k<1  => DecreasingHazard,
    k=1  => ConstantHazard,
    k>1  => IncreasingHazard
}

ExponentialSpecialCase :=
    k=1
    ⇒
    Weibull(1,λ)
    ≡
    Exponential(rate=1/λ)

RayleighSpecialCase :=
    k=2
    with suitable scale mapping
    ⇒ RayleighDistribution

QuantileFunction :=
    Q(p)
    =
    λ[-ln(1-p)]^(1/k)

Median :=
    λ(ln2)^(1/k)

Expectation :=
    E[X]
    =
    λΓ(1+1/k)

Variance :=
    Var(X)
    =
    λ²[
        Γ(1+2/k)
        -
        Γ(1+1/k)²
    ]

StandardDeviation := sqrt(Var(X))

Moment :=
    E[X^r]
    =
    λ^rΓ(1+r/k)

Mode :=
    λ[(k-1)/k]^(1/k)
    for k>1

ModeBoundary :=
    k≤1
    ⇒ mode at 0
    under standard support convention

ScaleEffect :=
    Increasingλ
    stretches
    lifetime scale

ShapeEffect :=
    Changingk
    alters
    density shape
    and hazard behaviour

StandardWeibull :=
    Y~Weibull(k,1)

ScalingRelation :=
    Y~Weibull(k,1)
    ⇒
    λY~Weibull(k,λ)

PowerTransformation :=
    X~Weibull(k,λ)
    ⇒
    (X/λ)^k
    ~
    Exponential(1)

InverseTransformSampling :=
    U~Uniform(0,1)
    ⇒
    X=λ[-ln(1-U)]^(1/k)
    ~ Weibull(k,λ)

ReliabilityInterpretation :=
    X=TimeToFailure

ReliabilityFunction :=
    R(t)
    =
    exp(-(t/λ)^k)

FailureProbability :=
    F(t)
    =
    1-R(t)

FailureRate :=
    h(t)
    =
    (k/λ)(t/λ)^(k-1)

CharacteristicLife :=
    λ

CharacteristicLifeProperty :=
    F_X(λ)
    =
    1-e^(-1)

ReliabilityAtScale :=
    R(λ)
    =
    e^(-1)

DecreasingFailureRate :=
    k<1
    may model
    early-life failures

ConstantFailureRate :=
    k=1
    models
    exponential-type random failures

IncreasingFailureRate :=
    k>1
    may model
    wear-out behaviour

MeanTimeToFailure :=
    MTTF
    =
    λΓ(1+1/k)

PercentileLife :=
    t_p
    =
    λ[-ln(1-p)]^(1/k)

B10Life :=
    Q(0.10)

Censoring :=
    LifetimeObservation
    may be incomplete

RightCensoredObservation :=
    Know X>c

FailureLikelihoodContribution :=
    f_X(x)

RightCensorLikelihoodContribution :=
    S_X(c)

CensoredLikelihood :=
    Product(
        failure density terms,
        censoring survival terms
    )

WeibullLikelihood :=
    X_1,...,X_n
    iid Weibull(k,λ)

CompleteDataLikelihood :=
    L(k,λ)
    =
    Π_i[
        (k/λ)
        (x_i/λ)^(k-1)
        exp(-(x_i/λ)^k)
    ]

LogLikelihood :=
    ℓ(k,λ)
    =
    nlogk
    -
    nklogλ
    +
    (k-1)Σ_i logx_i
    -
    Σ_i(x_i/λ)^k

MaximumLikelihoodEstimation :=
    UsuallyRequires
    numerical optimisation
    for unknown shape and scale

WeibullPlotTransform :=
    y
    =
    ln[-ln(1-F(x))]

WeibullPlotLinearRelation :=
    y
    =
    k ln x
    -
    k ln λ

WeibullPlotSlope := k
WeibullPlotIntercept := -k ln λ

AcceleratedFailureTimeModel :=
    Covariates
    act multiplicatively
    on lifetime scale

LogWeibullRelation :=
    logX
    follows
    extreme-value-related distribution
    under parameter mapping

WeakestLinkModel :=
    SystemFailure
    occurs_when
    first critical component fails

MaterialStrengthRelation :=
    WeibullDistribution
    may model
    brittle material strength
    under weakest-link assumptions

SurvivalAnalysisRelation :=
    WeibullDistribution
    supports
    parametric survival modelling

ProportionalHazardsRelation :=
    WeibullModel
    can support
    proportional hazards structure
    under suitable parameterisation

AcceleratedFailureTimeRelation :=
    WeibullModel
    can also support
    accelerated failure time interpretation

WeibullEntropy :=
    h(X)
    =
    γ(1-1/k)
    +
    ln(λ/k)
    +
    1

WeibullDistributionConstraint :=
    ConstraintOn(
        Shape,
        Scale,
        Support,
        PDF,
        Hazard,
        Moments
    )

ShapeConstraint := k>0
ScaleConstraint := λ>0
SupportConstraint := X≥0
NormalisationConstraint := Integral_0^∞f_X(x)dx=1

HazardConsistency :=
    h_X(x)
    =
    (k/λ)(x/λ)^(k-1)

WeibullConsistency :=
    Shape
    ∧ Scale
    ∧ PDF
    ∧ CDF
    ∧ Survival
    ∧ Hazard
    ∧ Moments
    jointly_compatible

InvalidWeibullDistribution :=
    k≤0
    ∨ λ≤0
    ∨ SupportViolation
    ∨ PDFNormalisationFailure
    ∨ HazardMismatch

WeibullValidation :=
    ResolveShape
    → ResolveScale
    → ValidateParameters
    → ResolveSupport
    → ConstructPDF
    → ValidateNormalisation
    → ConstructCDF
    → ConstructSurvivalAndHazard
    → ValidateMoments

WeibullDistributionState := {
    RandomVariable,
    Shape,
    Scale,
    Support,
    PDF,
    CDF,
    SurvivalFunction,
    HazardFunction,
    Mean,
    Variance,
    ReliabilityRelations,
    Evidence,
    Confidence,
    Provenance
}

SEMANTIC_EQUIVALENCE(WeibullA,WeibullB) :=
    same(Shape)
    ∧ same(Scale)
    ⇒ same(WeibullProbabilityMeasure)

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

CoreClasses := {
    WeibullDistribution,
    ContinuousDistribution,
    WeibullRandomVariable,
    ShapeParameter,
    ScaleParameter,
    WeibullPDF,
    WeibullCDF,
    SurvivalFunction,
    HazardFunction,
    ReliabilityFunction,
    FailureRate,
    Lifetime,
    ExponentialDistribution,
    WeibullLikelihood,
    WeibullConstraint
}

CoreRelations := {
    distributionOf,
    hasShape,
    hasScale,
    hasSupport,
    hasPDF,
    hasCDF,
    hasSurvivalFunction,
    hasHazard,
    modelsLifetime,
    specialCaseRelation,
    transformedTo,
    estimatedFrom,
    usedFor,
    constrainedBy,
    equivalentTo,
    tracesTo
}

TypedRelations :=
    WeibullDistribution --distributionOf--> WeibullRandomVariable
    WeibullDistribution --hasShape--> ShapeParameter
    WeibullDistribution --hasScale--> ScaleParameter
    WeibullDistribution --hasSupport--> Support
    WeibullDistribution --hasPDF--> WeibullPDF
    WeibullDistribution --hasCDF--> WeibullCDF
    WeibullDistribution --hasSurvivalFunction--> SurvivalFunction
    WeibullDistribution --hasHazard--> HazardFunction
    WeibullDistribution --modelsLifetime--> Lifetime
    WeibullDistribution --specialCaseRelation--> ExponentialDistribution
    WeibullDistribution --transformedTo--> ExponentialDistribution
    WeibullDistribution --tracesTo--> Provenance

InferenceRules := {
    X~Weibull(k,λ)
        ⇒
        F_X(x)=1-exp(-(x/λ)^k),

    X~Weibull(k,λ)
        ⇒
        S_X(x)=exp(-(x/λ)^k),

    X~Weibull(k,λ)
        ⇒
        h_X(x)=(k/λ)(x/λ)^(k-1),

    X~Weibull(k,λ)
        ⇒
        E[X]=λΓ(1+1/k),

    X~Weibull(k,λ)
        ⇒
        Var(X)
        =
        λ²[
            Γ(1+2/k)
            -
            Γ(1+1/k)²
        ],

    Weibull(k=1,λ)
        ⇒
        Exponential(rate=1/λ),

    X~Weibull(k,λ)
        ⇒
        (X/λ)^k~Exponential(1),

    k≤0
        ∨ λ≤0
        ⇒
        InvalidWeibullDistribution
}

CanonicalWeibullRepresentation :=
    ParseWeibullModel
    → ResolveRandomVariable
    → ResolveShape
    → ResolveScale
    → ValidateParameters
    → ResolveSupport
    → ConstructPDF
    → ConstructCDF
    → ConstructSurvivalFunction
    → ConstructHazard
    → ComputeMoments
    → ResolveReliabilityRelations
    → ValidateWeibullDistribution

WeibullDistributionGraph :=
    G=(V,E)

V := {
    WeibullDistributions,
    WeibullRandomVariables,
    ShapeParameters,
    ScaleParameters,
    PDFs,
    CDFs,
    SurvivalFunctions,
    Hazards,
    ReliabilityFunctions,
    Lifetimes,
    FailureRates,
    ExponentialRelations,
    Likelihoods,
    WeibullPlots,
    Evidence,
    ProvenanceNodes
}

E := {
    distributionOf,
    hasShape,
    hasScale,
    hasSupport,
    hasPDF,
    hasCDF,
    hasSurvivalFunction,
    hasHazard,
    modelsLifetime,
    specialCaseRelation,
    transformedTo,
    estimatedFrom,
    usedFor,
    constrainedBy,
    equivalentTo,
    tracesTo
}

CONFIDENCE(WeibullDistributionResolution) :=
    weighted_mean(
        RandomVariableResolution,
        ShapeResolution,
        ScaleResolution,
        SupportValidity,
        PDFConsistency,
        HazardConsistency,
        ReliabilityModelValidity,
        ProvenanceQuality
    )

AI_QUERY_INTERPRETATION :=
    Query
    → DetectWeibullDistributionIntent
    → IdentifyLifetimeOrPositiveRandomVariable
    → ResolveShape
    → ResolveScale
    → IdentifyRequestedProbabilityReliabilityOrProperty
    → ResolveCensoringOrFailureContext

AI_REASONING_FLOW :=
    Query
    → ParseWeibullProblem
    → ResolveProbabilitySpace
    → ResolveWeibullRandomVariable
    → ResolveShape
    → ResolveScale
    → ValidateParameters
    → ConstructWeibullPDF
    → ConstructWeibullCDF
    → ConstructSurvivalAndHazardFunctions
    → ComputeRequestedProbabilityOrReliability
    → ComputeMeanVarianceQuantileOrPercentileLifeIfRequired
    → ResolveExponentialTransformationIfRelevant
    → ResolveCensoringOrReliabilityContextIfRelevant
    → ValidateWeibullModel
    → UpdateConfidence
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseWeibullDistributionEntities,
    ParseTypedRelations,
    ResolveWeibullRandomVariables,
    ResolveShapeParameters,
    ResolveScaleParameters,
    EvaluateWeibullPDFs,
    EvaluateWeibullCDFs,
    EvaluateSurvivalFunctions,
    EvaluateHazardFunctions,
    ComputeIntervalProbabilities,
    ComputeTailProbabilities,
    ComputeReliability,
    ComputeMeans,
    ComputeVariances,
    ComputeQuantiles,
    ComputePercentileLives,
    ResolveExponentialSpecialCase,
    ApplyInverseTransformSampling,
    ResolveCensoredLikelihoods,
    EstimateWeibullParameters,
    ValidateWeibullDistributions,
    CompareSemanticEquivalence,
    UpdateConfidence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewLifetimeDataShapeScaleOrConstraint
    → ValidateInput
    → IdentifyAffectedWeibullClaims
    → UpdateWeibullState
    → RecomputePDF
    → RecomputeCDF
    → RecomputeSurvivalAndHazard
    → RecomputeMoments
    → ReevaluateReliabilityRelations
    → RevalidateConstraints
    → RecomputeConfidence
    → PreserveProvenance
    → VersionModel

ShapeUpdate :=
    ChangedShape
    ⇒ revalidate(k>0)
    → recompute(
        PDF,
        CDF,
        HazardShape,
        Mean,
        Variance,
        Quantiles
    )

ScaleUpdate :=
    ChangedScale
    ⇒ revalidate(λ>0)
    → recompute(
        PDF,
        CDF,
        Survival,
        Hazard,
        Mean,
        Variance,
        Quantiles
    )

DataUpdate :=
    NewLifetimeOrFailureData
    ⇒ reevaluate(
        ShapeEstimate,
        ScaleEstimate,
        CensoringModel,
        ReliabilityFit,
        Confidence
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceRules,
        WeibullDistribution,
        WeibullPDF,
        WeibullHazard,
        WeibullValidation,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    WeibullDistributionEntityResolution,
    ProbabilitySpace,
    WeibullRandomVariable,
    Shape,
    Scale,
    Support,
    PDF,
    CDF,
    SurvivalFunction,
    HazardFunction,
    RequestedProbability,
    Reliability,
    Mean,
    Variance,
    QuantileOrPercentileLife,
    ExponentialRelation,
    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