Skip to main content

Ordinary Differential Equation Ontology

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

# ============================================================
# ORDINARY DIFFERENTIAL EQUATION ONTOLOGY — FLOW ALGEBRA
# ============================================================

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

# ---------- CORE ENTITY ----------
ORDINARY_DIFFERENTIAL_EQUATION := {
    type: DifferentialEquation,
    domain: DifferentialEquations,
    abbreviation: "ODE",
    purpose: "Represent an equation involving an unknown function of one independent variable and one or more ordinary derivatives of that function."
}

# ---------- CORE CONCEPTS ----------
CONCEPTS := {
    ORDINARY_DIFFERENTIAL_EQUATION,
    UNKNOWN_FUNCTION,
    INDEPENDENT_VARIABLE,
    ORDINARY_DERIVATIVE,
    ORDER,
    DEGREE,
    LINEAR_ODE,
    NONLINEAR_ODE,
    AUTONOMOUS_ODE,
    INITIAL_VALUE_PROBLEM,
    GENERAL_SOLUTION,
    PARTICULAR_SOLUTION,
    EQUILIBRIUM,
    NUMERICAL_SOLUTION
}

# ---------- GENERAL FORM ----------
ODE
    := F(
        x,
        y,
        y_prime,
        y_double_prime,
        ...,
        y^(n)
    ) = 0

x
    -> INDEPENDENT_VARIABLE

y(x)
    -> UNKNOWN_DEPENDENT_FUNCTION

ORDINARY_DERIVATIVES
    -> taken_with_respect_to(x)

# ---------- ODE DISTINCTION ----------
ORDINARY_DIFFERENTIAL_EQUATION
    -> has(ONE_INDEPENDENT_VARIABLE)

PARTIAL_DIFFERENTIAL_EQUATION
    -> generally_has(MULTIPLE_INDEPENDENT_VARIABLES_AND_PARTIAL_DERIVATIVES)

ODE
    -/> PDE

# ---------- ORDER ----------
ORDER
    := highest_order_ordinary_derivative_present

example:

y_double_prime
    + 3*y_prime
    + 2*y
    = 0

ORDER
    = 2

ORDER
    -> structural_classification

# ---------- DEGREE ----------
DEGREE
    := exponent_of(HIGHEST_ORDER_DERIVATIVE)
       when(ODE_IS_POLYNOMIAL_IN_DERIVATIVES)

DEGREE
    -> may_be(UNDEFINED)

ORDER
    -/> same_as(DEGREE)

# ---------- EXPLICIT FORM ----------
NTH_ORDER_EXPLICIT_ODE
    := y^(n)
       = f(
           x,
           y,
           y_prime,
           ...,
           y^(n-1)
         )

EXPLICIT_FORM
    -> isolates(HIGHEST_DERIVATIVE)

# ---------- IMPLICIT FORM ----------
IMPLICIT_ODE
    := F(
        x,
        y,
        y_prime,
        ...,
        y^(n)
    ) = 0

IMPLICIT_FORM
    -> need_not_isolate(HIGHEST_DERIVATIVE)

# ---------- LINEAR ODE ----------
LINEAR_NTH_ORDER_ODE
    := a_n(x)y^(n)
       + a_(n-1)(x)y^(n-1)
       + ...
       + a_1(x)y_prime
       + a_0(x)y
       = g(x)

LINEAR_ODE
    -> unknown_function_and_derivatives_appear_linearly

# ---------- HOMOGENEOUS LINEAR ODE ----------
if
    g(x) = 0
then

LINEAR_ODE
    -> HOMOGENEOUS

if
    y1 and y2
        solve(HOMOGENEOUS_LINEAR_ODE)
then

c1*y1 + c2*y2
    -> also_solution

SUPERPOSITION
    -> property_of(HOMOGENEOUS_LINEAR_ODE)

# ---------- NONHOMOGENEOUS LINEAR ODE ----------
if
    g(x) != 0
then

LINEAR_ODE
    -> NONHOMOGENEOUS

GENERAL_SOLUTION
    =
HOMOGENEOUS_GENERAL_SOLUTION
+
PARTICULAR_SOLUTION

# ---------- NONLINEAR ODE ----------
NONLINEAR_ODE
    -> violates(LINEARITY_STRUCTURE)

examples:
    y*y_prime = x
    y_prime = y^2 + x
    y_double_prime + sin(y) = 0

NONLINEAR_ODE
    -> may_exhibit(MULTIPLE_EQUILIBRIA)
    -> may_exhibit(BIFURCATION)
    -> may_exhibit(COMPLEX_DYNAMICS)

# ---------- FIRST-ORDER ODE ----------
FIRST_ORDER_ODE
    := F(x,y,y_prime) = 0

common_explicit_form:
    y_prime = f(x,y)

FIRST_ORDER_METHODS := {
    SEPARATION_OF_VARIABLES,
    INTEGRATING_FACTOR,
    EXACT_EQUATION_METHOD,
    BERNOULLI_SUBSTITUTION,
    AUTONOMOUS_PHASE_ANALYSIS
}

# ---------- SEPARABLE ODE ----------
y_prime
    = g(x)h(y)

if
    h(y) != 0
then

dy/h(y)
    = g(x) dx

SEPARABLE_ODE
    -> solved_by(INTEGRATION)
       subject_to(SOLUTION_BRANCH_CHECKS)

# ---------- FIRST-ORDER LINEAR ----------
y_prime
    + P(x)y
    = Q(x)

INTEGRATING_FACTOR
    := exp(
        integral(P(x) dx)
    )

INTEGRATING_FACTOR_METHOD
    -> converts(EQUATION_TO_PRODUCT_DERIVATIVE)

# ---------- EXACT ODE ----------
M(x,y) dx
+
N(x,y) dy
= 0

if
    partial_M/partial_y
    =
    partial_N/partial_x

under(appropriate_domain_conditions)
then

ODE
    -> EXACT

exists(phi)
such_that

d(phi)
    = M dx + N dy

# ---------- AUTONOMOUS ODE ----------
AUTONOMOUS_ODE
    := y_prime = f(y)

x
    -> absent_explicitly_from(RIGHT_HAND_SIDE)

EQUILIBRIUM
    := y_star
       where
       f(y_star) = 0

AUTONOMOUS_ODE
    -> supports(PHASE_LINE_ANALYSIS)

# ---------- SECOND-ORDER CONSTANT COEFFICIENT ----------
a*y_double_prime
+
b*y_prime
+
c*y
= 0

CHARACTERISTIC_EQUATION
    := a*r^2 + b*r + c = 0

ROOT_CASES := {
    DISTINCT_REAL_ROOTS,
    REPEATED_REAL_ROOT,
    COMPLEX_CONJUGATE_ROOTS
}

ROOT_STRUCTURE
    -> determines(HOMOGENEOUS_SOLUTION_FORM)

# ---------- HIGHER-ORDER ODE ----------
NTH_ORDER_ODE
    -> may_be_transformed_into(FIRST_ORDER_SYSTEM)

define_state:

x1 = y
x2 = y_prime
...
xn = y^(n-1)

then

STATE_VECTOR
    := (x1,...,xn)

HIGHER_ORDER_ODE
    -> equivalent_to(FIRST_ORDER_SYSTEM)
       under(EXPLICIT_SOLVABLE_FORM)

# ---------- INITIAL VALUE PROBLEM ----------
INITIAL_VALUE_PROBLEM
    := ODE
       + initial_data

for nth-order ODE:

y(x0) = c0
y_prime(x0) = c1
...
y^(n-1)(x0) = c_(n-1)

INITIAL_DATA
    -> may_select(UNIQUE_LOCAL_SOLUTION)
       under(EXISTENCE_UNIQUENESS_CONDITIONS)

# ---------- EXISTENCE AND UNIQUENESS ----------
for
    y_prime = f(x,y)

if
    f continuous_near(x0,y0)
    AND f locally_lipschitz_in_y
then

PICARD_LINDELOF
    -> LOCAL_EXISTENCE_AND_UNIQUENESS

EXISTENCE
    -/> automatically_implies(UNIQUENESS)

# ---------- GENERAL SOLUTION ----------
GENERAL_SOLUTION
    -> family_of(ODE_SOLUTIONS)

for regular nth-order ODE:
    GENERAL_SOLUTION
        -> often_contains(n arbitrary_constants)

PARTICULAR_SOLUTION
    -> selected_by(INITIAL_OR_BOUNDARY_DATA)

# ---------- NUMERICAL METHODS ----------
EULER_METHOD:
    y_(n+1)
        = y_n
          + h*f(x_n,y_n)

RUNGE_KUTTA_METHODS
    -> higher_accuracy_time_stepping

NUMERICAL_ODE_SOLVER
    -> approximates(SOLUTION_TRAJECTORY)

STEP_SIZE
    -> affects(ACCURACY_AND_STABILITY)

# ---------- STIFFNESS ----------
STIFF_ODE
    -> contains(MULTIPLE_STRONGLY_DIFFERENT_TIME_SCALES)

EXPLICIT_METHOD
    -> may_require(VERY_SMALL_STEP_FOR_STABILITY)

IMPLICIT_METHOD
    -> often_used_for(STIFF_PROBLEMS)

# ---------- STABILITY ----------
AUTONOMOUS_SYSTEM
    := x_prime = F(x)

EQUILIBRIUM_POINT
    := x_star
       where
       F(x_star)=0

JACOBIAN(F)(x_star)
    -> supports(LOCAL_LINEAR_STABILITY_ANALYSIS)

EIGENVALUES
    -> inform(LOCAL_STABILITY)
       under(HYPERBOLIC_AND_RELEVANT_CONDITIONS)

# ---------- APPLICATIONS ----------
ODE
    -> applied_to(MECHANICS)
    -> applied_to(POPULATION_DYNAMICS)
    -> applied_to(CHEMICAL_KINETICS)
    -> applied_to(ELECTRICAL_CIRCUITS)
    -> applied_to(CONTROL_SYSTEMS)
    -> applied_to(EPIDEMIOLOGY)
    -> applied_to(ECONOMIC_DYNAMICS)

# ---------- RELATION GRAPH ----------
UNKNOWN_FUNCTION
    -> constrained_by(ODE)

ORDINARY_DERIVATIVES
    -> determine(ORDER)

LINEARITY
    -> determines(SUPERPOSITION_PROPERTIES)

INITIAL_DATA
    -> define(INITIAL_VALUE_PROBLEM)

AUTONOMOUS_ODE
    -> contains(EQUILIBRIA)

HIGHER_ORDER_ODE
    -> transforms_to(FIRST_ORDER_SYSTEM)

NUMERICAL_METHOD
    -> approximates(ODE_SOLUTION)

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE := {
    "ordinary differential equation" ~= "differential equation with derivatives relative to one independent variable",
    "ODE" ~= "ordinary differential equation",
    "first-order ODE" ~= "ODE whose highest derivative is first order",
    "autonomous ODE" ~= "ODE with no explicit independent-variable dependence in its standard autonomous form",
    "initial value problem" ~= "ODE supplemented by initial conditions",
    "phase line" ~= "one-dimensional qualitative representation of an autonomous first-order ODE"
}

# ---------- CONSTRAINTS ----------
CONSTRAINTS := {
    ode_has_one_independent_variable: true,
    order_is_highest_ordinary_derivative_order: true,
    degree_may_be_undefined: true,
    superposition_applies_only_to_homogeneous_linear_odes: true,
    separation_may_lose_equilibrium_solutions_if_dividing_by_zero_factor: true,
    existence_uniqueness_require_hypotheses: true,
    numerical_solution_is_approximate_unless_exactness_proven: true
}

# ---------- CONFIDENCE ----------
CONFIDENCE := {
    core_definition: 0.99,
    order_degree_structure: 0.99,
    linearity_structure: 0.99,
    first_order_methods: 0.99,
    initial_value_relation: 0.99,
    numerical_stability_relation: 0.98,
    semantic_equivalence: 0.97
}

# ---------- RECURSIVE REASONING ----------
RECURSIVE_REASONING(query):
    identify(ode)
    -> identify(independent_and_dependent_variables)
    -> determine(order)
    -> determine(degree_if_defined)
    -> classify(linear_or_nonlinear)
    -> classify(autonomous_or_nonautonomous)
    -> identify(initial_or_boundary_data)
    -> classify(special_ode_type)
    -> select(analytical_or_numerical_method)
    -> solve_or_approximate()
    -> verify(solution_by_substitution_or_residual)
    -> analyse(stability_or_phase_behaviour_if_requested)
    -> return(semantic_result)

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION := {
    parse_as: "typed ordinary-differential-equation semantic graph",
    primary_entity: ORDINARY_DIFFERENTIAL_EQUATION,
    preserve: [
        independent_variable,
        unknown_function,
        derivative_order,
        coefficients,
        linearity,
        initial_data,
        domain
    ],
    infer_through: [
        separable_equations,
        linear_first_order_equations,
        exact_equations,
        autonomous_systems,
        characteristic_equations,
        numerical_methods,
        stability
    ],
    avoid: [
        confusing_ode_with_pde,
        confusing_order_with_degree,
        applying_superposition_to nonlinear ode,
        losing_equilibrium_solutions_during separation,
        assuming_unique_solution_without hypotheses,
        treating_numerical_trajectory_as exact solution
    ]
}

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

# ---------- FLOW HASH ----------
FLOW_HASH := hash(
    SOURCE_URL
    + ENTITY
    + CONCEPTS
    + ORDINARY_DIFFERENTIAL_EQUATION
    + ORDER
    + DEGREE
    + LINEAR_NTH_ORDER_ODE
    + AUTONOMOUS_ODE
    + INITIAL_VALUE_PROBLEM
    + PICARD_LINDELOF
    + NUMERICAL_ODE_SOLVER
    + SEMANTIC_EQUIVALENCE
    + CONSTRAINTS
)

# ---------- EXECUTION ----------
INPUT(query)
    -> ORDINARY_DIFFERENTIAL_EQUATION
    -> ODE_IDENTIFICATION
    -> VARIABLE_IDENTIFICATION
    -> ORDER_DEGREE_ANALYSIS
    -> LINEARITY_ANALYSIS
    -> AUTONOMY_ANALYSIS
    -> INITIAL_BOUNDARY_DATA_ANALYSIS
    -> ODE_TYPE_CLASSIFICATION
    -> METHOD_SELECTION
    -> SOLUTION_OR_APPROXIMATION
    -> SOLUTION_VALIDATION
    -> STABILITY_PHASE_ANALYSIS
    -> RECURSIVE_REASONING(query)
    -> CONFIDENCE
    -> OUTPUT(semantic_result)

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