Skip to main content

Geodesic Ontology

Differential Geometry
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 mathematical ontology of geodesics within the Kireth Research Semantic Library. A geodesic is a curve that generalises the notion of a straight line to curved spaces and manifolds. In differential geometry, geodesics are characterised by zero covariant acceleration with respect to a connection and, in Riemannian geometry, are locally length-stationary curves. This ontology supports affine parameters, geodesic equations, Christoffel symbols, exponential maps, completeness, geodesic distance, minimizing geodesics, Jacobi fields, geodesic deviation and relationships with curves, manifolds, metrics, connections and curvature.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Geodesic Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Geometry"
 SPECIALISATION = "Differential Geometry / Geodesics"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/differential-geometry/geodesic-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Geodesic
 SYMBOLIC_FORMS = [
  "nabla_gamma_dot(gamma_dot)=0",
  "d2x^k/dt^2 + Gamma^k_ij dx^i/dt dx^j/dt = 0"
 ]
 ENTITY_CLASS = DistinguishedCurveOnManifold
 PRIMARY_CONTEXT = DifferentialGeometry
 DEFINITION = "A geodesic is a curve whose tangent vector is parallel transported along itself, equivalently a curve with zero covariant acceleration relative to a chosen connection."
 SEMANTIC_ROLE = "Provides the straightest-curve framework for manifolds, linking connections, Riemannian metrics, local distance, exponential maps, completeness, curvature and geodesic deviation."
}

SCOPE {
 INCLUDE = [
  Geodesic,
  AffinelyParametrisedGeodesic,
  UnitSpeedGeodesic,
  GeodesicEquation,
  Connection,
  LeviCivitaConnection,
  ChristoffelSymbol,
  InitialValueProblem,
  ExponentialMap,
  GeodesicDistance,
  MinimizingGeodesic,
  LocallyMinimizingGeodesic,
  GeodesicCompleteness,
  AffineParameter,
  JacobiField,
  GeodesicDeviation,
  ConjugatePoint,
  CutLocus,
  NormalCoordinates,
  GeodesicFlow
 ]

 EXCLUDE_AS_PRIMARY = [
  ArbitraryShortestPathInDiscreteGraph,
  GreatCircleWithoutGeometricContext,
  StraightLineInEuclideanSpaceUnlessUsedAsGeodesicExample,
  PhysicalParticleWorldlineWithoutMathematicalGeometricAbstraction
 ]

 DISAMBIGUATION_RULE =
  "When geodesic occurs with manifolds, connections, metrics, Christoffel symbols, covariant acceleration, exponential maps, local minimisation or curvature, interpret it as a differential-geometric geodesic."
}

CORE_CONCEPTS {

 Geodesic {
  definition = "A curve gamma satisfying nabla_gamma_dot(gamma_dot)=0."
 }

 AffineParameter {
  definition = "A parameter for which the geodesic equation has zero covariant acceleration without an additional tangent-proportional term."
 }

 UnitSpeedGeodesic {
  definition = "A geodesic parametrised by arc length so that |gamma_dot|=1."
 }

 GeodesicEquation {
  local_form = "d2x^k/dt^2 + Gamma^k_ij dx^i/dt dx^j/dt = 0"
 }

 ChristoffelSymbol {
  symbol = "Gamma^k_ij"
  definition = "Coordinate coefficients of a connection."
 }

 ExponentialMap {
  symbol = "exp_p"
  definition = "The map sending a tangent vector v in T_pM to gamma_v(1), where gamma_v is the geodesic with gamma_v(0)=p and gamma_v'(0)=v."
 }

 GeodesicDistance {
  definition = "The infimum of lengths of curves joining two points, often realised locally by a minimizing geodesic."
 }

 MinimizingGeodesic {
  definition = "A geodesic segment whose length equals the distance between its endpoints."
 }

 GeodesicCompleteness {
  definition = "The property that every maximal geodesic extends for all real affine parameter values."
 }

 JacobiField {
  definition = "A vector field along a geodesic satisfying the Jacobi equation and describing infinitesimal geodesic variation."
 }

 ConjugatePoint {
  definition = "A point along a geodesic where a nontrivial Jacobi field vanishes at both endpoints."

 }

 CutLocus {
  definition = "The set where minimizing geodesics from a point cease to remain uniquely minimizing."
 }
}

RELATIONS {
 Geodesic --is_special_case_of--> Curve
 Geodesic --lies_on--> SmoothManifold
 Geodesic --is_defined_by--> Connection
 RiemannianMetric --determines--> LeviCivitaConnection
 LeviCivitaConnection --defines--> Geodesic
 AffinelyParametrisedGeodesic --has--> AffineParameter
 UnitSpeedGeodesic --is_special_case_of--> AffinelyParametrisedGeodesic
 Geodesic --solves--> GeodesicEquation
 GeodesicEquation --uses--> ChristoffelSymbol
 InitialPositionAndVelocity --determine_locally--> Geodesic
 ExponentialMap --is_built_from--> Geodesic
 GeodesicDistance --can_be_realised_by--> MinimizingGeodesic
 Curvature --influences--> GeodesicDeviation
 JacobiField --describes--> GeodesicDeviation
 ConjugatePoint --is_detected_by--> JacobiField
 CutLocus --relates_to--> FailureOfUniqueMinimization
 GeodesicCompleteness --relates_to--> ExponentialMapDomain
}

OPERATORS {
 COVARIANT_ACCELERATION(gamma) :=
  nabla_gamma_dot(gamma_dot)

 IS_GEODESIC(gamma,nabla) :=
  nabla_gamma_dot(gamma_dot)==0

 GEODESIC_EQUATION(x,Gamma) :=
  d2x^k/dt^2 + Gamma^k_ij*(dx^i/dt)*(dx^j/dt)=0

 GEODESIC_INITIAL_VALUE(p,v) :=
  solve geodesic_equation with gamma(0)=p and gamma_dot(0)=v

 EXPONENTIAL_MAP(p,v) :=
  gamma_v(1)
  WHEN geodesic_exists_to_parameter_1

 GEODESIC_LENGTH(gamma,g) :=
  integral sqrt(g(gamma_dot,gamma_dot)) dt

 GEODESIC_DISTANCE(p,q,g) :=
  infimum_of_lengths_of_piecewise_smooth_curves_from_p_to_q

 JACOBI_EQUATION(J,gamma,R) :=
  D2J/dt2 + R(J,gamma_dot)gamma_dot = 0

 PARALLEL_TRANSPORT_ALONG_GEODESIC(V,gamma) :=
  solve nabla_gamma_dot(V)=0

 REPARAMETERISE_AFFINELY(gamma,a,b,t) :=
  gamma(a*t+b)
  WHEN a!=0
}

DEFINITIONS {
 D1 = "A geodesic has zero covariant acceleration."
 D2 = "Geodesics depend on a connection."
 D3 = "For a Riemannian manifold, the Levi-Civita connection determines the metric geodesics."
 D4 = "Geodesics are locally straightest curves."
 D5 = "Riemannian geodesics are locally stationary for the energy functional."
 D6 = "Sufficiently short geodesic segments are locally minimizing."
 D7 = "Not every geodesic segment is globally minimizing."
 D8 = "The exponential map is generated by geodesics from a fixed point."
 D9 = "Jacobi fields describe infinitesimal variations through geodesics."
 D10 = "Geodesic completeness means geodesics extend for all real affine parameter values."
}

AXIOMS {
 A1_GEODESIC:
  nabla_gamma_dot(gamma_dot)=0

 A2_LOCAL_EXISTENCE:
  Given a smooth connection and initial data (p,v), a unique local geodesic exists

 A3_AFFINE_REPARAMETERISATION:
  Affine reparameterisations of an affinely parametrised geodesic remain affine geodesics

 A4_METRIC_COMPATIBILITY:
  For LeviCivitaConnection, geodesic speed is constant along an affine geodesic

 A5_LOCAL_MINIMIZATION:
  Sufficiently short Riemannian geodesic segments minimise distance locally

 A6_EXPONENTIAL_MAP:
  exp_p(v)=gamma_v(1) when defined

 A7_JACOBI:
  Geodesic variation fields satisfy the Jacobi equation

 A8_CURVATURE_DEVIATION:
  Relative geodesic acceleration is governed by curvature
}

REASONING {

 R1_GEODESIC_TEST {
  INPUT = [gamma,connection]
  COMPUTE = covariant_acceleration
  IF zero
   RETURN Geodesic
  ELSE
   RETURN NonGeodesic
 }

 R2_COORDINATE_GEODESIC {
  INPUT = metric_or_connection_and_coordinates
  COMPUTE = Christoffel_symbols_if_needed
  BUILD = coupled_second_order_ODE_system
  SOLVE = with_initial_position_and_velocity
  RETURN = geodesic
 }

 R3_UNIT_SPEED {
  INPUT = geodesic_and_metric
  COMPUTE = speed
  IF constant_nonzero
   REPARAMETERISE = by_arc_length
   RETURN = unit_speed_geodesic
 }

 R4_EXPONENTIAL_MAP {
  INPUT = [p,v]
  SOLVE = geodesic_initial_value_problem
  EVALUATE = gamma_v(1)
  RETURN = exp_p(v)
 }

 R5_MINIMIZING_STATUS {
  INPUT = geodesic_segment
  COMPARE = geodesic_length_with_geodesic_distance
  CHECK = conjugate_points_and_cut_locus_when_global_issue
  RETURN = locally_minimizing_globally_minimizing_or_nonminimizing
 }

 R6_GEODESIC_COMPLETENESS {
  INPUT = manifold_with_connection_or_metric
  TEST = extension_of_all_maximal_geodesics_to_all_real_parameters
  RETURN = CompleteOrIncomplete
 }

 R7_JACOBI_FIELD {
  INPUT = geodesic_and_curvature
  SOLVE = Jacobi_equation
  RETURN = variation_field
 }

 R8_CONJUGATE_POINT {
  INPUT = geodesic_segment
  SEARCH = nonzero_Jacobi_field_vanishing_at_both_endpoints
  IF exists
   RETURN ConjugatePointDetected
  ELSE
   RETURN NoConjugatePointDetectedOnSegment
 }

 R9_NORMAL_COORDINATES {
  INPUT = point_p
  USE = exponential_map
  DEFINE = coordinates_from_tangent_space_neighbourhood
  RETURN = normal_coordinate_chart
 }
}

CONSTRAINTS {
 C1 = "Geodesic status depends on the chosen connection."
 C2 = "Christoffel symbols are coordinate dependent and not tensors."
 C3 = "Geodesics are not necessarily globally shortest curves."
 C4 = "Affine parameterisation must be distinguished from arbitrary reparameterisation."
 C5 = "The exponential map may not be globally injective or globally defined."
 C6 = "Minimizing behaviour can fail at conjugate points or the cut locus."
 C7 = "Geodesic completeness is a global property."
 C8 = "Unit-speed parameterisation assumes a Riemannian or otherwise suitable metric structure."
 C9 = "Jacobi-field sign conventions must match the chosen curvature convention."
}

SEMANTIC_EQUIVALENCE {
 "Geodesic" <=> "ZeroCovariantAccelerationCurve"
 "AffineGeodesic" <=> "GeodesicWithAffineParameter"
 "UnitSpeedGeodesic" <=> "ArcLengthParametrisedGeodesic"
 "ExponentialMap" <=> "GeodesicEndpointMapFromTangentSpace"
 "JacobiField" <=> "InfinitesimalGeodesicVariationField"
 "GeodesicCompleteness" <=> "AllGeodesicsExtendForAllAffineTime"
}

VALIDATION {
 V1 = "Covariant acceleration vanishes."
 V2 = "Initial data belong to the correct tangent space."
 V3 = "Coordinate geodesic equation uses correct Christoffel symbols."
 V4 = "Affine reparameterisation is linear in parameter."
 V5 = "Unit-speed geodesic has constant norm one."
 V6 = "Exponential map uses geodesic with prescribed initial tangent."
 V7 = "Global minimizing claims account for cut locus and conjugate points."
 V8 = "Jacobi equation is consistent with curvature sign convention."
 V9 = "Completeness claims concern maximal geodesic extension."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 GEODESIC_DEFINITION = 0.99
 GEODESIC_EQUATION_REASONING = 0.99
 EXPONENTIAL_MAP_REASONING = 0.99
 MINIMIZATION_REASONING = 0.97
 COMPLETENESS_REASONING = 0.98
 JACOBI_REASONING = 0.98
 CONJUGATE_POINT_REASONING = 0.97

 POLICY =
  "Reduce confidence when connection, metric, parameterisation, curvature convention, global topology or minimizing-versus-geodesic intent are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  GeodesicReasoning,
  DifferentialGeometryReasoning,
  ConnectionReasoning,
  MetricReasoning,
  GeodesicEquationReasoning,
  ExponentialMapReasoning,
  DistanceReasoning,
  CompletenessReasoning,
  JacobiFieldReasoning,
  GeodesicDeviationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "geodesic" -> Geodesic
  "geodesic curve" -> Geodesic
  "geodesic equation" -> GeodesicEquation
  "affine parameter" -> AffineParameter
  "exponential map" -> ExponentialMap
  "geodesic distance" -> GeodesicDistance
  "minimizing geodesic" -> MinimizingGeodesic
  "geodesic completeness" -> GeodesicCompleteness
  "Jacobi field" -> JacobiField
  "conjugate point" -> ConjugatePoint
 }

 INTERPRETATION_ORDER = [
  detect_geodesic_context,
  identify manifold_connection_metric_and_coordinates,
  identify parameterisation_and_initial_data,
  determine geodesic_equation_exponential_map_distance_minimization_completeness_or_Jacobi goal,
  perform covariant_or_coordinate geodesic reasoning,
  verify parameter_connection_metric_and_globality constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("geodesic")
  AND differential_geometry_context
  THEN activate(GeodesicOntology)

 E2:
  IF geodesic_test_requested
  THEN compute nabla_gamma_dot(gamma_dot)

 E3:
  IF coordinate_geodesic_requested
  THEN compute Christoffel_symbols
  AND solve coupled_geodesic_ODEs

 E4:
  IF exponential_map_requested
  THEN solve geodesic_initial_value_problem_from_p_with_velocity_v
  AND evaluate at parameter_1

 E5:
  IF minimizing_geodesic_requested
  THEN distinguish local_and_global_minimization

 E6:
  IF completeness_requested
  THEN test extension_of_all_maximal_geodesics

 E7:
  IF Jacobi_field_requested
  THEN solve Jacobi_equation_with_matching_curvature_convention

 E8:
  IF normal_coordinates_requested
  THEN use exponential_map_near_base_point
}

RECURSION {
 ENTRY = Geodesic

 EXPAND(Geodesic) -> [
  AffinelyParametrisedGeodesic,
  UnitSpeedGeodesic,
  GeodesicEquation,
  Connection,
  LeviCivitaConnection,
  ChristoffelSymbol,
  InitialValueProblem,
  ExponentialMap,
  GeodesicDistance,
  MinimizingGeodesic,
  GeodesicCompleteness,
  JacobiField,
  ConjugatePoint,
  CutLocus,
  NormalCoordinates,
  GeodesicFlow
 ]

 EXPAND(GeodesicEquation) -> [
  Coordinates,
  ChristoffelSymbols,
  InitialPosition,
  InitialVelocity,
  SecondOrderODE
 ]

 EXPAND(ExponentialMap) -> [
  TangentSpace,
  InitialVelocity,
  NormalCoordinates,
  InjectivityRadius,
  CutLocus
 ]

 EXPAND(JacobiField) -> [
  CurvatureTensor,
  GeodesicVariation,
  ConjugatePoint,
  GeodesicDeviation
 ]

 STOP_CONDITION =
  "Stop when the geodesic equation, initial-value solution, affine parameter, exponential-map image, minimizing status, completeness, Jacobi field or conjugate-point property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Differential Geometry"

 IMMEDIATE_CONTEXTS = [
  "Differential Geometry Ontology",
  "Curve Ontology",
  "Curvature Ontology",
  "Riemannian Geometry Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Differential Geometry",
  "Differential Geometry Ontology",
  "Curve Ontology",
  "Surface Ontology",
  "Curvature Ontology",
  "Smooth Manifold Ontologies",
  "Riemannian Geometry Ontologies",
  "Vector Geometry Ontology",
  "Calculus & Analysis Ontologies",
  "Differential Equation Ontologies"
 ]

 ROUTE_RULES = [
  "Geodesic -> Differential Geometry Ontology for parent smooth-geometry semantics",
  "Geodesic -> Curve for parameterised-curve structure",
  "Geodesic -> Curvature for Jacobi fields and geodesic deviation",
  "Geodesic -> Riemannian Geometry for metric geodesics and distance",
  "Geodesic -> Manifold Ontologies for tangent-space and exponential-map semantics",
  "Geodesic -> Calculus and Differential Equations for solving geodesic ODEs",
  "Geodesic -> Vector Geometry for tangent vectors and parallel transport"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible geodesic structures, global properties or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve zero-covariant-acceleration semantics.",
  "Preserve connection dependence.",
  "Preserve affine-parameter distinction.",
  "Preserve local-versus-global minimization distinction.",
  "Preserve exponential-map construction.",
  "Preserve completeness as a global extension property.",
  "Preserve curvature dependence of Jacobi fields.",
  "Preserve machine-readable geodesic semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A geodesic is a curve whose tangent vector is parallel transported along itself, equivalently one with zero covariant acceleration."

 COVARIANT_SUMMARY =
  "nabla_gamma_dot(gamma_dot)=0"

 COORDINATE_SUMMARY =
  "d2x^k/dt^2 + Gamma^k_ij dx^i/dt dx^j/dt = 0"

 EXPONENTIAL_MAP_SUMMARY =
  "exp_p(v)=gamma_v(1) where gamma_v(0)=p and gamma_v'(0)=v."

 MINIMIZATION_SUMMARY =
  "Sufficiently short Riemannian geodesic segments are locally minimizing, but geodesics need not remain globally minimizing."

 COMPLETENESS_SUMMARY =
  "Geodesic completeness means every maximal geodesic extends for all real affine parameter values."

 JACOBI_SUMMARY =
  "Jacobi fields describe infinitesimal variation and relative deviation of neighbouring geodesics."
}

FLOW {
 INPUT
 -> detect_geodesic_context
 -> identify manifold_connection_metric_coordinates_and_parameter
 -> identify initial_position_initial_velocity_and_target_property
 -> classify geodesic_equation_exponential_map_distance_minimization_completeness_or_Jacobi goal
 -> perform covariant_coordinate_variational_or_global reasoning
 -> verify affine_parameter_connection_metric_curvature_and_globality constraints
 -> route to differential_geometry curve curvature riemannian manifold vector calculus_or_differential_equation ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Geodesic Ontology defines the straightest curves of differential geometry through the condition of zero covariant acceleration. It supports affine and unit-speed parameterisations, coordinate geodesic equations, Christoffel symbols, exponential maps, geodesic distance, local and global minimisation, completeness, Jacobi fields, conjugate points, cut loci and curvature-driven geodesic deviation."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-GEOMETRY-GEODESIC-ONTOLOGY-V1"
}

}

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