Skip to main content

Computable Function Ontology

Computability Theory
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 17 September 2026
Audio Overview
KIRETH RESEARCH - SEMANTIC LIBRARY
AI CORE -> ONTOLOGIES -> MATHEMATICAL ONTOLOGIES -> MATHEMATICAL LOGIC ONTOLOGIES
COMPUTABILITY THEORY -> COMPUTABLE FUNCTION ONTOLOGY

Canonical URL:
https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/computability-theory/computable-function-ontology.html

FLOW_ALGEBRA ComputableFunctionOntology_v1.0

BEGIN_FLOW

DEFINE DOMAIN ComputableFunctionOntology := {
    ComputableFunction,
    ComputabilityTheory,
    Function,
    PartialFunction,
    TotalFunction,
    PartialComputableFunction,
    TotalComputableFunction,
    RecursiveFunction,
    PartialRecursiveFunction,
    PrimitiveRecursiveFunction,
    EffectiveProcedure,
    Algorithm,
    TuringMachine,
    LambdaCalculus,
    RegisterMachine,
    Input,
    InputTuple,
    Output,
    Domain,
    Codomain,
    Halting,
    Divergence,
    Composition,
    Recursion,
    Minimization,
    FunctionEncoding,
    Program,
    ChurchTuringThesis
}

DEFINE ENTITY_TYPES := {
    COMPUTABLE_FUNCTION,
    FUNCTION,
    PARTIAL_FUNCTION,
    TOTAL_FUNCTION,
    ALGORITHM,
    EFFECTIVE_PROCEDURE,
    COMPUTATION_MODEL,
    MACHINE,
    INPUT,
    OUTPUT,
    DOMAIN,
    CODOMAIN,
    FUNCTION_CONSTRUCTION,
    COMPUTABILITY_PROPERTY,
    SEMANTIC_OBJECT
}

DEFINE RELATION_TYPES := {
    HAS_DOMAIN,
    HAS_CODOMAIN,
    HAS_INPUT,
    HAS_OUTPUT,
    MAPS_TO,
    COMPUTES,
    IS_COMPUTABLE_BY,
    HALTS_ON,
    DIVERGES_ON,
    COMPOSED_FROM,
    DEFINED_BY_RECURSION_FROM,
    EQUIVALENT_IN_COMPUTABILITY_TO,
    IS_INSTANCE_OF,
    IS_SUBTYPE_OF,
    DEPENDS_ON
}

SET ComputableFunction.type = COMPUTABLE_FUNCTION
SET ComputableFunction.parent = Function
SET ComputableFunction.context = ComputabilityTheory
SET ComputableFunction.role =
    "represent a mathematical function whose values can be produced by an effective computational procedure"

RULE function_mapping:
    Function(f)
    AND Input(x)
    AND f defined_at x
    -> MAPS_TO(f,x,f(x))

RULE machine_computes_partial_function:
    TuringMachine(M)
    AND PartialFunction(f)
    AND FOR_EVERY input x [
        IF f(x) is_defined
        THEN (
            HALTS_ON(M,x)
            AND output(M,x)=f(x)
        )
        ELSE M may_diverge_on x
    ]
    -> COMPUTES(M,f)
    AND PartialComputableFunction(f)

RULE machine_computes_total_function:
    TuringMachine(M)
    AND Function(f)
    AND FOR_EVERY input x MEMBER_OF Domain(f) [
        HALTS_ON(M,x)
        AND output(M,x)=f(x)
    ]
    -> COMPUTES(M,f)
    AND TotalComputableFunction(f)

RULE total_computable_is_computable:
    TotalComputableFunction(f)
    -> ComputableFunction(f)

RULE partial_computable_class:
    PartialComputableFunction(f)
    -> f is_computable_on_its_defined_domain

RULE recursive_equivalence:
    RecursiveFunction(f)
    -> ComputableFunction(f)

RULE Turing_recursive_equivalence:
    ComputableNumberTheoreticFunction(f)
    -> EXISTS RecursiveFunctionRepresentation(r) [
        extensionally_equal(r,f)
    ]
       UNDER standard_computability_equivalence

RULE composition_closure:
    ComputableFunction(g)
    AND ComputableFunctions(h1,...,hm)
    AND type_compatible
    -> f(x)
       = g(h1(x),...,hm(x))
    -> ComputableFunction(f)

RULE effective_algorithm:
    Algorithm(A)
    AND FOR_EVERY input x MEMBER_OF Domain(f) [
        A halts_on x
        AND output(A,x)=f(x)
    ]
    -> IS_COMPUTABLE_BY(f,A)

RULE partial_divergence:
    PartialComputableFunction(f)
    AND x NOT_MEMBER_OF DefinedDomain(f)
    -> corresponding_computation
       may DIVERGE_ON x

RULE totality:
    PartialComputableFunction(f)
    AND FOR_EVERY x MEMBER_OF IntendedDomain(f) [
        f(x) is_defined
    ]
    -> TotalComputableFunction(f)

RULE identity_computable:
    f(x)=x
    -> ComputableFunction(f)

RULE constant_computable:
    fixed_constant c
    AND f(x)=c
    -> ComputableFunction(f)

RULE projection_computable:
    f(x1,...,xn)=xi
    -> ComputableFunction(f)

RULE primitive_recursive_computable:
    PrimitiveRecursiveFunction(f)
    -> ComputableFunction(f)

RULE Church_Turing_correspondence:
    EffectivelyCalculableFunction(f)
    -> ComputableFunction(f)
       UNDER ChurchTuringThesis

DEFINE COMPUTABLE_FUNCTION_SCHEMA := {
    function_id: unique_identifier,
    arity: nonnegative_integer,
    domain: InputDomain,
    codomain: OutputDomain,
    computation_model: ComputationModel,
    algorithm_or_machine: ComputationalProcedure,
    termination: {
        total,
        partial
    },
    output_relation:
        "procedure returns f(x) on every input where f is defined"
}

DEFINE TOTAL_COMPUTABLE_MODEL := {
    input_requirement:
        "every valid input in the function domain",
    termination:
        "halts on every valid input",
    correctness:
        "returns exactly the mathematical function value",
    classification:
        TotalComputableFunction
}

DEFINE PARTIAL_COMPUTABLE_MODEL := {
    defined_input:
        "computation halts with the correct value",
    undefined_input:
        "computation may diverge",
    classification:
        PartialComputableFunction
}

DEFINE COMPUTATION_EQUIVALENCE_MODEL := {
    TuringMachine:
        "machine-based computation",
    RecursiveFunction:
        "closure-scheme computation",
    LambdaCalculus:
        "reduction-based computation",
    RegisterMachine:
        "instruction-based computation",
    standard_result:
        "these classical models characterise the same class of effectively computable functions under standard formulations"
}

DEFINE CRITICAL_DISTINCTIONS := {
    function_vs_computable_function: {
        function:
            "mathematical mapping",
        computable_function:
            "mapping with an effective procedure producing its values"
    },
    total_vs_partial_computable: {
        total:
            "defined and computable for every input in the intended domain",
        partial:
            "may be undefined on some inputs"
    },
    computable_vs_efficient: {
        computable:
            "an effective terminating procedure exists where required",
        efficient:
            "procedure satisfies specified resource bounds",
        equivalence: FALSE
    },
    computable_function_vs_decidable_problem: {
        computable_function:
            "produces outputs",
        decidable_problem:
            "total computable characteristic decision procedure for a yes/no property"
    }
}

DEFINE EXAMPLE_1 := {
    function:
        "f(n)=n+1",
    algorithm:
        "add one to the input",
    classification:
        TotalComputableFunction
}

DEFINE EXAMPLE_2 := {
    function:
        "f(a,b)=a+b",
    model:
        TuringMachine,
    termination:
        "halts for every pair of natural-number inputs",
    classification:
        TotalComputableFunction
}

DEFINE EXAMPLE_3 := {
    partial_function:
        "return the least y satisfying a computable condition if such y exists",
    method:
        "unbounded search",
    possible_outcome:
        "divergence if no witness exists",
    classification:
        PartialComputableFunction
}

DEFINE FUNCTION_ANALYSIS_PIPELINE :=
    FunctionSpecification
    -> IdentifyDomainAndCodomain
    -> DetermineArity
    -> IdentifyDefinedInputs
    -> SearchForEffectiveProcedure
    -> FormaliseProcedureInComputationModel
    -> VerifyOutputCorrectness
    -> AnalyseTermination
    -> ClassifyPartialOrTotalComputability
    -> ReturnComputabilityStatus

DEFINE COMPUTATION_PIPELINE :=
    ComputableFunction(f)
    -> Input(x)
    -> EncodeInput
    -> ExecuteAlgorithmOrMachine
    -> IF computation_halts
       THEN DecodeOutput
       -> VerifyOutputEquals(f(x))
    -> ELSE RecordDivergence
    -> ReturnResult

DEFINE CLOSURE_REASONING_PIPELINE :=
    KnownComputableFunctions
    -> IdentifyConstructionOperation
    -> VerifyTypeCompatibility
    -> ApplyComputabilityPreservingConstruction
    -> ConstructAlgorithmForCompositeFunction
    -> VerifyTerminationConditions
    -> ReturnNewComputableFunction

DEFINE EQUIVALENCE_PIPELINE :=
    Function(f)
    -> ObtainRepresentationInOneComputationModel
    -> TranslateOrSimulateInSecondModel
    -> PreserveInputOutputBehaviour
    -> EstablishExtensionalEquivalence
    -> RecordEquivalentComputabilityRepresentations

DEFINE COMPUTABLE_FUNCTION_GRAPH := {
    node_types: {
        FunctionNode,
        InputNode,
        OutputNode,
        AlgorithmNode,
        MachineNode,
        ConstructionNode
    },
    edge_types: {
        HAS_INPUT,
        HAS_OUTPUT,
        MAPS_TO,
        COMPUTES,
        IS_COMPUTABLE_BY,
        COMPOSED_FROM,
        HALTS_ON,
        DIVERGES_ON
    },
    input_output_semantics_preserved: TRUE
}

DEFINE ONTOLOGY_RELATIONS := {
    ComputableFunction IS_COMPONENT_OF ComputabilityTheory,
    ComputableFunction IS_SUBTYPE_OF Function,
    TotalComputableFunction IS_SUBTYPE_OF ComputableFunction,
    PartialComputableFunction IS_RELATED_TO ComputableFunction,
    PrimitiveRecursiveFunction IS_SUBTYPE_OF ComputableFunction,
    RecursiveFunction IS_EQUIVALENT_IN_COMPUTABILITY_TO TuringComputableFunction,
    Algorithm COMPUTES ComputableFunction,
    TuringMachine COMPUTES ComputableFunction,
    Composition PRESERVES Computability,
    ChurchTuringThesis RELATES EffectiveCalculability TO ComputableFunction
}

DEFINE SEMANTIC_EQUIVALENCE := {
    "computable function" <=> ComputableFunction,
    "effectively computable function" <=> ComputableFunction,
    "Turing-computable function" <=> ComputableFunction WHEN Turing_context=TRUE,
    "recursive function" <=> ComputableFunction WHEN classical_computability_context=TRUE,
    "partial computable function" <=> PartialComputableFunction,
    "total computable function" <=> TotalComputableFunction
}

DEFINE AI_CONSUMPTION := {
    purpose: "machine-readable representation, evaluation and classification of computable functions",
    preserve_function_identity: TRUE,
    preserve_arity: TRUE,
    preserve_domain: TRUE,
    preserve_codomain: TRUE,
    preserve_input_output_mapping: TRUE,
    preserve_computation_model: TRUE,
    distinguish_total_from_partial: TRUE,
    distinguish_computable_from_efficient: TRUE,
    detect_possible_divergence: TRUE,
    verify_output_correctness: TRUE,
    support_composition_closure: TRUE,
    support_cross_model_equivalence: TRUE,
    reasoning_mode: "symbolic + algorithmic + functional + computability-aware"
}

DEFINE CONFIDENCE := {
    ontology_identity: 1.00,
    computable_function_mapping: 1.00,
    total_partial_distinction: 1.00,
    Turing_computation_mapping: 0.99,
    recursive_function_equivalence: 0.99,
    composition_closure: 0.99,
    termination_analysis: undecidable_in_general,
    arbitrary_function_computability: specification_dependent
}

DEFINE UPDATE_MODEL := {
    version: "1.0",
    update_policy: "append-compatible",
    immutable_core: {
        effective_procedure,
        input_output_correctness,
        total_partial_distinction,
        computation_model_equivalence,
        composition_closure,
        Church_Turing_connection
    },
    extensible_layers: {
        primitive_recursive_functions,
        partial_recursive_functions,
        higher_type_computability,
        oracle_computable_functions,
        computable_real_functions,
        computable_analysis,
        probabilistic_computation,
        quantum_computability
    }
}

DEFINE FLOW_HASH_INPUT :=
    CanonicalURL
    + DOMAIN
    + ENTITY_TYPES
    + RELATION_TYPES
    + RULES
    + COMPUTABLE_FUNCTION_SCHEMA
    + TOTAL_COMPUTABLE_MODEL
    + PARTIAL_COMPUTABLE_MODEL
    + COMPUTATION_EQUIVALENCE_MODEL
    + CRITICAL_DISTINCTIONS
    + FUNCTION_ANALYSIS_PIPELINE
    + COMPUTATION_PIPELINE
    + CLOSURE_REASONING_PIPELINE
    + EQUIVALENCE_PIPELINE
    + COMPUTABLE_FUNCTION_GRAPH
    + ONTOLOGY_RELATIONS
    + AI_CONSUMPTION
    + UPDATE_MODEL

FLOW_HASH := HASH(FLOW_HASH_INPUT)

RETURN {
    ontology: ComputableFunctionOntology,
    canonical_url: "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/computability-theory/computable-function-ontology.html",
    parent_domain: ComputabilityTheory,
    semantic_domain: MathematicalLogic,
    primary_entity: ComputableFunction,
    function_classification_enabled: TRUE,
    termination_reasoning_enabled: TRUE,
    closure_reasoning_enabled: TRUE,
    computation_model_equivalence_enabled: TRUE,
    machine_consumable: TRUE,
    recursive_reasoning_enabled: TRUE,
    database_safe_unicode: TRUE,
    flow_complete: TRUE
}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ