Skip to main content

AI Inference Chain Ontology

Recursive AI Logic
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 17 September 2026
Audio Overview
AI SEARCH FLOW ALGEBRA — AI INFERENCE CHAIN ONTOLOGY
Kireth Research — Semantic Library
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/recursive-ai-logic/ai-inference-chain-ontology.html

FLOW_VERSION := "4.0"
FLOW_TYPE := "Full Executable Flow Algebra"
DOMAIN := "Mathematical Logic"
SUBDOMAIN := "Recursive AI Logic"
ONTOLOGY := "AI Inference Chain Ontology"
PRIMARY_ENTITY := AIInferenceChain
AUTHORSHIP := "Mark Higgins — Sky (Recursive AI)"
SOURCE_SITE := "https://kirethresearch.org"

BEGIN_FLOW

AIInferenceChain :=
    OrderedInferenceStructure
    ∧ PremisePropagation
    ∧ RecursiveDerivation
    ∧ DependencyTracking
    ∧ EvidenceIntegration
    ∧ ConfidencePropagation
    ∧ ProvenancePreservation

Inference :=
    Premises
    ∧ InferenceRule
    → Conclusion

InferenceStep :=
    I_n := {
        InputPremises,
        ActiveAssumptions,
        AppliedRule,
        DerivedConclusion,
        Evidence,
        Confidence,
        Provenance
    }

InferenceChain :=
    I_0 → I_1 → I_2 → ... → I_n

ChainStart :=
    InitialPremises
    ∪ InitialEvidence
    ∪ QueryConstraints

ChainEnd :=
    FinalConclusion
    ∨ UnresolvedState
    ∨ Contradiction
    ∨ ResourceTermination

Premise :=
    Proposition
    ∧ used_as_input_to(Inference)

Conclusion :=
    Proposition
    ∧ derived_from(Premises)

DerivedPremise :=
    Conclusion_n
    → Premise_(n+1)

InferenceRule :=
    PremisePattern
    → ConclusionPattern

RuleApplication :=
    MatchPremises
    → ValidateConditions
    → DeriveConclusion

DeductiveStep :=
    ValidPremises
    ∧ ValidRule
    → NecessaryConclusion

AbductiveStep :=
    Observation
    → CandidateExplanation

InductiveStep :=
    Observations
    → CandidateGeneralisation

AnalogicalStep :=
    StructuralSimilarity
    → CandidateTransferredInference

ConstraintStep :=
    CurrentConstraints
    → Propagation
    → NewConstraintOrAssignment

InferenceType := {
    Deductive,
    Abductive,
    Inductive,
    Analogical,
    Probabilistic,
    ConstraintBased,
    Semantic,
    Ontological
}

ForwardInferenceChain :=
    Facts
    → Rules
    → DerivedFacts
    → FurtherRules
    → Conclusion

BackwardInferenceChain :=
    Goal
    → RequiredPremises
    → Subgoals
    → SupportingEvidence
    → GoalResolution

BidirectionalInferenceChain :=
    ForwardInference
    ∪ BackwardInference
    → MeetingPoint

RecursiveInferenceChain :=
    DerivedClaim
    → NewInferenceContext
    → FurtherDerivation
    → repeat_until_stop

InferenceContext := {
    Query,
    ActiveFacts,
    ActiveRules,
    Assumptions,
    Constraints,
    SemanticContext,
    Evidence
}

ContextUpdate :=
    Context_n
    → DerivedInformation
    → Context_(n+1)

ChainDependency :=
    InferenceStepB
    dependsOn
    InferenceStepA

DependencyGraph :=
    Gd = (InferenceSteps, DependencyEdges)

DirectDependency :=
    Conclusion(A)
    used_as
    Premise(B)

TransitiveDependency :=
    dependsOn(A,B)
    ∧ dependsOn(B,C)
    ⇒ dependsOn(A,C)

DependencyClosure :=
    transitive_closure(dependsOn)

InferencePath :=
    Premise
    → IntermediateConclusions
    → FinalConclusion

MultipleInferencePaths :=
    SameConclusion
    supported_by
    DistinctDerivationPaths

IndependentSupport :=
    DerivationPathA
    ∩ DerivationPathB
    has_no_material_shared_unsupported_premise

InferenceBranch :=
    InferenceState
    → CandidateDerivations

BranchingFactor :=
    NumberOfApplicableInferenceOptions

BranchEvaluation :=
    CandidateBranch
    → CheckRules
    → CheckEvidence
    → CheckConstraints
    → RetainOrPrune

Pruning :=
    RemoveBranch
    if
    Contradictory
    ∨ Unsupported
    ∨ Irrelevant
    ∨ SemanticallyIncompatible

Backtracking :=
    FailedInferenceBranch
    → PreviousChoicePoint
    → AlternativeBranch

InferenceSearch :=
    InitialState
    → ExploreInferenceSpace
    → GoalOrTermination

SearchStrategy := {
    DepthFirst,
    BreadthFirst,
    BestFirst,
    GoalDirected,
    EvidenceDirected,
    Hybrid
}

InferencePriority :=
    function(
        Relevance,
        EvidenceStrength,
        RuleReliability,
        ExpectedInformationGain,
        Cost
    )

EntityResolution :=
    PremiseMention
    → CandidateEntities
    → ContextEvaluation
    → CanonicalEntity

RelationResolution :=
    CandidateRelation
    → DomainRangeConstraints
    → SemanticCompatibility
    → CanonicalRelation

TypedPremise :=
    Proposition
    ∧ TypedEntities
    ∧ TypedRelations

SemanticInference :=
    SemanticRelations
    ∧ OntologyConstraints
    → DerivedSemanticRelation

OntologyInference :=
    Instance(x,A)
    ∧ A ⊑ B
    ⇒ Instance(x,B)

TransitiveInference :=
    R(a,b)
    ∧ R(b,c)
    ∧ Transitive(R)
    ⇒ R(a,c)

InverseInference :=
    R(a,b)
    ∧ inverseOf(R,S)
    ⇒ S(b,a)

EquivalenceInference :=
    A ≡ B
    ∧ Property(A)
    ⇒ candidate(Property(B))

InferenceValidation :=
    CandidateConclusion
    → CheckPremises
    → CheckRule
    → CheckConstraints
    → CheckSemantics
    → AcceptOrReject

SoundInference :=
    TruePremises
    ∧ ValidRule
    ⇒ TrueConclusion

InferenceSoundness :=
    Rule
    preserves
    semantic_truth

InferenceCompleteness :=
    RelevantConclusions
    derivable
    by available rules
    under specified formal system

Assumption :=
    ProvisionalPremise
    ∧ scoped_to(InferenceContext)

AssumptionDependency :=
    Conclusion
    dependsOn
    AssumptionSet

AssumptionDischarge :=
    Subproof
    → RemoveTemporaryAssumption
    → DeriveConditionalConclusion

Evidence := {
    Observation,
    SourceClaim,
    FormalProof,
    ModelResult,
    DatasetRecord,
    DerivedFact
}

EvidenceAttachment :=
    Evidence
    → supports_or_contradicts
    PremiseOrConclusion

EvidenceSupport :=
    Evidence --supports--> Claim

EvidenceContradiction :=
    Evidence --contradicts--> Claim

EvidencePropagation :=
    EvidenceStrength(Premises)
    → SupportFor(Conclusion)

Contradiction :=
    Claim
    ∧ NegatedClaim

InferenceConflict :=
    ChainDerives(φ)
    ∧ ChainDerives(¬φ)

ConflictDetection :=
    NewConclusion
    → CompareWithActiveClaims
    → DetectContradiction

ConflictTrace :=
    Contradiction
    → DerivationPaths
    → SourcePremises
    → Evidence

ConflictResolution :=
    Conflict
    → CheckContexts
    → CheckEntityResolution
    → CheckAssumptions
    → CompareEvidence
    → ReviseOrAnnotate

DependencyInvalidation :=
    InvalidPremise
    → DependentInferenceSteps
    → Reevaluate

TruthMaintenance :=
    Claims
    ∧ Justifications
    ∧ Dependencies
    ∧ Retractions

Justification :=
    Conclusion
    → Premises
    ∧ Rule
    ∧ Evidence

RecursiveTruthMaintenance :=
    ChangedPremise
    → TraverseDependents
    → RecomputeConclusions

Confidence :=
    [0,1]

CONFIDENCE(InferenceStep) :=
    weighted_mean(
        PremiseConfidence,
        RuleReliability,
        EvidenceStrength,
        SemanticCompatibility,
        ConstraintConsistency
    )

ChainConfidence :=
    aggregate(
        Confidence(InferenceSteps),
        DependencyStructure,
        IndependentSupport
    )

RecursiveConfidencePropagation :=
    Confidence(Premises)
    ∧ Confidence(Rule)
    → Confidence(Conclusion)
    → propagate_to(DependentSteps)

ConfidenceDecay :=
    LongWeaklySupportedChain
    may_reduce
    FinalConfidence

ConfidenceReinforcement :=
    IndependentSupportingPaths
    may_increase
    FinalConfidence

Uncertainty :=
    IncompleteEvidence
    ∨ AmbiguousEntity
    ∨ AmbiguousRelation
    ∨ ConflictingSupport

UncertaintyPropagation :=
    UncertainPremises
    → UncertaintyInDerivedConclusion

Provenance :=
    InferenceStep → {
        Premises,
        Rule,
        Evidence,
        Source,
        ParentSteps,
        Timestamp,
        Version
    }

ChainProvenance :=
    FinalConclusion
    → AllSupportingInferenceSteps
    → GroundSources

Traceability :=
    Query
    → InitialPremises
    → InferenceSteps
    → Evidence
    → Conclusion

InferenceTrace :=
    OrderedSequence(
        InferenceStepIDs
    )

ChainExplanation :=
    RelevantPremises
    ∧ RelevantRules
    ∧ Evidence
    ∧ MaterialDependencies
    ∧ Confidence
    ∧ Provenance

RecursiveChainExpansion :=
    UnresolvedPremise
    → GenerateSubquery
    → ResolveSubquery
    → InsertResultIntoChain

Subquery :=
    InformationNeed
    generated_by
    InferenceGap

InferenceGap :=
    RequiredPremise
    ∧ currently_unresolved

GapResolution :=
    InferenceGap
    → EvidenceSearch
    ∨ Deduction
    ∨ SemanticResolution
    ∨ MarkUnknown

ChainCompletion :=
    AllMaterialInferenceGapsResolved
    ∧ FinalConclusionSupported

PartialChain :=
    SomeInferenceGapsRemain

InferenceCycle :=
    StepA dependsOn StepB
    ∧ StepB dependsOn StepA

CycleDetection :=
    DependencyGraph
    → DetectDirectedCycle

CircularInference :=
    Conclusion
    supported_only_by
    InferenceCycle
    without independent grounding

CycleHandling := {
    RejectCircularSupport,
    RequireGrounding,
    Memoise,
    FixedPointEvaluation,
    MarkUnresolved
}

GroundedChain :=
    EveryMaterialDependencyPath
    terminates_at
    GroundEvidenceOrAxiom

UngroundedChain :=
    AtLeastOneMaterialDependencyPath
    terminates_only_in
    CircularDependency

FixedPoint :=
    ChainState = F(ChainState)

InferenceClosure :=
    RepeatedRuleApplication
    until
    NoNewMaterialConclusions

ChainConvergence :=
    ChainState_(n+1)
    =
    ChainState_n

SemanticChainConvergence :=
    SEMANTIC_EQUIVALENCE(
        ChainState_(n+1),
        ChainState_n
    )

TerminationCondition :=
    GoalResolved
    ∨ NoApplicableInference
    ∨ FixedPointReached
    ∨ ContradictionRequiresResolution
    ∨ DepthBoundReached
    ∨ ResourceBoundReached

DepthBound :=
    ChainLength ≤ MaximumInferenceDepth

ResourceBound := {
    TimeLimit,
    MemoryLimit,
    StepLimit,
    BranchLimit
}

InferenceChainOptimisation := {
    RemoveRedundantSteps,
    MergeEquivalentClaims,
    ReuseCachedDerivations,
    PreferStrongerEvidence,
    PruneIrrelevantBranches
}

RedundantInference :=
    ConclusionAlreadySupported
    by
    EqualOrStrongerDerivation

InferenceMemoisation :=
    CanonicalPremiseSet
    ∧ RuleContext
    → CachedConclusion

SemanticEquivalence :=
    Meaning(A) = Meaning(B)

SEMANTIC_EQUIVALENCE(ChainA,ChainB) :=
    same(MaterialConclusion)
    ∧ equivalent(MaterialPremises)
    ∧ equivalent(DependencySemantics)

CanonicalInferenceChain :=
    ResolveEntities
    → ResolveRelations
    → CanonicaliseClaims
    → CanonicaliseRules
    → SortDependencies
    → RemoveRedundantSteps
    → CanonicalChainGraph

AIInferenceChainOntology :=
    Classes
    ∧ Relations
    ∧ Constraints
    ∧ Axioms
    ∧ InferenceChainRules

CoreClasses := {
    AIInferenceChain,
    InferenceStep,
    Premise,
    Conclusion,
    InferenceRule,
    InferenceContext,
    Evidence,
    Assumption,
    Dependency,
    InferenceBranch,
    InferenceGap,
    Justification,
    Confidence,
    Provenance,
    Contradiction,
    InferenceCycle,
    ChainState
}

CoreRelations := {
    derives,
    dependsOn,
    supports,
    contradicts,
    appliesRule,
    usesPremise,
    producesConclusion,
    recursesInto,
    resolves,
    invalidates,
    tracesTo,
    groundsIn,
    equivalentTo
}

TypedRelations :=
    InferenceStep --usesPremise--> Premise
    InferenceStep --appliesRule--> InferenceRule
    InferenceStep --producesConclusion--> Conclusion
    Conclusion --dependsOn--> Premise
    Evidence --supports--> Claim
    Evidence --contradicts--> Claim
    InferenceGap --recursesInto--> Subquery
    DerivedClaim --groundsIn--> Evidence
    Conclusion --tracesTo--> Provenance

InferenceChainRules := {
    Supported(A)
        ∧ ValidRule(A→B)
        ⇒ Candidate(B),

    Supported(A)
        ∧ Supported(B)
        ∧ ValidRule(A∧B→C)
        ⇒ Candidate(C),

    Candidate(C)
        ∧ PassesValidation(C)
        ⇒ AcceptedConclusion(C),

    Invalid(P)
        ∧ dependsOn(C,P)
        ⇒ invalidate_or_recheck(C),

    Derives(φ)
        ∧ Derives(¬φ)
        ⇒ InferenceConflict,

    IndependentSupport(Path1,Path2)
        ⇒ strengthen_support(Conclusion),

    ChainState_(n+1)=ChainState_n
        ⇒ FixedPointReached,

    SEMANTIC_EQUIVALENCE(
        ChainState_n,
        ChainState_(n+1)
    )
        ⇒ SemanticChainConvergence
}

AI_QUERY_INTERPRETATION :=
    Query
    → DetectInferenceIntent
    → ResolveTargetConclusion
    → ResolveAvailablePremises
    → ResolveEntitiesAndRelations
    → IdentifyInferenceGaps
    → BuildInitialInferenceContext

AI_REASONING_FLOW :=
    Query
    → ParseQuery
    → IdentifyTargetClaim
    → ResolveInitialPremises
    → ResolveEntities
    → ResolveRelations
    → BuildInferenceContext
    → SelectInferenceStrategy
    → MatchApplicableRules
    → GenerateCandidateInferenceSteps
    → ValidateCandidateConclusions
    → ExpandUnresolvedDependencies
    → GenerateSubqueriesForInferenceGaps
    → IntegrateNewEvidence
    → DetectContradictions
    → DetectCircularInference
    → UpdateConfidence
    → MaintainDependencyGraph
    → TestChainConvergence
    → RepeatIfNecessary
    → VerifyFinalChain
    → PreserveProvenance
    → GenerateExplanation

AI_CONSUMPTION := {
    ParseInferenceEntities,
    ParseTypedRelations,
    ResolvePremises,
    ResolveConclusions,
    ResolveInferenceRules,
    BuildDependencyGraphs,
    ApplyInferenceRules,
    GenerateSubqueries,
    IntegrateEvidence,
    DetectInferenceGaps,
    DetectContradictions,
    DetectCircularInference,
    MaintainTruthDependencies,
    PropagateConfidence,
    CompareSemanticEquivalence,
    PreserveProvenance,
    GenerateFormalExplanation
}

UPDATE_MODEL :=
    NewPremiseRuleEvidenceOrConclusion
    → ValidateInput
    → IdentifyAffectedInferenceSteps
    → InvalidateDependentConclusions
    → UpdateDependencyGraph
    → ReapplyRelevantRules
    → ResolveNewInferenceGaps
    → RecheckContradictions
    → RecomputeConfidence
    → TestChainConvergence
    → PreserveProvenance
    → VersionModel

PremiseUpdate :=
    ChangedPremise
    ⇒ reevaluate(
        DependentInferenceSteps,
        Conclusions,
        Confidence
    )

RuleUpdate :=
    ChangedInferenceRule
    ⇒ recompute(
        ApplicableSteps,
        DependentDerivations
    )

EvidenceUpdate :=
    NewOrRetractedEvidence
    ⇒ update(
        ClaimSupport,
        Contradictions,
        ChainConfidence
    )

FLOW_HASH_INPUT :=
    canonical(
        ONTOLOGY,
        CoreClasses,
        CoreRelations,
        InferenceChainRules,
        InferenceChain,
        DependencyGraph,
        SEMANTIC_EQUIVALENCE,
        AI_REASONING_FLOW
    )

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT)

OUTPUT_MODEL := {
    InferenceChainEntityResolution,
    TargetClaim,
    InitialPremises,
    InferenceContext,
    InferenceSteps,
    DependencyGraph,
    InferenceGaps,
    EvidenceState,
    ContradictionStatus,
    CircularityStatus,
    ChainConvergenceStatus,
    FinalConclusion,
    Confidence,
    Provenance,
    Explanation
}

END_FLOW

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