Skip to main content

Ordinary Differential Equation Ontology

Dynamical Systems
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the Ordinary Differential Equation Ontology within the Kireth Research Semantic Library. Ordinary differential equations describe relationships between an unknown function of a single independent variable and its derivatives. This ontology supports first-order and higher-order ODEs, initial- and boundary-value problems, linear and nonlinear equations, autonomous systems, separable and exact equations, integrating factors, characteristic equations, variation of parameters, Laplace-transform methods, existence and uniqueness, equilibrium analysis, stiffness, numerical integration and relationships with dynamical systems, control theory, numerical analysis and mathematical modelling.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Ordinary Differential Equation Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Dynamical Systems / Ordinary Differential Equations"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/dynamical-systems/ordinary-differential-equation-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = OrdinaryDifferentialEquation
 SYMBOLIC_FORMS = [
  "F(t,y,y',...,y^(n))=0",
  "y'=f(t,y)",
  "y^(n)+a_{n-1}(t)y^(n-1)+...+a_0(t)y=g(t)"
 ]
 ENTITY_CLASS = SingleIndependentVariableDifferentialEquationFramework
 PRIMARY_CONTEXT = DynamicalSystems
 DEFINITION = "An ordinary differential equation is an equation involving an unknown function of one independent variable and one or more of its derivatives."
 SEMANTIC_ROLE = "Provides the machine-readable framework for classifying, solving, approximating and validating ordinary differential equations and associated initial- and boundary-value problems."
}

SCOPE {
 INCLUDE = [
  OrdinaryDifferentialEquation,
  ODE,
  FirstOrderODE,
  HigherOrderODE,
  InitialValueProblem,
  BoundaryValueProblem,
  LinearODE,
  NonlinearODE,
  AutonomousODE,
  NonautonomousODE,
  HomogeneousODE,
  NonhomogeneousODE,
  SeparableODE,
  ExactODE,
  IntegratingFactor,
  BernoulliEquation,
  RiccatiEquation,
  ClairautEquation,
  EulerCauchyEquation,
  ConstantCoefficientODE,
  CharacteristicEquation,
  FundamentalSolution,
  GeneralSolution,
  ParticularSolution,
  ComplementarySolution,
  VariationOfParameters,
  UndeterminedCoefficients,
  LaplaceTransformMethod,
  Existence,
  Uniqueness,
  PicardLindelofTheorem,
  LipschitzCondition,
  EquilibriumPoint,
  Stability,
  PhaseLine,
  SystemOfODEs,
  StateSpaceForm,
  StiffODE,
  NumericalIntegration,
  EulerMethod,
  RungeKuttaMethod,
  AdaptiveStepSize,
  LocalTruncationError,
  GlobalError
 ]

 EXCLUDE_AS_PRIMARY = [
  PartialDifferentialEquation,
  DifferenceEquation,
  AlgebraicEquationWithoutDerivatives,
  IntegralEquationWithoutODEContext
 ]

 DISAMBIGUATION_RULE =
  "When an equation relates a function of one independent variable to its ordinary derivatives, interpret the context as an ordinary differential equation."
}

CORE_CONCEPTS {

 OrdinaryDifferentialEquation {
  definition = "A differential equation involving derivatives with respect to a single independent variable."
 }

 FirstOrderODE {
  definition = "An ODE involving no derivative above first order."
 }

 HigherOrderODE {
  definition = "An ODE involving derivatives of order greater than one."
 }

 InitialValueProblem {
  definition = "An ODE problem with solution values or derivatives prescribed at an initial point."
 }

 BoundaryValueProblem {
  definition = "An ODE problem with conditions specified at more than one point."
 }

 LinearODE {
  definition = "An ODE linear in the dependent variable and its derivatives."
 }

 NonlinearODE {
  definition = "An ODE that is nonlinear in the dependent variable or its derivatives."
 }

 AutonomousODE {
  definition = "An ODE whose right-hand side does not explicitly depend on the independent variable."
 }

 GeneralSolution {
  definition = "A family of solutions containing the appropriate number of arbitrary constants."
 }

 ParticularSolution {
  definition = "A specific solution satisfying additional conditions."
 }

 ExistenceAndUniqueness {
  definition = "The question of whether a solution exists and whether it is uniquely determined by the data."
 }
}

RELATIONS {
 OrdinaryDifferentialEquation --is_child_of--> DynamicalSystems
 FirstOrderODE --is_type_of--> OrdinaryDifferentialEquation
 HigherOrderODE --is_type_of--> OrdinaryDifferentialEquation
 LinearODE --is_type_of--> OrdinaryDifferentialEquation
 NonlinearODE --is_type_of--> OrdinaryDifferentialEquation
 InitialValueProblem --constrains--> OrdinaryDifferentialEquation
 BoundaryValueProblem --constrains--> OrdinaryDifferentialEquation
 SeparableODE --supports--> SeparationOfVariables
 ExactODE --supports--> PotentialFunctionMethod
 IntegratingFactor --converts--> NonExactToExactEquation
 ConstantCoefficientODE --uses--> CharacteristicEquation
 VariationOfParameters --constructs--> ParticularSolution
 UndeterminedCoefficients --constructs--> ParticularSolution
 LaplaceTransformMethod --solves--> InitialValueProblem
 SystemOfODEs --maps_to--> StateSpaceForm
 StateSpaceForm --supports--> DynamicalSystemsAnalysis
 NumericalIntegration --approximates--> ODESolution
}

OPERATORS {
 GENERAL_ODE(F,t,y,derivatives) :=
  F(t,y,y',...,y^(n))=0

 FIRST_ORDER_NORMAL_FORM(f,t,y) :=
  y'=f(t,y)

 LINEAR_NTH_ORDER(a,g,t,y) :=
  y^(n)+a_{n-1}(t)y^(n-1)+...+a_0(t)y=g(t)

 SEPARABLE_FORM(f,g,t,y) :=
  dy/g(y)=f(t)dt

 EXACTNESS_TEST(M,N,x,y) :=
  partial M/partial y = partial N/partial x

 INTEGRATING_FACTOR_LINEAR_FIRST_ORDER(P,Q,x) :=
  mu(x)=exp(integral P(x)dx)

 CHARACTERISTIC_POLYNOMIAL(a_coefficients,r) :=
  r^n+a_{n-1}r^(n-1)+...+a_0=0

 STATE_SPACE_REDUCTION(y,y1,...,yn) :=
  convert_nth_order_ODE_to_first_order_system

 EULER_STEP(y_n,t_n,h,f) :=
  y_{n+1}=y_n+h*f(t_n,y_n)

 RK4_STEP(y_n,t_n,h,f) :=
  y_{n+1}=y_n+(h/6)*(k1+2k2+2k3+k4)

 EQUILIBRIUM_CONDITION(f,y_star) :=
  f(y_star)=0
}

DEFINITIONS {
 D1 = "ODE order is the highest derivative order appearing in the equation."
 D2 = "Linear ODEs are linear in the dependent variable and its derivatives."
 D3 = "Autonomous ODEs have no explicit independent-variable dependence."
 D4 = "Initial-value problems prescribe data at one initial point."
 D5 = "Boundary-value problems prescribe data at separated points."
 D6 = "Separable equations can be rearranged into functions of y and t on opposite sides."
 D7 = "Exact equations arise from total differentials of scalar potential functions."
 D8 = "Constant-coefficient linear ODEs reduce to algebra through characteristic equations."
 D9 = "Numerical methods approximate solutions when closed forms are unavailable or impractical."
 D10 = "Existence and uniqueness depend on regularity conditions on the differential equation."
}

AXIOMS {
 A1_SINGLE_INDEPENDENT_VARIABLE:
  OrdinaryDifferentialEquation involves derivatives with respect to one independent variable

 A2_ORDER:
  ODE order equals the highest derivative order present

 A3_INITIAL_DATA:
  An nth-order IVP generally requires n compatible initial conditions

 A4_LINEAR_SUPERPOSITION:
  Homogeneous linear ODE solutions satisfy superposition

 A5_EXISTENCE:
  Local existence requires suitable continuity assumptions

 A6_UNIQUENESS:
  Local uniqueness commonly follows from a Lipschitz condition in the dependent variable

 A7_STATE_REDUCTION:
  Any sufficiently regular nth-order ODE can be rewritten as a first-order system

 A8_NUMERICAL_APPROXIMATION:
  Numerical ODE methods produce approximations whose accuracy depends on step size, method order and stability
}

REASONING {

 R1_ODE_EXTRACTION {
  INPUT = differential_equation_problem
  IDENTIFY = independent_variable
  IDENTIFY = dependent_variable
  IDENTIFY = derivative_orders
  IDENTIFY = conditions
  RETURN = structured_ODE
 }

 R2_CLASSIFICATION {
  INPUT = structured_ODE
  CLASSIFY = firstOrder_or_higherOrder
  CLASSIFY = linear_or_nonlinear
  CLASSIFY = autonomous_or_nonautonomous
  CLASSIFY = homogeneous_or_nonhomogeneous
  RETURN = ODE_class
 }

 R3_FIRST_ORDER_METHOD_SELECTION {
  INPUT = first_order_ODE
  TEST = separable
  TEST = exact
  TEST = linear
  TEST = Bernoulli_or_Riccati structure
  RETURN = solution_method
 }

 R4_HIGHER_ORDER_LINEAR_REASONING {
  INPUT = linear_higher_order_ODE
  IF constant_coefficients
   SOLVE = characteristic_equation
  ELSE
   CONSIDER = reduction_of_order_variation_of_parameters_or_special methods
  RETURN = solution_structure
 }

 R5_IVP_REASONING {
  INPUT = general_solution_and_initial_conditions
  SOLVE = integration_constants
  RETURN = unique_candidate_solution
 }

 R6_BVP_REASONING {
  INPUT = ODE_and_boundary_conditions
  FORM = boundary_system
  SOLVE = constants_or_numerical_BVP
  RETURN = boundary_value_solution
 }

 R7_EXISTENCE_UNIQUENESS {
  INPUT = y'=f(t,y)
  CHECK = continuity
  CHECK = Lipschitz_condition
  RETURN = existence_uniqueness_status
 }

 R8_DYNAMICAL_REASONING {
  INPUT = autonomous_first_order_or_system
  FIND = equilibria
  ANALYSE = phase_line_or_linearisation
  RETURN = qualitative_dynamics
 }

 R9_NUMERICAL_REASONING {
  INPUT = ODE_initial_data_interval_tolerance
  SELECT = Euler_RungeKutta_adaptive_or_stiff solver
  INTEGRATE = trajectory
  ESTIMATE = error
  RETURN = numerical_solution
 }

 R10_VALIDATION {
  INPUT = analytical_or_numerical_solution
  SUBSTITUTE = into_ODE
  CHECK = initial_or_boundary_conditions
  CHECK = domain_and_singularities
  RETURN = validated_solution
 }
}

CONSTRAINTS {
 C1 = "ODE order and derivative notation must be interpreted correctly."
 C2 = "Division during separation can discard equilibrium solutions if zero factors are ignored."
 C3 = "Exactness tests depend on differentiability and domain assumptions."
 C4 = "Characteristic-equation methods apply directly to linear constant-coefficient ODEs."
 C5 = "Particular-solution ansatz methods must account for resonance."
 C6 = "Existence does not automatically imply uniqueness."
 C7 = "Boundary-value problems may have zero, one or multiple solutions."
 C8 = "Numerical step size must be small enough for required accuracy and stability."
 C9 = "Stiff problems may require implicit or specialised methods."
 C10 = "A symbolic expression is not validated until it satisfies both the differential equation and supplied conditions."
}

SEMANTIC_EQUIVALENCE {
 "OrdinaryDifferentialEquation" <=> "ODE"
 "InitialValueProblem" <=> "IVP"
 "BoundaryValueProblem" <=> "BVP"
 "ConstantCoefficientODE" <=> "LinearConstantCoefficientODE"
 "GeneralSolution" <=> "CompleteSolutionFamily"
 "StateSpaceForm" <=> "FirstOrderSystemRepresentation"
}

VALIDATION {
 V1 = "Independent and dependent variables are identified."
 V2 = "ODE order is correct."
 V3 = "Linear or nonlinear classification is correct."
 V4 = "Initial or boundary conditions are interpreted correctly."
 V5 = "Selected solution method matches the equation structure."
 V6 = "Integration constants are resolved consistently."
 V7 = "Existence and uniqueness claims include assumptions."
 V8 = "Numerical solver and tolerances are documented."
 V9 = "Candidate solution is substituted back into the ODE."
 V10 = "Initial or boundary conditions are explicitly verified."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 ODE_DEFINITION = 0.99
 CLASSIFICATION_REASONING = 0.99
 FIRST_ORDER_METHOD_REASONING = 0.99
 HIGHER_ORDER_REASONING = 0.99
 IVP_REASONING = 0.99
 BVP_REASONING = 0.98
 EXISTENCE_UNIQUENESS_REASONING = 0.99
 NUMERICAL_REASONING = 0.98
 VALIDATION_REASONING = 0.99

 POLICY =
  "Reduce confidence when equation structure, domain, initial or boundary data, regularity assumptions, stiffness, numerical tolerance or singularities are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  ODEReasoning,
  FirstOrderODEReasoning,
  HigherOrderODEReasoning,
  LinearODEReasoning,
  NonlinearODEReasoning,
  IVPReasoning,
  BVPReasoning,
  SeparationOfVariablesReasoning,
  ExactEquationReasoning,
  IntegratingFactorReasoning,
  CharacteristicEquationReasoning,
  VariationOfParametersReasoning,
  LaplaceTransformReasoning,
  ExistenceUniquenessReasoning,
  NumericalODERreasoning,
  DynamicalSystemsReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "ordinary differential equation" -> OrdinaryDifferentialEquation
  "ODE" -> OrdinaryDifferentialEquation
  "initial value problem" -> InitialValueProblem
  "IVP" -> InitialValueProblem
  "boundary value problem" -> BoundaryValueProblem
  "BVP" -> BoundaryValueProblem
  "integrating factor" -> IntegratingFactor
  "characteristic equation" -> CharacteristicEquation
  "variation of parameters" -> VariationOfParameters
  "Runge-Kutta" -> RungeKuttaMethod
 }

 INTERPRETATION_ORDER = [
  detect_ODE_context,
  identify variables_derivatives_order_conditions_and_domain,
  classify firstOrder_higherOrder_linear_nonlinear_autonomous_nonAutonomous_homogeneous_or_nonhomogeneous,
  select analytical_or_numerical method,
  compute general_or_particular solution,
  apply initial_or_boundary conditions,
  assess existence_uniqueness_stability_or_equilibria when relevant,
  validate by substitution_and_condition checking,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("ordinary differential equation")
  OR equation_contains_ordinary_derivatives_of_single_independent_variable
  THEN activate(OrdinaryDifferentialEquationOntology)

 E2:
  IF first_order_and_separable
  THEN apply separation_of_variables

 E3:
  IF first_order_linear
  THEN use integrating_factor

 E4:
  IF exact_differential_form
  THEN solve_via_potential_function

 E5:
  IF linear_constant_coefficient_higher_order
  THEN solve_characteristic_equation

 E6:
  IF nonhomogeneous_linear
  THEN consider undetermined_coefficients_or_variation_of_parameters

 E7:
  IF IVP_with_piecewise_or_impulsive forcing
  THEN consider Laplace_transform method

 E8:
  IF closed_form_unavailable
  THEN route to numerical_integration

 E9:
  IF autonomous_system
  THEN analyse equilibria_and_stability
}

RECURSION {
 ENTRY = OrdinaryDifferentialEquation

 EXPAND(OrdinaryDifferentialEquation) -> [
  FirstOrderODE,
  HigherOrderODE,
  InitialValueProblem,
  BoundaryValueProblem,
  LinearODE,
  NonlinearODE,
  AutonomousODE,
  NonautonomousODE,
  HomogeneousODE,
  NonhomogeneousODE,
  SeparableODE,
  ExactODE,
  IntegratingFactor,
  BernoulliEquation,
  RiccatiEquation,
  EulerCauchyEquation,
  ConstantCoefficientODE,
  CharacteristicEquation,
  GeneralSolution,
  ParticularSolution,
  VariationOfParameters,
  UndeterminedCoefficients,
  LaplaceTransformMethod,
  Existence,
  Uniqueness,
  PicardLindelofTheorem,
  LipschitzCondition,
  EquilibriumPoint,
  Stability,
  SystemOfODEs,
  StateSpaceForm,
  StiffODE,
  EulerMethod,
  RungeKuttaMethod,
  AdaptiveStepSize
 ]

 EXPAND(FirstOrderMethods) -> [
  SeparationOfVariables,
  ExactEquationMethod,
  IntegratingFactor,
  BernoulliEquation,
  RiccatiEquation
 ]

 EXPAND(HigherOrderMethods) -> [
  CharacteristicEquation,
  ReductionOfOrder,
  UndeterminedCoefficients,
  VariationOfParameters,
  LaplaceTransformMethod
 ]

 EXPAND(NumericalMethods) -> [
  EulerMethod,
  ImprovedEulerMethod,
  RungeKuttaMethod,
  AdaptiveRungeKutta,
  ImplicitMethods,
  StiffSolvers
 ]

 STOP_CONDITION =
  "Stop when the ODE class, conditions, analytical or numerical method, solution, existence-uniqueness status and validation are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Dynamical Systems"

 IMMEDIATE_CONTEXTS = [
  "Dynamical Systems Ontology",
  "Differential Equations Ontologies",
  "Numerical Analysis Ontologies",
  "Control Theory Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Dynamical Systems Ontology",
  "Dynamical Systems",
  "Differential Equations Ontologies",
  "Partial Differential Equations Ontologies",
  "Laplace Transform Ontology",
  "Linear Algebra Ontologies",
  "Stability Analysis Ontology",
  "Control Theory Ontologies",
  "Mathematical Modelling Ontologies",
  "Numerical Analysis Ontologies",
  "Initial Value Problem Ontologies",
  "Boundary Value Problem Ontologies",
  "Scientific Computing Ontologies"
 ]

 ROUTE_RULES = [
  "ODE -> Dynamical Systems Ontology for state-evolution semantics",
  "ODE -> Differential Equations for general differential-equation structure",
  "ODE -> Laplace Transform for transformed initial-value solutions",
  "ODE -> Linear Algebra for systems and eigenvalue methods",
  "ODE -> Stability Analysis for equilibrium and perturbation reasoning",
  "ODE -> Control Theory for state equations and system response",
  "ODE -> Mathematical Modelling for model formulation",
  "ODE -> Numerical Analysis for approximate integration",
  "ODE -> Boundary Value Problem Ontologies for separated boundary conditions",
  "ODE -> Scientific Computing for numerical implementation"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible ODE classes, methods or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve single-independent-variable semantics.",
  "Preserve order semantics.",
  "Preserve linear-versus-nonlinear distinction.",
  "Preserve IVP-versus-BVP distinction.",
  "Preserve analytical-versus-numerical distinction.",
  "Preserve existence-versus-uniqueness distinction.",
  "Preserve solution-validation semantics.",
  "Preserve machine-readable ODE semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "An ordinary differential equation relates an unknown function of one independent variable to one or more of its derivatives."

 CLASSIFICATION_SUMMARY =
  "ODEs are classified by order, linearity, autonomy and the form of supplied conditions."

 FIRST_ORDER_SUMMARY =
  "First-order equations may admit separation, exact-equation, integrating-factor or specialised nonlinear methods."

 HIGHER_ORDER_SUMMARY =
  "Linear higher-order equations can often be solved using characteristic roots, undetermined coefficients or variation of parameters."

 IVP_SUMMARY =
  "Initial-value problems prescribe data at one point and often have locally unique solutions under standard regularity conditions."

 BVP_SUMMARY =
  "Boundary-value problems impose conditions at multiple points and may have zero, one or multiple solutions."

 NUMERICAL_SUMMARY =
  "Euler, Runge-Kutta and adaptive or stiff methods approximate ODE trajectories when closed forms are unavailable."

 VALIDATION_SUMMARY =
  "A valid ODE solution must satisfy both the differential equation and the supplied initial or boundary conditions."
}

FLOW {
 INPUT
 -> detect_ordinary_differential_equation_context
 -> identify independent_variable_dependent_variable_derivative order_coefficients_forcing_domain_and_conditions
 -> classify firstOrder_higherOrder_linear_nonlinear_autonomous_nonautonomous_homogeneous_or_nonhomogeneous
 -> select separation_exact_integratingFactor_characteristic_variationOfParameters_undeterminedCoefficients_Laplace_or_numerical pathway
 -> compute general_solution_or_numerical trajectory
 -> apply initial_or_boundary conditions
 -> analyse existence_uniqueness_equilibria_stability_or_stiffness when relevant
 -> substitute solution_back_into_equation
 -> verify all conditions_and_domain restrictions
 -> route to dynamical_systems differential_equations Laplace linear_algebra stability control mathematical_modelling numerical_analysis IVP_BVP_or_scientific_computing ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Ordinary Differential Equation Ontology defines equations involving an unknown function of one independent variable and its derivatives. It supports first- and higher-order ODEs, initial- and boundary-value problems, linear and nonlinear equations, autonomous and nonautonomous systems, separable and exact equations, integrating factors, Bernoulli and Riccati equations, Euler-Cauchy equations, constant-coefficient equations, characteristic roots, complementary and particular solutions, variation of parameters, undetermined coefficients, Laplace-transform methods, existence and uniqueness, state-space reduction, equilibrium and stability analysis, stiffness and numerical methods including Euler and Runge-Kutta schemes."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-ORDINARY-DIFFERENTIAL-EQUATION-ONTOLOGY-V1"
}

}

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