Skip to main content

Differential Calculus Ontology

Differential Calculus
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 23 September 2026
Audio Overview
flow "DifferentialCalculusOntology" v1.0

# ============================================================
# DIFFERENTIAL CALCULUS ONTOLOGY — FLOW ALGEBRA
# ============================================================

SOURCE_URL := "https://kirethresearch.org/booksai-core/ontologies/calculus-analysis-ontologies/differential-calculus/differential-calculus-ontology.html"
DOMAIN := "Mathematical Ontologies"
CATEGORY := "Calculus and Analysis Ontologies"
SUBCATEGORY := "Differential Calculus"
ENTITY := "Differential Calculus"

# ---------- CORE ENTITY ----------
DIFFERENTIAL_CALCULUS := {
    type: MathematicalDiscipline,
    domain: Mathematics,
    parent: Calculus,
    purpose: "Formal study of derivatives, instantaneous rates of change, local function behaviour, differential approximation and derivative-based analysis."
}

# ---------- CORE CONCEPTS ----------
CONCEPTS := {
    FUNCTION,
    INDEPENDENT_VARIABLE,
    DEPENDENT_VARIABLE,
    LIMIT,
    CONTINUITY,
    DIFFERENCE_QUOTIENT,
    DERIVATIVE,
    DIFFERENTIABILITY,
    DIFFERENTIATION,
    DIFFERENTIAL,
    TANGENT_LINE,
    RATE_OF_CHANGE,
    HIGHER_DERIVATIVE,
    CRITICAL_POINT,
    EXTREMUM,
    MONOTONICITY,
    CONCAVITY,
    INFLECTION_POINT
}

# ---------- ONTOLOGICAL STRUCTURE ----------
DIFFERENTIAL_CALCULUS
    -> branch_of(CALCULUS)
    -> depends_on(LIMIT_THEORY)
    -> operates_on(FUNCTIONS)
    -> analyses(LOCAL_CHANGE)
    -> produces(DERIVATIVE_INFORMATION)
    -> supports(OPTIMISATION)
    -> supports(APPROXIMATION)
    -> supports(MODELLING)

# ---------- VARIABLE STRUCTURE ----------
if
    y = f(x)
then
    x -> INDEPENDENT_VARIABLE
    y -> DEPENDENT_VARIABLE

DEPENDENT_VARIABLE
    -> changes_with(INDEPENDENT_VARIABLE)

DIFFERENTIAL_CALCULUS
    -> quantifies(DEPENDENT_CHANGE_RELATIVE_TO_INDEPENDENT_CHANGE)

# ---------- AVERAGE CHANGE ----------
AVERAGE_RATE_OF_CHANGE
    := (f(b)-f(a))/(b-a)

AVERAGE_RATE_OF_CHANGE
    -> corresponds_to(SECANT_LINE_SLOPE)

SECANT_LINE
    -> intersects(FUNCTION_GRAPH_AT_TWO_POINTS)

# ---------- DIFFERENCE QUOTIENT ----------
DIFFERENCE_QUOTIENT
    := (f(x+h)-f(x))/h

DIFFERENCE_QUOTIENT
    -> finite_interval_rate_of_change

h -> 0
    -> transforms(DIFFERENCE_QUOTIENT, DERIVATIVE)
       when(limit_exists)

# ---------- DERIVATIVE DEFINITION ----------
DERIVATIVE(f, x)
    := limit(
        (f(x+h)-f(x))/h,
        h -> 0
    )

DERIVATIVE_AT_POINT
    -> measures(INSTANTANEOUS_RATE_OF_CHANGE)
    -> measures(TANGENT_SLOPE)
    -> provides(LOCAL_LINEAR_INFORMATION)

DERIVATIVE_FUNCTION
    -> maps(INPUT, LOCAL_RATE_OF_CHANGE)

# ---------- DIFFERENTIABILITY ----------
DIFFERENTIABLE_AT(f, a)
    iff
    DERIVATIVE(f, a) exists_as_finite_value

DIFFERENTIABLE_AT(f, a)
    -> implies(CONTINUOUS_AT(f, a))

CONTINUOUS_AT(f, a)
    -/> necessarily_implies(DIFFERENTIABLE_AT(f, a))

DIFFERENTIABILITY
    -> stronger_local_property_than(CONTINUITY)

# ---------- DIFFERENTIATION OPERATOR ----------
DIFFERENTIATION
    -> operation(FUNCTION -> DERIVATIVE_FUNCTION)

D_x[f]
    := d/dx[f(x)]

DIFFERENTIATION_OPERATOR
    -> linear_operator_on(APPROPRIATE_FUNCTION_SPACE)

D_x[a*f + b*g]
    = a*D_x[f] + b*D_x[g]

# ---------- DERIVATIVE RULES ----------
CONSTANT_RULE:
    D_x[c] = 0

POWER_RULE:
    D_x[x^n] = n*x^(n-1)
    under(appropriate_conditions)

SUM_RULE:
    D_x[f+g] = D_x[f] + D_x[g]

DIFFERENCE_RULE:
    D_x[f-g] = D_x[f] - D_x[g]

PRODUCT_RULE:
    D_x[f*g]
        = D_x[f]*g + f*D_x[g]

QUOTIENT_RULE:
    D_x[f/g]
        = (D_x[f]*g - f*D_x[g])/(g^2)
        when(g != 0)

CHAIN_RULE:
    D_x[f(g(x))]
        = f_prime(g(x))*g_prime(x)

# ---------- IMPLICIT DIFFERENTIATION ----------
IMPLICIT_RELATION
    := F(x,y) = 0

IMPLICIT_DIFFERENTIATION
    -> treats(y_as_locally_dependent_on_x)
       when(required_conditions_hold)
    -> differentiates(RELATION_WITH_RESPECT_TO_x)

if
    partial_F/partial_y != 0
    under(implicit_function_conditions)
then
    dy/dx
        = -(partial_F/partial_x)/(partial_F/partial_y)

# ---------- HIGHER DERIVATIVES ----------
FIRST_DERIVATIVE
    := f_prime

SECOND_DERIVATIVE
    := f_double_prime

NTH_DERIVATIVE
    := D_x^n[f]

HIGHER_DERIVATIVES
    -> encode(HIGHER_ORDER_CHANGE)

SECOND_DERIVATIVE
    -> may_measure(ACCELERATION)
    -> supports(CONCAVITY_ANALYSIS)

# ---------- MONOTONICITY ----------
if
    f_prime(x) > 0
    on(interval)
then
    f -> strictly_increasing_on(interval)
       under(standard_differentiability_conditions)

if
    f_prime(x) < 0
    on(interval)
then
    f -> strictly_decreasing_on(interval)
       under(standard_differentiability_conditions)

DERIVATIVE_SIGN
    -> informs(MONOTONICITY)

# ---------- CRITICAL POINTS ----------
CRITICAL_NUMBER
    -> domain_value(c)
       where(
           f_prime(c) = 0
           OR f_prime(c) does_not_exist
       )

CRITICAL_POINT
    := (c, f(c))

CRITICAL_POINT
    -> candidate_for(LOCAL_EXTREMUM)

CRITICAL_POINT
    -/> guarantees(EXTREMUM)

# ---------- EXTREMA ----------
LOCAL_MAXIMUM
    -> locally_greatest_function_value

LOCAL_MINIMUM
    -> locally_smallest_function_value

FIRST_DERIVATIVE_TEST
    -> uses(SIGN_CHANGE_OF_f_prime)

SECOND_DERIVATIVE_TEST:
    if
        f_prime(c) = 0
        AND f_double_prime(c) > 0
    then
        c -> LOCAL_MINIMUM

    if
        f_prime(c) = 0
        AND f_double_prime(c) < 0
    then
        c -> LOCAL_MAXIMUM

# ---------- CONCAVITY ----------
if
    f_double_prime(x) > 0
    on(interval)
then
    f -> CONCAVE_UP

if
    f_double_prime(x) < 0
    on(interval)
then
    f -> CONCAVE_DOWN

INFLECTION_POINT
    -> requires(CHANGE_IN_CONCAVITY)

f_double_prime(c) = 0
    -/> sufficient_for(INFLECTION_POINT)

# ---------- DIFFERENTIAL ----------
DIFFERENTIAL
    := dy = f_prime(x)*dx

DIFFERENTIAL
    -> provides(FIRST_ORDER_CHANGE_APPROXIMATION)

for small dx:
    delta_y ~= dy

LINEARISATION
    := f(a) + f_prime(a)*(x-a)

LINEARISATION
    -> tangent_based_local_approximation

# ---------- TANGENT LINE ----------
TANGENT_LINE_AT_a
    := y - f(a)
       = f_prime(a)*(x-a)

TANGENT_LINE
    -> represents(LOCAL_LINEAR_MODEL)

# ---------- MEAN VALUE THEOREM ----------
if
    f continuous_on([a,b])
    AND f differentiable_on((a,b))
then
    exists c in (a,b)
        such_that
        f_prime(c)
        = (f(b)-f(a))/(b-a)

MEAN_VALUE_THEOREM
    -> connects(SECANT_SLOPE, TANGENT_SLOPE)

# ---------- ROLLE'S THEOREM ----------
if
    f continuous_on([a,b])
    AND f differentiable_on((a,b))
    AND f(a) = f(b)
then
    exists c in (a,b)
        such_that
        f_prime(c) = 0

ROLLES_THEOREM
    -> special_case_of(MEAN_VALUE_THEOREM)

# ---------- NONDIFFERENTIABLE BEHAVIOUR ----------
NONDIFFERENTIABLE_POINT
    -> may_be(DISCONTINUITY)
    -> may_be(CORNER)
    -> may_be(CUSP)
    -> may_be(VERTICAL_TANGENT)
    -> may_result_from(NONCONVERGENT_DIFFERENCE_QUOTIENT)

NONDIFFERENTIABLE
    -/> necessarily_means(DISCONTINUOUS)

# ---------- APPLICATION RELATIONS ----------
DERIVATIVE
    -> applied_to(VELOCITY)
    -> applied_to(ACCELERATION)
    -> applied_to(MARGINAL_ANALYSIS)
    -> applied_to(OPTIMISATION)
    -> applied_to(SENSITIVITY)
    -> applied_to(ERROR_APPROXIMATION)

DIFFERENTIAL_CALCULUS
    -> used_in(PHYSICS)
    -> used_in(ENGINEERING)
    -> used_in(ECONOMICS)
    -> used_in(BIOLOGY)
    -> used_in(COMPUTER_SCIENCE)

# ---------- SEMANTIC RELATION GRAPH ----------
LIMIT
    -> defines(DERIVATIVE)

DERIVATIVE
    -> establishes(LOCAL_RATE)

DERIVATIVE
    -> establishes(TANGENT_SLOPE)

DERIVATIVE_SIGN
    -> informs(MONOTONICITY)

SECOND_DERIVATIVE
    -> informs(CONCAVITY)

CRITICAL_POINT
    -> supports(EXTREMA_ANALYSIS)

DIFFERENTIAL
    -> supports(LOCAL_APPROXIMATION)

DIFFERENTIAL_CALCULUS
    -> related_to(INTEGRAL_CALCULUS)
       through(FUNDAMENTAL_THEOREM_OF_CALCULUS)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
    "differential calculus" ~= "branch of calculus concerned primarily with derivatives and local change",
    "instantaneous rate of change" ~= "derivative",
    "tangent slope" ~= "derivative at a point in standard graph context",
    "differentiation" ~= "operation of obtaining a derivative",
    "stationary point" ~= "point where derivative equals zero",
    "linearisation" ~= "first-order tangent-based local approximation"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
    derivative_is_limit_based: true,
    differentiability_implies_continuity: true,
    continuity_does_not_imply_differentiability: true,
    critical_point_does_not_guarantee_extremum: true,
    second_derivative_zero_does_not_guarantee_inflection: true,
    derivative_rules_require_domain_conditions: true,
    theorem_conclusions_require_theorem_hypotheses: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
    ontology_classification: 0.99,
    derivative_structure: 0.99,
    differentiation_rules: 0.99,
    differentiability_relations: 0.99,
    extrema_relations: 0.99,
    theorem_relations: 0.99,
    semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
    identify(function_and_variables)
    -> determine(domain)
    -> analyse(limit_structure)
    -> determine(differentiability)
    -> derive(first_derivative)
    -> derive(higher_derivatives_if_required)
    -> analyse(monotonicity)
    -> identify(critical_points)
    -> classify(extrema)
    -> analyse(concavity)
    -> identify(inflection_candidates)
    -> construct(differential_or_linearisation_if_required)
    -> apply(theorems_under_verified_hypotheses)
    -> validate(mathematical_consistency)
    -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
    parse_as: "typed differential-calculus ontology graph",
    primary_entity: DIFFERENTIAL_CALCULUS,
    preserve: [
        variable_roles,
        limit_dependency,
        derivative_definition,
        domain_conditions,
        rule_preconditions,
        theorem_hypotheses,
        implication_direction
    ],
    infer_through: [
        limits,
        continuity,
        derivatives,
        differentiation_rules,
        monotonicity,
        extrema,
        concavity,
        approximation
    ],
    avoid: [
        reversing_differentiability_continuity_implication,
        treating_every_critical_point_as_extremum,
        treating_second_derivative_zero_as_inflection,
        applying_quotient_rule_where_denominator_is_zero,
        applying_theorems_without_hypotheses
    ]
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL(new_information):
    validate(new_information)
    -> identify(differential_structure)
    -> compare(existing_relations)
    -> preserve(mathematical_invariants)
    -> update(affected_entities)
    -> update(affected_edges)
    -> recompute(CONFIDENCE)
    -> regenerate(FLOW_HASH)

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
    SOURCE_URL
    + ENTITY
    + CONCEPTS
    + DIFFERENTIAL_CALCULUS
    + DIFFERENCE_QUOTIENT
    + DERIVATIVE
    + DIFFERENTIABILITY
    + DIFFERENTIATION
    + HIGHER_DERIVATIVES
    + CRITICAL_POINT
    + EXTREMA
    + CONCAVITY
    + SEMANTIC_EQUIVALENCE
    + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
    -> DIFFERENTIAL_CALCULUS
    -> VARIABLE_IDENTIFICATION
    -> DOMAIN_ANALYSIS
    -> LIMIT_ANALYSIS
    -> DIFFERENTIABILITY_ANALYSIS
    -> DERIVATIVE_ANALYSIS
    -> HIGHER_DERIVATIVE_ANALYSIS
    -> MONOTONICITY_ANALYSIS
    -> CRITICAL_POINT_ANALYSIS
    -> EXTREMA_ANALYSIS
    -> CONCAVITY_ANALYSIS
    -> APPROXIMATION_ANALYSIS
    -> THEOREM_ANALYSIS
    -> RECURSIVE_REASONING(query)
    -> CONFIDENCE
    -> OUTPUT(semantic_result)

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