Skip to main content

Curvature 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 curvature within the Kireth Research Semantic Library. Curvature measures how geometric objects deviate from local flatness or straightness. In differential geometry it appears as curvature of curves, normal and principal curvature of surfaces, Gaussian and mean curvature, sectional curvature, the Riemann curvature tensor, Ricci curvature and scalar curvature. This ontology supports intrinsic and extrinsic curvature, sign conventions, contractions, shape operators, geodesic deviation, local flatness and relationships with curves, surfaces, manifolds, Riemannian metrics and connections.

FLOW_ALGEBRA_RECORD {

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

IDENTITY {
 PRIMARY_ENTITY = Curvature
 SYMBOLIC_FORMS = [
  "kappa",
  "K",
  "H",
  "R(X,Y)Z",
  "Ric",
  "Scal"
 ]
 ENTITY_CLASS = GeometricDeviationMeasure
 PRIMARY_CONTEXT = DifferentialGeometry
 DEFINITION = "Curvature is a geometric measure of deviation from straightness or flatness, expressed differently for curves, surfaces and higher-dimensional manifolds."
 SEMANTIC_ROLE = "Provides the central bending and nonflatness framework for curve curvature, surface curvature, Riemannian curvature, contractions, geodesic deviation and intrinsic-versus-extrinsic reasoning."
}

SCOPE {
 INCLUDE = [
  Curvature,
  CurveCurvature,
  SignedCurvature,
  NormalCurvature,
  PrincipalCurvature,
  GaussianCurvature,
  MeanCurvature,
  SectionalCurvature,
  RiemannCurvature,
  RicciCurvature,
  ScalarCurvature,
  CurvatureTensor,
  ShapeOperator,
  SecondFundamentalForm,
  GeodesicCurvature,
  ExtrinsicCurvature,
  IntrinsicCurvature,
  Flatness,
  GeodesicDeviation,
  CurvatureConvention
 ]

 EXCLUDE_AS_PRIMARY = [
  AlgebraicCurvatureWithoutGeometricContext,
  StatisticalCurvature,
  PhysicalSpacetimeCurvatureWithoutMathematicalAbstraction,
  GraphCurvatureUnlessExplicit
 ]

 DISAMBIGUATION_RULE =
  "When curvature occurs with curves, surfaces, manifolds, geodesics, metrics, shape operators, Riemann tensors, Ricci tensors or Gaussian curvature, interpret it as differential-geometric curvature."
}

CORE_CONCEPTS {

 Curvature {
  definition = "A measure of how a geometric object departs from a locally straight or flat model."
 }

 CurveCurvature {
  symbol = "kappa"
  definition = "For a regular curve, the rate of change of unit tangent with respect to arc length."
  relation = "kappa=|dT/ds|"
 }

 SignedCurvature {
  definition = "An oriented curvature for planar curves, carrying a sign determined by orientation convention."
 }

 NormalCurvature {
  definition = "Curvature of a surface in a specified tangent direction measured in the normal section."
 }

 PrincipalCurvature {
  symbols = ["k1","k2"]
  definition = "Extremal normal curvatures and eigenvalues of the shape operator."
 }

 GaussianCurvature {
  symbol = "K"
  definition = "The product of the two principal curvatures on a surface."
  relation = "K=k1*k2"
 }

 MeanCurvature {
  symbol = "H"
  definition = "Half the sum of the two principal curvatures under the standard surface convention."
  relation = "H=(k1+k2)/2"
 }

 SectionalCurvature {
  definition = "The Gaussian curvature of a two-dimensional tangent plane section in a Riemannian manifold."
 }

 RiemannCurvature {
  definition = "The tensor measuring noncommutativity of covariant derivatives and infinitesimal deviation from flatness."
 }

 RicciCurvature {
  definition = "A trace contraction of the Riemann curvature tensor."
 }

 ScalarCurvature {
  definition = "The metric trace of Ricci curvature."
 }

 Flatness {
  definition = "Vanishing of the Riemann curvature tensor locally for a Riemannian manifold."
 }
}

RELATIONS {
 Curvature --is_core_concept_of--> DifferentialGeometry
 Curve --can_have--> CurveCurvature
 Surface --can_have--> NormalCurvature
 Surface --has--> PrincipalCurvature
 PrincipalCurvature --determines--> GaussianCurvature
 PrincipalCurvature --determines--> MeanCurvature
 ShapeOperator --has_eigenvalues--> PrincipalCurvature
 SecondFundamentalForm --encodes--> ExtrinsicCurvature
 RiemannianMetric --determines--> LeviCivitaConnection
 LeviCivitaConnection --determines--> RiemannCurvature
 RiemannCurvature --contracts_to--> RicciCurvature
 RicciCurvature --contracts_to--> ScalarCurvature
 SectionalCurvature --is_derived_from--> RiemannCurvature
 RiemannCurvature --governs--> GeodesicDeviation
 GaussianCurvature --is_intrinsic_property_of--> SurfaceMetric
}

OPERATORS {
 CURVE_CURVATURE_UNIT_SPEED(gamma,s) :=
  norm(dT/ds)

 CURVE_CURVATURE_R3(gamma,t) :=
  norm(gamma'(t) × gamma''(t))/norm(gamma'(t))^3
  WHEN gamma'(t)!=0

 SIGNED_CURVATURE_PLANE(x,y,t) :=
  (x'(t)*y''(t)-y'(t)*x''(t))/(x'(t)^2+y'(t)^2)^(3/2)
  WHEN denominator!=0

 NORMAL_CURVATURE(II,I,v) :=
  II(v,v)/I(v,v)
  WHEN v!=0

 PRINCIPAL_CURVATURES(S) :=
  eigenvalues(S)

 GAUSSIAN_CURVATURE(k1,k2) :=
  k1*k2

 MEAN_CURVATURE(k1,k2) :=
  (k1+k2)/2

 RIEMANN_CURVATURE(X,Y,Z) :=
  nabla_X(nabla_Y Z)-nabla_Y(nabla_X Z)-nabla_[X,Y]Z

 SECTIONAL_CURVATURE(R,u,v) :=
  <R(u,v)v,u>/(|u|^2|v|^2-<u,v>^2)

 RICCI_CURVATURE(R) :=
  trace_of_Riemann_tensor

 SCALAR_CURVATURE(g,Ric) :=
  trace_g(Ric)
}

DEFINITIONS {
 D1 = "Curve curvature measures turning of the unit tangent."
 D2 = "Principal curvatures are eigenvalues of the shape operator."
 D3 = "Gaussian curvature equals the product of principal curvatures."
 D4 = "Mean curvature is an average of principal curvatures under a chosen convention."
 D5 = "Sectional curvature generalises Gaussian curvature to higher-dimensional manifolds."
 D6 = "The Riemann tensor measures noncommutativity of covariant differentiation."
 D7 = "Ricci curvature is a contraction of Riemann curvature."
 D8 = "Scalar curvature is the metric trace of Ricci curvature."
 D9 = "Intrinsic curvature depends only on the internal metric."
 D10 = "Extrinsic curvature depends on how an object sits in an ambient space."
}

AXIOMS {
 A1_CURVE_CURVATURE:
  For a unit-speed curve curvature is norm(dT/ds)

 A2_SHAPE_OPERATOR:
  Principal curvatures are eigenvalues of the shape operator

 A3_GAUSSIAN_CURVATURE:
  K=k1*k2

 A4_MEAN_CURVATURE:
  H=(k1+k2)/2 under the adopted convention

 A5_RIEMANN_TENSOR:
  R(X,Y)Z=nabla_X nabla_Y Z-nabla_Y nabla_X Z-nabla_[X,Y]Z under the adopted sign convention

 A6_SECTIONAL_CURVATURE:
  Sectional curvature is determined by the Riemann tensor and metric on each tangent two-plane

 A7_RICCI_CONTRACTION:
  Ricci curvature is a trace contraction of the Riemann tensor

 A8_SCALAR_CONTRACTION:
  Scalar curvature is the metric trace of the Ricci tensor
}

REASONING {

 R1_CURVE_CURVATURE {
  INPUT = parameterised_curve
  TEST = regularity
  IF unit_speed
   COMPUTE = norm(dT/ds)
  ELSE IF ambient_R3
   COMPUTE = norm(gamma'×gamma'')/norm(gamma')^3
  RETURN = curvature
 }

 R2_SURFACE_PRINCIPAL_CURVATURE {
  INPUT = [first_fundamental_form,second_fundamental_form]
  COMPUTE = shape_operator
  COMPUTE = eigenvalues
  RETURN = [k1,k2]
 }

 R3_GAUSSIAN_MEAN {
  INPUT = [k1,k2]
  COMPUTE = K=k1*k2
  COMPUTE = H=(k1+k2)/2
  RETURN = [K,H]
 }

 R4_NORMAL_CURVATURE {
  INPUT = [I,II,tangent_direction_v]
  COMPUTE = II(v,v)/I(v,v)
  RETURN = normal_curvature
 }

 R5_RIEMANN_CURVATURE {
  INPUT = connection_or_metric
  DECLARE = sign_convention
  COMPUTE = Riemann_tensor
  RETURN = R
 }

 R6_SECTIONAL_CURVATURE {
  INPUT = [R,g,tangent_2_plane]
  CHOOSE = independent_vectors_u_v
  COMPUTE = sectional_curvature_formula
  RETURN = K_section
 }

 R7_RICCI_SCALAR {
  INPUT = Riemann_tensor
  CONTRACT = Ricci
  CONTRACT_WITH_METRIC = ScalarCurvature
  RETURN = requested_contraction
 }

 R8_FLATNESS {
  INPUT = manifold_metric
  COMPUTE = Riemann_tensor
  IF R==0 locally
   RETURN LocallyFlat
  ELSE
   RETURN Curved
 }

 R9_GEODESIC_DEVIATION {
  INPUT = geodesic_family_and_curvature
  APPLY = Jacobi_equation
  INTERPRET = relative_acceleration
  RETURN = deviation_result
 }
}

CONSTRAINTS {
 C1 = "Curvature sign conventions must be tracked."
 C2 = "Mean curvature sign depends on normal orientation and convention."
 C3 = "Gaussian curvature is intrinsic for surfaces."
 C4 = "Principal curvatures depend on the chosen normal orientation by sign."
 C5 = "Curve curvature requires sufficient differentiability and regularity."
 C6 = "Sectional curvature requires a nondegenerate tangent two-plane."
 C7 = "Ricci and scalar curvature require consistent index and metric conventions."
 C8 = "Vanishing scalar curvature does not imply full flatness."
 C9 = "Vanishing Ricci curvature does not imply full flatness in dimensions greater than three."
 C10 = "Intrinsic and extrinsic curvature must not be conflated."
}

SEMANTIC_EQUIVALENCE {
 "Curvature" <=> "DeviationFromLocalFlatnessOrStraightness"
 "CurveCurvature" <=> "RateOfTurningOfUnitTangent"
 "GaussianCurvature" <=> "ProductOfPrincipalCurvatures"
 "MeanCurvature" <=> "AveragePrincipalCurvatureUnderConvention"
 "RiemannCurvature" <=> "CurvatureTensor"
 "Flatness" <=> "VanishingRiemannCurvatureLocally"
}

VALIDATION {
 V1 = "Curve curvature is nonnegative in unsigned convention."
 V2 = "Principal curvatures are shape-operator eigenvalues."
 V3 = "Gaussian curvature equals k1*k2."
 V4 = "Mean curvature convention is declared."
 V5 = "Sectional curvature uses a nondegenerate two-plane."
 V6 = "Riemann sign convention is internally consistent."
 V7 = "Ricci contraction matches tensor-index convention."
 V8 = "Scalar curvature uses metric contraction."
 V9 = "Flatness is assessed using full Riemann curvature, not only scalar curvature."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 CURVATURE_DEFINITION = 0.99
 CURVE_CURVATURE_REASONING = 0.99
 SURFACE_CURVATURE_REASONING = 0.99
 GAUSSIAN_CURVATURE_REASONING = 0.99
 RIEMANN_CURVATURE_REASONING = 0.98
 RICCI_REASONING = 0.98
 SCALAR_CURVATURE_REASONING = 0.98

 POLICY =
  "Reduce confidence when curvature type, ambient dimension, metric, normal orientation, tensor sign convention or differentiability assumptions are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  CurvatureReasoning,
  CurveCurvatureReasoning,
  SurfaceCurvatureReasoning,
  PrincipalCurvatureReasoning,
  GaussianCurvatureReasoning,
  MeanCurvatureReasoning,
  SectionalCurvatureReasoning,
  RiemannCurvatureReasoning,
  RicciCurvatureReasoning,
  ScalarCurvatureReasoning,
  FlatnessReasoning,
  GeodesicDeviationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "curvature" -> Curvature WHEN differential_geometry_context
  "curve curvature" -> CurveCurvature
  "principal curvature" -> PrincipalCurvature
  "Gaussian curvature" -> GaussianCurvature
  "mean curvature" -> MeanCurvature
  "sectional curvature" -> SectionalCurvature
  "Riemann curvature" -> RiemannCurvature
  "Ricci curvature" -> RicciCurvature
  "scalar curvature" -> ScalarCurvature
  "flat manifold" -> Flatness
 }

 INTERPRETATION_ORDER = [
  detect_curvature_context,
  identify curve_surface_or_manifold level,
  identify metric_connection_normal_and_dimension when required,
  identify requested curvature_type,
  declare or infer convention,
  apply corresponding curvature operator,
  distinguish intrinsic_and_extrinsic quantities,
  verify regularity_tensor_and_contraction constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("curvature")
  AND differential_geometry_context
  THEN activate(CurvatureOntology)

 E2:
  IF curve_curvature_requested
  THEN verify curve_regularity
  AND use unit_speed_or_general_formula

 E3:
  IF principal_curvatures_requested
  THEN compute shape_operator_eigenvalues

 E4:
  IF Gaussian_or_mean_curvature_requested
  THEN derive from principal_curvatures_or_fundamental_forms

 E5:
  IF Riemann_curvature_requested
  THEN identify metric_or_connection
  AND establish sign_convention

 E6:
  IF sectional_curvature_requested
  THEN require nondegenerate_tangent_two_plane

 E7:
  IF Ricci_or_scalar_curvature_requested
  THEN contract Riemann_tensor consistently

 E8:
  IF flatness_requested
  THEN test full_Riemann_curvature rather_than_only_scalar_or_Ricci
}

RECURSION {
 ENTRY = Curvature

 EXPAND(Curvature) -> [
  CurveCurvature,
  SignedCurvature,
  NormalCurvature,
  PrincipalCurvature,
  GaussianCurvature,
  MeanCurvature,
  SectionalCurvature,
  RiemannCurvature,
  RicciCurvature,
  ScalarCurvature,
  GeodesicCurvature,
  IntrinsicCurvature,
  ExtrinsicCurvature,
  Flatness,
  GeodesicDeviation
 ]

 EXPAND(SurfaceCurvature) -> [
  ShapeOperator,
  SecondFundamentalForm,
  PrincipalCurvature,
  GaussianCurvature,
  MeanCurvature,
  NormalCurvature
 ]

 EXPAND(RiemannCurvature) -> [
  SectionalCurvature,
  RicciCurvature,
  ScalarCurvature,
  GeodesicDeviation,
  Flatness
 ]

 EXPAND(CurveCurvature) -> [
  UnitTangent,
  ArcLengthParameter,
  OsculatingCircle,
  RadiusOfCurvature
 ]

 STOP_CONDITION =
  "Stop when the requested curvature type, convention, intrinsic-or-extrinsic status, contraction, flatness or geodesic-deviation property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Differential Geometry"

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

 RELATED_ONTOLOGIES = [
  "Differential Geometry",
  "Differential Geometry Ontology",
  "Curve Ontology",
  "Surface Ontology",
  "Vector Geometry Ontology",
  "Smooth Manifold Ontologies",
  "Riemannian Geometry Ontologies",
  "Tensor Ontologies",
  "Linear Algebra Ontologies",
  "Calculus & Analysis Ontologies"
 ]

 ROUTE_RULES = [
  "Curvature -> Differential Geometry Ontology for parent smooth-geometry semantics",
  "Curvature -> Curve for one-dimensional bending",
  "Curvature -> Surface for principal, Gaussian and mean curvature",
  "Curvature -> Riemannian Geometry for sectional and Riemann curvature",
  "Curvature -> Tensor Ontologies for Riemann and Ricci tensor structure",
  "Curvature -> Linear Algebra for shape-operator eigenvalues and contractions",
  "Curvature -> Calculus for derivatives and local expansions"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible curvature types, conventions or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve curvature-type distinctions.",
  "Preserve intrinsic-versus-extrinsic distinction.",
  "Preserve convention awareness.",
  "Preserve principal-curvature relations.",
  "Preserve Riemann-to-Ricci-to-scalar contraction hierarchy.",
  "Preserve flatness as vanishing full Riemann curvature locally.",
  "Preserve machine-readable curvature semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Curvature measures how a geometric object deviates from local straightness or flatness."

 CURVE_SUMMARY =
  "For a unit-speed curve, kappa=|dT/ds|."

 PRINCIPAL_SUMMARY =
  "Principal curvatures are eigenvalues of the shape operator."

 GAUSSIAN_SUMMARY =
  "K=k1*k2."

 MEAN_SUMMARY =
  "H=(k1+k2)/2 under the adopted convention."

 RIEMANN_SUMMARY =
  "R(X,Y)Z=nabla_X nabla_Y Z-nabla_Y nabla_X Z-nabla_[X,Y]Z under the adopted sign convention."

 RICCI_SUMMARY =
  "Ricci curvature is a contraction of the Riemann tensor."

 SCALAR_SUMMARY =
  "Scalar curvature is the metric trace of Ricci curvature."

 FLATNESS_SUMMARY =
  "A Riemannian manifold is locally flat when the full Riemann curvature tensor vanishes."
}

FLOW {
 INPUT
 -> detect_curvature_context
 -> identify curve_surface_or_manifold setting
 -> identify metric_connection_normal_orientation_dimension_and_convention when required
 -> classify requested curvature_type
 -> apply curve_shape_operator_sectional_Riemann_or_contraction reasoning
 -> distinguish intrinsic_and_extrinsic quantities
 -> verify regularity_tensor_index_orientation_and_convention constraints
 -> route to differential_geometry curve surface riemannian tensor linear_algebra_or_calculus ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Curvature Ontology defines the central bending and nonflatness concepts of differential geometry. It connects curve curvature, normal and principal curvature, Gaussian and mean curvature, sectional curvature, the Riemann tensor, Ricci and scalar curvature, intrinsic and extrinsic geometry, local flatness and geodesic deviation while preserving explicit sign and orientation conventions."
}

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

}

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