Skip to main content

Stability Analysis Ontology

Control Theory
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 Stability Analysis Ontology within the Kireth Research Semantic Library. Stability analysis studies whether dynamical systems remain bounded, return toward equilibrium, diverge, oscillate, or preserve acceptable behaviour after perturbations. This ontology supports Lyapunov stability, asymptotic and exponential stability, marginal stability, BIBO stability, eigenvalue and pole analysis, Routh-Hurwitz criteria, Jury tests, Lyapunov functions, regions of attraction, input-to-state stability, small-gain reasoning, robust stability, local and global stability and relationships with control theory, dynamical systems, differential equations, feedback control, nonlinear control and robust control.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Stability Analysis Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Applied Mathematics"
 SPECIALISATION = "Control Theory / Stability Analysis"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/applied-mathematics-ontologies/control-theory/stability-analysis-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = StabilityAnalysis
 SYMBOLIC_FORMS = [
  "Re(lambda_i)<0",
  "|lambda_i|<1",
  "V(x)>0 and V_dot(x)<0",
  "bounded input -> bounded output"
 ]
 ENTITY_CLASS = DynamicalStabilityAssessmentFramework
 PRIMARY_CONTEXT = ControlTheory
 DEFINITION = "Stability analysis is the mathematical assessment of whether a dynamical system remains bounded or converges toward an equilibrium or desired behaviour after perturbation."
 SEMANTIC_ROLE = "Provides the machine-readable framework for equilibrium stability, eigenvalue tests, Lyapunov functions, BIBO stability, local and global stability, robustness, domains of attraction and perturbation response."
}

SCOPE {
 INCLUDE = [
  StabilityAnalysis,
  Stability,
  EquilibriumPoint,
  StableEquilibrium,
  UnstableEquilibrium,
  LyapunovStability,
  AsymptoticStability,
  ExponentialStability,
  MarginalStability,
  BIBOStability,
  InternalStability,
  ExternalStability,
  LocalStability,
  GlobalStability,
  UniformStability,
  InputToStateStability,
  ISS,
  UltimateBoundedness,
  RegionOfAttraction,
  BasinOfAttraction,
  LyapunovFunction,
  CandidateLyapunovFunction,
  LyapunovDerivative,
  DirectLyapunovMethod,
  IndirectLyapunovMethod,
  Linearisation,
  JacobianMatrix,
  Eigenvalue,
  Pole,
  CharacteristicPolynomial,
  HurwitzMatrix,
  RouthHurwitzCriterion,
  JuryStabilityCriterion,
  SchurStability,
  HurwitzStability,
  RootLocation,
  NyquistCriterion,
  GainMargin,
  PhaseMargin,
  SmallGainTheorem,
  RobustStability,
  ParametricStability,
  StructuralStability,
  Perturbation,
  Disturbance,
  LimitCycle,
  HopfBifurcation
 ]

 EXCLUDE_AS_PRIMARY = [
  PerformanceAnalysisWithoutStabilityQuestion,
  PureFrequencyResponseWithoutStabilityInterpretation,
  StaticOptimisationWithoutDynamics,
  NumericalConvergenceWithoutDynamicalSystemSemantics
 ]

 DISAMBIGUATION_RULE =
  "When the question concerns boundedness, convergence, divergence, equilibrium response or perturbation behaviour of a dynamical or control system, interpret the context as stability analysis."
}

CORE_CONCEPTS {

 StabilityAnalysis {
  definition = "The systematic mathematical assessment of dynamical-system stability."
 }

 EquilibriumPoint {
  definition = "A state at which the system remains if no perturbation is applied."
 }

 LyapunovStability {
  definition = "A property in which trajectories starting sufficiently near an equilibrium remain close to it."
 }

 AsymptoticStability {
  definition = "Lyapunov stability together with convergence to the equilibrium."
 }

 ExponentialStability {
  definition = "Convergence to equilibrium at a rate bounded by an exponential decay."
 }

 BIBOStability {
  definition = "The property that every bounded input produces a bounded output."
 }

 RegionOfAttraction {
  definition = "The set of initial conditions whose trajectories converge to a given asymptotically stable equilibrium."
 }

 LyapunovFunction {
  definition = "A scalar energy-like function used to certify stability through positivity and derivative conditions."
 }

 HurwitzStability {
  definition = "Continuous-time linear stability where all eigenvalues have strictly negative real parts."
 }

 SchurStability {
  definition = "Discrete-time linear stability where all eigenvalues lie strictly inside the unit circle."
 }

 RobustStability {
  definition = "Stability preserved for all admissible model uncertainties."
 }
}

RELATIONS {
 StabilityAnalysis --is_child_of--> ControlTheory
 StabilityAnalysis --applies_to--> DynamicalSystem
 EquilibriumPoint --may_have_property--> LyapunovStability
 AsymptoticStability --implies--> LyapunovStability
 ExponentialStability --implies--> AsymptoticStability
 LyapunovFunction --supports--> StabilityCertificate
 Linearisation --uses--> JacobianMatrix
 JacobianMatrix --has--> Eigenvalue
 Pole --determines--> LinearSystemStability
 RouthHurwitzCriterion --tests--> HurwitzStability
 JuryStabilityCriterion --tests--> SchurStability
 NyquistCriterion --tests--> ClosedLoopStability
 RegionOfAttraction --belongs_to--> StableEquilibrium
 SmallGainTheorem --supports--> RobustStability
 GainMargin --indicates--> RelativeRobustness
 PhaseMargin --indicates--> RelativeRobustness
 HopfBifurcation --may_create--> LimitCycle
}

OPERATORS {
 CONTINUOUS_LINEAR_STABLE(A) :=
  all eigenvalues lambda_i of A satisfy Re(lambda_i)<0

 DISCRETE_LINEAR_STABLE(A) :=
  all eigenvalues lambda_i of A satisfy |lambda_i|<1

 LYAPUNOV_POSITIVE_DEFINITE(V,x) :=
  V(0)=0
  AND V(x)>0 for x!=0

 LYAPUNOV_DERIVATIVE(V,f,x) :=
  grad(V)^T*f(x)

 ASYMPTOTIC_LYAPUNOV_TEST(V,Vdot) :=
  V positive_definite
  AND Vdot negative_definite

 STABILITY_LYAPUNOV_TEST(V,Vdot) :=
  V positive_definite
  AND Vdot negative_semidefinite

 BIBO_TEST(impulse_response) :=
  integral_0^infinity |h(t)| dt < infinity
  for compatible continuous-time LTI SISO interpretation

 ROUTH_HURWITZ(characteristic_polynomial) :=
  sign_structure_of_Routh_array_first_column

 JURY_TEST(characteristic_polynomial) :=
  discrete_time_polynomial_stability_conditions

 REGION_OF_ATTRACTION(V,c) :=
  {x : V(x)<=c}
  when invariant_and_inside_valid_domain

 ISS_TEST(V,x,u) :=
  Vdot <= -alpha(||x||)+sigma(||u||)

 ROBUST_STABILITY_CHECK(model_set) :=
  stable_for_all_admissible_models
}

DEFINITIONS {
 D1 = "Stability describes response to perturbations."
 D2 = "Lyapunov stability means nearby trajectories remain nearby."
 D3 = "Asymptotic stability adds convergence."
 D4 = "Exponential stability adds a quantified convergence rate."
 D5 = "Continuous-time LTI stability depends on eigenvalues lying in the open left half-plane."
 D6 = "Discrete-time LTI stability depends on eigenvalues lying inside the unit circle."
 D7 = "BIBO stability is an input-output property and differs from internal state stability."
 D8 = "Lyapunov functions can establish nonlinear stability without solving trajectories explicitly."
 D9 = "Regions of attraction describe where convergence guarantees hold."
 D10 = "Robust stability extends nominal stability across uncertainty."
}

AXIOMS {
 A1_EQUILIBRIUM_REFERENCE:
  Local stability is defined relative to an equilibrium or invariant set

 A2_PERTURBATION_RESPONSE:
  Stability concerns trajectory behaviour after perturbation

 A3_CONTINUOUS_LINEAR_CRITERION:
  Continuous-time LTI asymptotic stability requires eigenvalues with negative real parts

 A4_DISCRETE_LINEAR_CRITERION:
  Discrete-time LTI asymptotic stability requires eigenvalues inside the unit circle

 A5_LYAPUNOV_CERTIFICATE:
  A valid Lyapunov function can certify stability without explicit trajectory solution

 A6_BIBO_DISTINCTION:
  BIBO stability and internal stability are distinct concepts

 A7_LOCAL_GLOBAL_DISTINCTION:
  Local stability claims must not be promoted to global stability without additional evidence

 A8_ROBUSTNESS:
  Robust stability claims require stability across the declared uncertainty set
}

REASONING {

 R1_STABILITY_CONTEXT_EXTRACTION {
  INPUT = dynamical_or_control_system
  IDENTIFY = equilibrium_or_operating point
  IDENTIFY = continuous_or_discrete time
  IDENTIFY = linear_or_nonlinear dynamics
  IDENTIFY = nominal_or_uncertain model
  RETURN = stability_context
 }

 R2_LINEAR_CONTINUOUS_ANALYSIS {
  INPUT = A_or_characteristic_polynomial
  COMPUTE = eigenvalues_or_RouthHurwitz
  CLASSIFY = Hurwitz_stable_marginal_or_unstable
  RETURN = stability_profile
 }

 R3_LINEAR_DISCRETE_ANALYSIS {
  INPUT = A_or_characteristic_polynomial
  COMPUTE = eigenvalues_or_Jury test
  CLASSIFY = Schur_stable_marginal_or_unstable
  RETURN = stability_profile
 }

 R4_NONLINEAR_LOCAL_ANALYSIS {
  INPUT = nonlinear_system_and_equilibrium
  COMPUTE = Jacobian
  ANALYSE = eigenvalues
  IF hyperbolic
   INFER = local stability_from_linearisation
  ELSE
   ROUTE = Lyapunov_or_center manifold reasoning
  RETURN = local_profile
 }

 R5_LYAPUNOV_DIRECT_METHOD {
  INPUT = candidate_V
  CHECK = positive_definiteness
  COMPUTE = V_dot
  CHECK = negative_semidefinite_or_definite
  RETURN = Lyapunov_stability_certificate
 }

 R6_REGION_OF_ATTRACTION_REASONING {
  INPUT = Lyapunov_function_and_constraints
  FIND = invariant_sublevel set
  RETURN = certified_region_of_attraction
 }

 R7_BIBO_REASONING {
  INPUT = transfer_function_or_impulse response
  CHECK = pole_locations_and_impulse integrability
  RETURN = BIBO_status
 }

 R8_FREQUENCY_DOMAIN_STABILITY {
  INPUT = loop_transfer
  APPLY = Nyquist_or_gain_phase margin reasoning
  RETURN = closed_loop_frequency_stability profile
 }

 R9_ROBUST_STABILITY_REASONING {
  INPUT = uncertainty_model
  APPLY = smallGain_mu_interval_or_parameter sweep with certification
  RETURN = robust_stability_status
 }

 R10_STABILITY_VALIDATION {
  INPUT = claimed_stability_result
  CHECK = assumptions
  CHECK = domain
  CHECK = local_global_nominal_robust distinction
  RETURN = validated_stability_status
 }
}

CONSTRAINTS {
 C1 = "Continuous and discrete stability criteria must not be conflated."
 C2 = "Zero or imaginary-axis eigenvalues require special analysis."
 C3 = "Linearisation generally provides only local information."
 C4 = "A negative semidefinite Lyapunov derivative may require LaSalle-type reasoning for asymptotic conclusions."
 C5 = "BIBO stability and internal stability need separate interpretation."
 C6 = "Region-of-attraction estimates are often conservative."
 C7 = "Gain and phase margins are relative indicators, not complete multivariable robustness certificates."
 C8 = "Robust stability claims require a valid uncertainty description."
 C9 = "Numerical eigenvalue computations can be sensitive for ill-conditioned systems."
 C10 = "Simulation over selected initial conditions does not prove global stability."
}

SEMANTIC_EQUIVALENCE {
 "StabilityAnalysis" <=> "DynamicalStabilityAssessment"
 "LyapunovStability" <=> "StabilityInTheSenseOfLyapunov"
 "AsymptoticStability" <=> "ConvergentLyapunovStability"
 "HurwitzStability" <=> "ContinuousTimeEigenvalueStability"
 "SchurStability" <=> "DiscreteTimeUnitCircleStability"
 "RegionOfAttraction" <=> "BasinOfConvergence"
}

VALIDATION {
 V1 = "Equilibrium or invariant set is identified."
 V2 = "Continuous or discrete time is explicit."
 V3 = "Linear or nonlinear model class is explicit."
 V4 = "Eigenvalue or pole criterion matches the time domain."
 V5 = "Lyapunov candidate properties are verified."
 V6 = "Local and global claims are distinguished."
 V7 = "BIBO and internal stability are distinguished."
 V8 = "Uncertainty set is documented for robust claims."
 V9 = "Numerical conditioning is considered where relevant."
 V10 = "Simulation evidence is not confused with proof."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 STABILITY_ANALYSIS_DEFINITION = 0.99
 CONTINUOUS_LINEAR_REASONING = 0.99
 DISCRETE_LINEAR_REASONING = 0.99
 NONLINEAR_LOCAL_REASONING = 0.98
 LYAPUNOV_REASONING = 0.99
 REGION_OF_ATTRACTION_REASONING = 0.97
 BIBO_REASONING = 0.98
 FREQUENCY_STABILITY_REASONING = 0.98
 ROBUST_STABILITY_REASONING = 0.98

 POLICY =
  "Reduce confidence when equilibrium, time domain, model class, Lyapunov candidate, uncertainty description, linearisation validity or robustness assumptions are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  StabilityAnalysisReasoning,
  LyapunovStabilityReasoning,
  AsymptoticStabilityReasoning,
  ExponentialStabilityReasoning,
  BIBOStabilityReasoning,
  LinearStabilityReasoning,
  NonlinearStabilityReasoning,
  RouthHurwitzReasoning,
  JuryStabilityReasoning,
  NyquistStabilityReasoning,
  RegionOfAttractionReasoning,
  InputToStateStabilityReasoning,
  RobustStabilityReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "stability analysis" -> StabilityAnalysis
  "Lyapunov stability" -> LyapunovStability
  "asymptotic stability" -> AsymptoticStability
  "exponential stability" -> ExponentialStability
  "BIBO stability" -> BIBOStability
  "Routh-Hurwitz" -> RouthHurwitzCriterion
  "Jury test" -> JuryStabilityCriterion
  "region of attraction" -> RegionOfAttraction
  "input-to-state stability" -> InputToStateStability
  "robust stability" -> RobustStability
 }

 INTERPRETATION_ORDER = [
  detect_stability_analysis_context,
  identify equilibrium_time domain_model class_inputs_disturbances_and_uncertainty,
  classify linear_nonlinear_continuous_discrete_internal_BIBO_local_global_or_robust stability question,
  select eigenvalue_RouthHurwitz_Jury_Lyapunov_Nyquist_smallGain_or_regionOfAttraction pathway,
  compute_or_assess stability conditions,
  verify assumptions_and_domain_of_validity,
  classify stable_asymptotically stable_exponentially stable_marginal_or_unstable status,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("stability analysis")
  OR asks_whether_system_remains_bounded_or_converges
  THEN activate(StabilityAnalysisOntology)

 E2:
  IF continuous_time_LTI
  THEN inspect eigenvalues_real_parts_or_RouthHurwitz

 E3:
  IF discrete_time_LTI
  THEN inspect eigenvalue_magnitudes_or_Jury criterion

 E4:
  IF nonlinear_system
  THEN consider linearisation_and_Lyapunov methods

 E5:
  IF V_positive_definite_and_Vdot_negative_definite
  THEN infer asymptotic_stability on declared domain

 E6:
  IF V_positive_definite_and_Vdot_negative_semidefinite
  THEN infer Lyapunov_stability_and_consider LaSalle for convergence

 E7:
  IF transfer_function_input_output question
  THEN consider BIBO_stability

 E8:
  IF model_uncertainty_material
  THEN route to robust_stability analysis

 E9:
  IF only_simulation evidence_available
  THEN report empirical_stability_observation_not_proof
}

RECURSION {
 ENTRY = StabilityAnalysis

 EXPAND(StabilityAnalysis) -> [
  Stability,
  EquilibriumPoint,
  StableEquilibrium,
  UnstableEquilibrium,
  LyapunovStability,
  AsymptoticStability,
  ExponentialStability,
  MarginalStability,
  BIBOStability,
  InternalStability,
  ExternalStability,
  LocalStability,
  GlobalStability,
  UniformStability,
  InputToStateStability,
  ISS,
  UltimateBoundedness,
  RegionOfAttraction,
  BasinOfAttraction,
  LyapunovFunction,
  CandidateLyapunovFunction,
  LyapunovDerivative,
  DirectLyapunovMethod,
  IndirectLyapunovMethod,
  Linearisation,
  JacobianMatrix,
  Eigenvalue,
  Pole,
  CharacteristicPolynomial,
  HurwitzMatrix,
  RouthHurwitzCriterion,
  JuryStabilityCriterion,
  SchurStability,
  HurwitzStability,
  RootLocation,
  NyquistCriterion,
  GainMargin,
  PhaseMargin,
  SmallGainTheorem,
  RobustStability,
  ParametricStability,
  StructuralStability,
  Perturbation,
  Disturbance,
  LimitCycle,
  HopfBifurcation
 ]

 EXPAND(LinearStabilityMethods) -> [
  EigenvalueAnalysis,
  PoleAnalysis,
  CharacteristicPolynomial,
  RouthHurwitzCriterion,
  JuryStabilityCriterion,
  NyquistCriterion
 ]

 EXPAND(NonlinearStabilityMethods) -> [
  DirectLyapunovMethod,
  IndirectLyapunovMethod,
  LaSalleInvariancePrinciple,
  RegionOfAttraction,
  InputToStateStability
 ]

 EXPAND(RobustStabilityMethods) -> [
  SmallGainTheorem,
  GainMargin,
  PhaseMargin,
  MuAnalysis,
  ParametricStability
 ]

 STOP_CONDITION =
  "Stop when the equilibrium, model class, time domain, stability definition, analysis method, assumptions, certified domain and final stability status are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Control Theory"

 IMMEDIATE_CONTEXTS = [
  "Control Theory Ontology",
  "Feedback Control Ontology",
  "State-Space Control Ontology",
  "Robust Control Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Control Theory Ontology",
  "Control Theory",
  "Feedback Control Ontology",
  "Control System Ontology",
  "State-Space Control Ontology",
  "Robust Control Ontology",
  "Dynamical Systems Ontologies",
  "Differential Equations Ontologies",
  "Linear Algebra Ontologies",
  "Nonlinear Control Ontologies",
  "Frequency Response Ontologies",
  "Bifurcation Theory Ontologies",
  "Numerical Analysis Ontologies"
 ]

 ROUTE_RULES = [
  "Stability Analysis -> Control Theory Ontology for core control semantics",
  "Stability Analysis -> Feedback Control for closed-loop stability",
  "Stability Analysis -> State-Space Control for eigenvalue and Lyapunov analysis",
  "Stability Analysis -> Robust Control for uncertainty-aware stability",
  "Stability Analysis -> Dynamical Systems for equilibria, invariant sets and trajectories",
  "Stability Analysis -> Differential Equations for continuous dynamics",
  "Stability Analysis -> Linear Algebra for eigenvalues and matrix tests",
  "Stability Analysis -> Nonlinear Control for Lyapunov and ISS reasoning",
  "Stability Analysis -> Frequency Response for Nyquist and margins",
  "Stability Analysis -> Bifurcation Theory for loss-of-stability transitions"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible stability notions, tests or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve continuous-versus-discrete stability distinctions.",
  "Preserve local-versus-global distinction.",
  "Preserve Lyapunov-versus-BIBO distinction.",
  "Preserve nominal-versus-robust stability distinction.",
  "Preserve asymptotic-versus-exponential distinction.",
  "Preserve region-of-attraction semantics.",
  "Preserve proof-versus-simulation distinction.",
  "Preserve machine-readable stability-analysis semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Stability analysis determines whether a dynamical or control system remains bounded or converges after perturbation."

 LYAPUNOV_SUMMARY =
  "Lyapunov stability means sufficiently small perturbations produce trajectories that remain sufficiently close."

 ASYMPTOTIC_SUMMARY =
  "Asymptotic stability adds convergence toward the equilibrium."

 EXPONENTIAL_SUMMARY =
  "Exponential stability bounds the convergence rate by exponential decay."

 LINEAR_SUMMARY =
  "Continuous-time LTI systems are asymptotically stable when all poles lie in the open left half-plane; discrete-time LTI systems require poles inside the unit circle."

 BIBO_SUMMARY =
  "BIBO stability concerns bounded input producing bounded output and is distinct from internal state stability."

 LYAPUNOV_FUNCTION_SUMMARY =
  "Lyapunov functions provide energy-like certificates for nonlinear stability."

 REGION_SUMMARY =
  "A region of attraction identifies initial conditions guaranteed to converge to an equilibrium."

 ROBUST_SUMMARY =
  "Robust stability requires stability across the entire declared uncertainty set."
}

FLOW {
 INPUT
 -> detect_stability_analysis_context
 -> identify equilibrium_or_operating_point_states_inputs_outputs_disturbances_time_domain_model class_and_uncertainty
 -> classify local_global_internal_BIBO_nominal_robust_asymptotic_exponential_or_inputToState stability question
 -> select eigenvalue_pole_RouthHurwitz_Jury_Lyapunov_linearisation_Nyquist_smallGain_or_regionOfAttraction method
 -> compute_or_assess stability conditions
 -> verify assumptions_and_domain
 -> if_nonlinear estimate_region_of_attraction_or_invariant set when relevant
 -> if_uncertain evaluate robust_stability
 -> classify stable_asymptoticallyStable_exponentiallyStable_marginallyStable_or_unstable status
 -> route to control_theory_ontology feedback_control control_system state_space robust_control dynamical_systems differential_equations linear_algebra nonlinear_control frequency_response bifurcation_theory_or_numerical_analysis ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Stability Analysis Ontology defines mathematical reasoning about boundedness and convergence in dynamical and control systems. It supports equilibria, Lyapunov, asymptotic and exponential stability, marginal and BIBO stability, local and global stability, input-to-state stability, regions of attraction, Lyapunov functions, direct and indirect Lyapunov methods, linearisation, Jacobians, eigenvalues and poles, Routh-Hurwitz and Jury tests, Nyquist reasoning, gain and phase margins, robust stability, small-gain reasoning, perturbations, limit cycles and stability-loss phenomena such as Hopf bifurcation."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-APPLIED-MATHEMATICS-STABILITY-ANALYSIS-ONTOLOGY-V1"
}

}

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