AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of curves within the Kireth Research Semantic Library. A curve is a one-dimensional geometric object that may be represented parametrically, implicitly, explicitly or intrinsically. In differential geometry, smooth curves carry tangent vectors, arc length, curvature, torsion and Frenet-frame structure and may lie in Euclidean space or on manifolds. This ontology supports regularity, parameterisation, reparameterisation, tangent and normal vectors, arc length, curvature, torsion, geodesic curves, planar and spatial curves and relationships with manifolds, vector geometry and calculus.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Curve Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Geometry"
SPECIALISATION = "Differential Geometry / Curves"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/differential-geometry/curve-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = Curve
SYMBOLIC_FORMS = [
"gamma:I->M",
"r(t)",
"(x(t),y(t),z(t))"
]
ENTITY_CLASS = OneDimensionalGeometricObject
PRIMARY_CONTEXT = DifferentialGeometry
DEFINITION = "A curve is a continuous or smooth mapping from an interval into a geometric space, with differential geometry focusing on smooth and regular curves."
SEMANTIC_ROLE = "Provides the one-dimensional smooth-geometry framework for tangent direction, arc length, curvature, torsion, Frenet frames, geodesics and parameterisation."
}
SCOPE {
INCLUDE = [
Curve,
ParametricCurve,
SmoothCurve,
RegularCurve,
PlanarCurve,
SpaceCurve,
ClosedCurve,
SimpleCurve,
PiecewiseSmoothCurve,
Parameter,
Reparameterisation,
TangentVector,
UnitTangent,
NormalVector,
BinormalVector,
FrenetFrame,
ArcLength,
Speed,
Curvature,
Torsion,
GeodesicCurve,
CurveOnSurface,
CurveOnManifold
]
EXCLUDE_AS_PRIMARY = [
Surface,
GeneralOneDimensionalTopologicalSetWithoutCurveStructure,
DiscretePointSequence,
FractalCurveUnlessExplicit,
AlgebraicCurveWithoutDifferentialContext
]
DISAMBIGUATION_RULE =
"When curve occurs with parameterisation, tangent, arc length, curvature, torsion, Frenet frame, geodesic or smooth map from an interval, interpret it as a differential-geometric curve."
}
CORE_CONCEPTS {
Curve {
definition = "A map gamma:I->M from an interval I into a geometric space M."
}
ParametricCurve {
definition = "A curve represented by coordinate functions depending on a parameter."
}
SmoothCurve {
definition = "A curve whose coordinate representation is smooth."
}
RegularCurve {
definition = "A smooth curve with nonzero velocity vector throughout the interval."
condition = "gamma'(t)!=0"
}
PlanarCurve {
definition = "A curve contained in a plane."
}
SpaceCurve {
definition = "A curve embedded in three-dimensional or higher-dimensional space."
}
ClosedCurve {
definition = "A curve whose endpoint coincides with its starting point under an appropriate parameter interval."
}
SimpleCurve {
definition = "A curve without self-intersections except possibly matching endpoints in the closed case."
}
TangentVector {
definition = "The derivative gamma'(t), representing instantaneous direction and velocity."
}
UnitTangent {
symbol = "T"
definition = "The normalised tangent vector gamma'/|gamma'|."
}
ArcLength {
definition = "The integral of curve speed over the parameter interval."
}
Curvature {
symbol = "kappa"
definition = "The rate of change of the unit tangent with respect to arc length."
}
Torsion {
symbol = "tau"
definition = "The rate at which a space curve departs from its osculating plane."
}
FrenetFrame {
definition = "The orthonormal moving frame consisting of tangent, normal and binormal vectors where defined."
}
}
RELATIONS {
Curve --is_special_case_of--> GeometricObject
SmoothCurve --is_special_case_of--> Curve
RegularCurve --is_special_case_of--> SmoothCurve
PlanarCurve --is_special_case_of--> Curve
SpaceCurve --is_special_case_of--> Curve
Curve --has--> Parameter
SmoothCurve --has--> TangentVector
RegularCurve --has--> UnitTangent
RegularCurve --has_measure--> ArcLength
RegularCurve --can_have--> Curvature
SpaceCurve --can_have--> Torsion
FrenetFrame --contains--> UnitTangent
FrenetFrame --contains--> NormalVector
FrenetFrame --contains--> BinormalVector
CurveOnManifold --maps_into--> SmoothManifold
GeodesicCurve --is_special_case_of--> CurveOnManifold
Reparameterisation --changes--> Parameter
Reparameterisation --preserves--> GeometricTrace
}
OPERATORS {
CURVE_POINT(gamma,t) :=
gamma(t)
VELOCITY(gamma,t) :=
gamma'(t)
SPEED(gamma,t) :=
norm(gamma'(t))
IS_REGULAR(gamma,t) :=
gamma'(t)!=0
UNIT_TANGENT(gamma,t) :=
gamma'(t)/norm(gamma'(t))
WHEN gamma'(t)!=0
ARC_LENGTH(gamma,a,b) :=
integral_a^b norm(gamma'(t)) dt
ARC_LENGTH_PARAMETER(s) :=
reparameterise_curve_by_arc_length
CURVATURE_GENERAL(gamma,t) :=
norm(dT/ds)
CURVATURE_PLANE_OR_SPACE(gamma,t) :=
norm(gamma'(t) × gamma''(t))/norm(gamma'(t))^3
WHEN ambient_dimension=3 AND gamma'(t)!=0
TORSION_SPACE_CURVE(gamma,t) :=
((gamma' × gamma'') · gamma''') / norm(gamma' × gamma'')^2
WHEN denominator!=0
FRENET_NORMAL(gamma,t) :=
(dT/ds)/norm(dT/ds)
WHEN curvature!=0
BINORMAL(T,N) :=
T × N
REPARAMETERISE(gamma,phi,u) :=
gamma(phi(u))
}
DEFINITIONS {
D1 = "A differential-geometric curve is typically a smooth map from an interval into a manifold."
D2 = "A regular curve has nonzero derivative."
D3 = "The tangent vector depends on parameter speed; the unit tangent depends only on orientation."
D4 = "Arc length is invariant under orientation-preserving regular reparameterisation."
D5 = "Curvature measures bending."
D6 = "Torsion measures twisting out of the osculating plane."
D7 = "Planar curves have zero torsion where the Frenet data is regular."
D8 = "A geodesic has zero covariant acceleration."
D9 = "Reparameterisation changes the parameter but not the geometric image of the curve."
D10 = "Arc-length parameterisation has unit speed."
}
AXIOMS {
A1_PARAMETERISATION:
A curve is represented by a map from an interval into a geometric space
A2_SMOOTHNESS:
A smooth curve has differentiable coordinate components to the required order
A3_REGULARITY:
A regular curve satisfies gamma'(t)!=0
A4_ARC_LENGTH:
Length equals integral of speed
A5_UNIT_SPEED:
Arc-length parameterisation satisfies norm(dgamma/ds)=1
A6_CURVATURE:
For unit-speed curves, curvature equals norm(dT/ds)
A7_FRENET_FRAME:
When curvature is nonzero, T,N,B form an orthonormal frame for a regular space curve
A8_REPARAMETERISATION_INVARIANCE:
Geometric trace and intrinsic length are preserved under regular monotone reparameterisation
}
REASONING {
R1_CURVE_CLASSIFICATION {
INPUT = curve_representation
IDENTIFY = parameter_domain
TEST = smoothness
TEST = regularity
TEST = planar_or_spatial_embedding
RETURN = curve_type
}
R2_TANGENT_REASONING {
INPUT = [gamma,t]
DIFFERENTIATE = gamma'(t)
IF gamma'(t)!=0
NORMALISE = unit_tangent
RETURN = tangent_information
}
R3_ARC_LENGTH {
INPUT = [gamma,a,b]
COMPUTE = speed
INTEGRATE = speed_over_interval
RETURN = length
}
R4_REPARAMETERISATION {
INPUT = [gamma,phi]
VERIFY = phi smooth_and_monotone_when_regular_reparam_required
COMPUTE = gamma∘phi
TRACK = orientation_and_speed
RETURN = reparameterised_curve
}
R5_CURVATURE {
INPUT = curve_derivatives
IF unit_speed
COMPUTE = norm(gamma''(s))
ELSE IF ambient_R3
COMPUTE = norm(gamma'×gamma'')/norm(gamma')^3
RETURN = curvature
}
R6_FRENET_FRAME {
INPUT = regular_space_curve_with_nonzero_curvature
COMPUTE = T
COMPUTE = N
COMPUTE = B=T×N
RETURN = FrenetFrame
}
R7_TORSION {
INPUT = first_three_derivatives
REQUIRE = gamma'×gamma'' != 0
COMPUTE = ((gamma'×gamma'')·gamma''')/norm(gamma'×gamma'')^2
RETURN = torsion
}
R8_PLANAR_TEST {
INPUT = space_curve
IF torsion==0 on connected regular interval AND additional_regular_conditions
INFER = locally_planar
ELSE
RETURN = not_established_planar
}
R9_GEODESIC_CURVE {
INPUT = curve_on_manifold_and_connection
COMPUTE = covariant_acceleration
IF zero
RETURN GeodesicCurve
ELSE
RETURN NonGeodesicCurve
}
}
CONSTRAINTS {
C1 = "Curve trace and curve parameterisation are not identical concepts."
C2 = "Regularity requires nonzero derivative."
C3 = "Curvature formulas depend on sufficient differentiability."
C4 = "Frenet normal is undefined where curvature is zero."
C5 = "Torsion formula requires nonzero gamma'×gamma''."
C6 = "Arc length is parameterisation invariant under suitable regular reparameterisations."
C7 = "Closed and simple are independent curve properties."
C8 = "A zero torsion condition requires care at curvature-zero points."
C9 = "Geodesic status depends on the ambient connection, not merely the visual shape of the curve."
}
SEMANTIC_EQUIVALENCE {
"Curve" <=> "OneDimensionalParametrisedGeometricObject"
"RegularCurve" <=> "SmoothCurveWithNonzeroVelocity"
"UnitTangent" <=> "NormalisedVelocityVector"
"ArcLength" <=> "IntegralOfSpeed"
"Curvature" <=> "RateOfTurningOfUnitTangent"
"Torsion" <=> "RateOfTwistOfFrenetFrame"
}
VALIDATION {
V1 = "Curve domain is an interval or compatible one-dimensional parameter domain."
V2 = "Regularity test checks gamma'(t)!=0."
V3 = "Unit tangent has norm one."
V4 = "Arc length is nonnegative."
V5 = "Curvature is nonnegative."
V6 = "Frenet frame vectors are orthonormal where defined."
V7 = "Torsion denominator is nonzero before use."
V8 = "Reparameterisation preserves geometric trace."
V9 = "Geodesic test uses covariant rather than ordinary acceleration on a manifold."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
CURVE_DEFINITION = 0.99
REGULARITY_REASONING = 0.99
TANGENT_REASONING = 0.99
ARC_LENGTH_REASONING = 0.99
CURVATURE_REASONING = 0.99
TORSION_REASONING = 0.98
FRENET_REASONING = 0.98
GEODESIC_REASONING = 0.98
POLICY =
"Reduce confidence when differentiability class, parameter interval, ambient dimension, regularity, orientation or connection are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
CurveReasoning,
DifferentialGeometryReasoning,
TangentReasoning,
ArcLengthReasoning,
CurvatureReasoning,
TorsionReasoning,
FrenetFrameReasoning,
GeodesicReasoning,
ReparameterisationReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"curve" -> Curve WHEN differential_geometry_context
"smooth curve" -> SmoothCurve
"regular curve" -> RegularCurve
"planar curve" -> PlanarCurve
"space curve" -> SpaceCurve
"arc length" -> ArcLength
"curvature" -> Curvature WHEN curve_context
"torsion" -> Torsion WHEN curve_context
"Frenet frame" -> FrenetFrame
}
INTERPRETATION_ORDER = [
detect_curve_context,
identify parameterisation_domain_and_ambient_space,
determine smoothness_and_regularity,
identify tangent_length_curvature_torsion_frenet_or_geodesic goal,
differentiate_or_reparameterise_as_required,
apply curve_specific formulas,
verify differentiability_regularities_and_denominator constraints,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("curve")
AND differential_geometry_context
THEN activate(CurveOntology)
E2:
IF regularity_requested
THEN compute gamma'(t)
AND test nonzero_velocity
E3:
IF tangent_requested
THEN differentiate parameterisation
E4:
IF arc_length_requested
THEN integrate norm(gamma'(t))
E5:
IF curvature_requested
THEN choose unit_speed_or_general_formula based_on_parameterisation
E6:
IF Frenet_frame_requested
THEN require regularity_and_nonzero_curvature
E7:
IF torsion_requested
THEN require sufficient_derivatives_and_nonzero_cross_product
E8:
IF geodesic_requested
THEN route to manifold_connection_reasoning
AND compute covariant_acceleration
E9:
IF reparameterisation_requested
THEN preserve curve_trace_and_track_orientation
}
RECURSION {
ENTRY = Curve
EXPAND(Curve) -> [
ParametricCurve,
SmoothCurve,
RegularCurve,
PlanarCurve,
SpaceCurve,
ClosedCurve,
SimpleCurve,
Parameter,
Reparameterisation,
TangentVector,
UnitTangent,
ArcLength,
Curvature,
Torsion,
FrenetFrame,
GeodesicCurve,
CurveOnManifold
]
EXPAND(FrenetFrame) -> [
UnitTangent,
PrincipalNormal,
Binormal,
Curvature,
Torsion,
FrenetSerretEquations
]
EXPAND(CurveOnManifold) -> [
TangentVector,
CovariantDerivative,
GeodesicCurve,
ParallelTransport
]
EXPAND(PlanarCurve) -> [
SignedCurvature,
NormalVector,
OsculatingCircle,
RadiusOfCurvature
]
STOP_CONDITION =
"Stop when the curve's parameterisation, regularity, tangent, arc length, curvature, torsion, Frenet frame, planarity or geodesic property is sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Differential Geometry"
IMMEDIATE_CONTEXTS = [
"Differential Geometry Ontology",
"Vector Geometry Ontology",
"Parametric Geometry Ontology",
"Calculus & Analysis Ontologies"
]
RELATED_ONTOLOGIES = [
"Differential Geometry",
"Differential Geometry Ontology",
"Vector Geometry Ontology",
"Parametric Geometry Ontology",
"Coordinate Geometry Ontology",
"Smooth Manifold Ontologies",
"Riemannian Geometry Ontologies",
"Calculus & Analysis Ontologies",
"Transformation Ontology"
]
ROUTE_RULES = [
"Curve -> Differential Geometry Ontology for parent smooth-geometry semantics",
"Curve -> Parametric Geometry for coordinate parameterisations",
"Curve -> Vector Geometry for tangent, normal and binormal vectors",
"Curve -> Calculus for derivatives and arc-length integration",
"Curve -> Manifold Ontologies for curves on manifolds",
"Curve -> Riemannian Geometry for geodesics and covariant acceleration",
"Curve -> Transformation for reparameterisation and diffeomorphic image reasoning"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible curve classes, invariants or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve curve-as-map semantics.",
"Preserve distinction between trace and parameterisation.",
"Preserve regularity requirement.",
"Preserve arc-length invariance.",
"Preserve curvature and torsion definitions.",
"Preserve Frenet-frame domain restrictions.",
"Preserve geodesic dependence on ambient connection.",
"Preserve machine-readable curve semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"A differential-geometric curve is a smooth map from an interval into a geometric space or manifold."
REGULARITY_SUMMARY =
"A curve is regular where gamma'(t)!=0."
TANGENT_SUMMARY =
"The tangent vector is gamma'(t); the unit tangent is gamma'/|gamma'|."
ARC_LENGTH_SUMMARY =
"L=integral |gamma'(t)| dt."
CURVATURE_SUMMARY =
"kappa=|dT/ds|; in R3, kappa=|gamma'×gamma''|/|gamma'|^3."
TORSION_SUMMARY =
"tau=((gamma'×gamma'')·gamma''')/|gamma'×gamma''|^2 where defined."
FRENET_SUMMARY =
"The Frenet frame consists of tangent T, normal N and binormal B."
GEODESIC_SUMMARY =
"A geodesic satisfies nabla_gamma_dot(gamma_dot)=0."
}
FLOW {
INPUT
-> detect_curve_context
-> identify parameterisation_interval_ambient_space_and_smoothness
-> test regularity
-> identify tangent_arc_length_curvature_torsion_frenet_reparameterisation_or_geodesic goal
-> perform derivative_integral_or_covariant reasoning
-> verify differentiability_regularities_orientation_and_denominator constraints
-> route to differential_geometry vector parametric calculus manifold_or_riemannian ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Curve Ontology defines one-dimensional smooth geometric objects through parameterised maps. It supports smoothness and regularity, tangent and unit-tangent vectors, arc length, curvature, torsion, Frenet frames, planar and spatial curve structure, reparameterisation and geodesic reasoning on manifolds."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-GEOMETRY-CURVE-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard