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
Download Code
Copy to Clipboard