Skip to main content

Conic Section Ontology

Plane 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 conic sections within the Kireth Research Semantic Library. Conic sections are plane curves obtained by intersecting a plane with a double cone, or equivalently by quadratic equations and focus-directrix relations. This ontology unifies the circle, ellipse, parabola and hyperbola and supports classification, eccentricity, focal structure, coordinate equations, transformations, degeneracy analysis and comparative conic reasoning.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Conic Section Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Geometry"
 SPECIALISATION = "Plane Geometry / Conic Geometry"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/plane-geometry/conic-section-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = ConicSection
 SYMBOLIC_FORMS = [
  "Ax^2+Bxy+Cy^2+Dx+Ey+F=0",
  "PF=e*PD"
 ]
 ENTITY_CLASS = QuadraticPlaneCurveFamily
 PRIMARY_CONTEXT = PlaneGeometry
 DEFINITION = "A conic section is a plane curve obtained from the intersection of a plane with a cone or represented algebraically by a second-degree equation in two variables."
 SEMANTIC_ROLE = "Provides the unified ontology for circles, ellipses, parabolas and hyperbolas through geometric, focal and algebraic representations."
}

SCOPE {
 INCLUDE = [
  ConicSection,
  Circle,
  Ellipse,
  Parabola,
  Hyperbola,
  DegenerateConic,
  Focus,
  Directrix,
  Eccentricity,
  Centre,
  Vertex,
  Axis,
  Asymptote,
  QuadraticEquation,
  StandardForm,
  GeneralForm,
  RotatedConic,
  TranslatedConic,
  Tangent,
  Normal,
  ParametricRepresentation
 ]

 EXCLUDE_AS_PRIMARY = [
  GeneralAlgebraicCurveOfDegreeGreaterThanTwo,
  QuadricSurface,
  ArbitraryOval,
  NonplanarCurve
 ]

 DISAMBIGUATION_RULE =
  "When conic occurs with quadratic equations, circle, ellipse, parabola, hyperbola, eccentricity, focus-directrix relations or plane-cone intersections, interpret it as a conic section."
}

CORE_CONCEPTS {

 ConicSection {
  definition = "A member of the classical family of second-degree plane curves."
  principal_types = [
   Circle,
   Ellipse,
   Parabola,
   Hyperbola
  ]
 }

 Circle {
  definition = "A conic with eccentricity e=0 in the standard focal classification and equal principal semi-axes."
 }

 Ellipse {
  definition = "A conic with eccentricity 0<e<1."
 }

 Parabola {
  definition = "A conic with eccentricity e=1."
 }

 Hyperbola {
  definition = "A conic with eccentricity e>1."
 }

 DegenerateConic {
  definition = "A second-degree equation whose geometric locus collapses into lower-dimensional components or the empty set."
  examples = [
   PairOfLines,
   RepeatedLine,
   Point,
   EmptySet
  ]
 }

 Eccentricity {
  symbol = "e"
  definition = "The constant ratio PF/PD in a focus-directrix representation."
 }

 Focus {
  definition = "A fixed point used in a focal definition of a conic."
 }

 Directrix {
  definition = "A fixed line paired with a focus in a focus-directrix definition."
 }

 GeneralQuadraticEquation {
  form = "Ax^2+Bxy+Cy^2+Dx+Ey+F=0"
 }

 Discriminant {
  definition = "The quantity B^2-4AC used in affine classification of nondegenerate real conics."
 }
}

RELATIONS {
 ConicSection --contains_type--> Circle
 ConicSection --contains_type--> Ellipse
 ConicSection --contains_type--> Parabola
 ConicSection --contains_type--> Hyperbola
 ConicSection --can_be--> DegenerateConic
 ConicSection --can_have--> Focus
 ConicSection --can_have--> Directrix
 ConicSection --can_have--> Eccentricity
 ConicSection --can_have--> Tangent
 ConicSection --can_have--> Normal
 Circle --is_special_case_of--> Ellipse
 Ellipse --has_eccentricity_range--> "0<=e<1"
 Parabola --has_eccentricity--> 1
 Hyperbola --has_eccentricity_range--> "e>1"
 QuadraticEquation --can_represent--> ConicSection
 CoordinateTransformation --can_reduce--> GeneralConicToStandardForm
}

OPERATORS {
 CLASSIFY_BY_ECCENTRICITY(e) :=
  IF e==0 THEN Circle
  ELSE IF 0<e<1 THEN Ellipse
  ELSE IF e==1 THEN Parabola
  ELSE IF e>1 THEN Hyperbola

 CLASSIFY_BY_DISCRIMINANT(A,B,C,degeneracy_status) :=
  IF degeneracy_status==degenerate
   THEN DegenerateConic
  ELSE IF B^2-4AC<0
   THEN EllipseFamily
  ELSE IF B^2-4AC==0
   THEN ParabolaFamily
  ELSE
   THEN HyperbolaFamily

 FOCUS_DIRECTRIX_LOCUS(F,D,e) :=
  set_of_points_P_such_that_distance(P,F)=e*distance(P,D)

 ROTATE_AXES(theta,E) :=
  remove_or_reduce_xy_cross_term_when_possible(E)

 TRANSLATE_AXES(h,k,E) :=
  shift_conic_centre_or_vertex_to_origin(E)

 STANDARDISE(E) :=
  apply_rotation_translation_scaling_to_canonical_form(E)

 VERIFY_CONIC_POINT(P,E) :=
  substitute_coordinates(P,E)

 TANGENT_AT(P,E) :=
  derive_tangent_from_gradient_or_conic_specific_rule(P,E)
}

DEFINITIONS {
 D1 = "A conic section is a second-degree plane curve."
 D2 = "Classical nondegenerate conics are circle, ellipse, parabola and hyperbola."
 D3 = "The quantity B^2-4AC helps classify a general quadratic conic after degeneracy is checked."
 D4 = "Negative discriminant corresponds to ellipse-family conics."
 D5 = "Zero discriminant corresponds to parabola-family conics."
 D6 = "Positive discriminant corresponds to hyperbola-family conics."
 D7 = "Eccentricity classifies conics through focus-directrix geometry."
 D8 = "Coordinate rotation can remove an xy cross-term under suitable conditions."
 D9 = "Translation can move a conic centre or vertex to a standard location."
 D10 = "Degenerate conics must be separated from nondegenerate conics."
}

AXIOMS {
 A1_QUADRATIC_FORM:
  Every algebraic conic is represented by a polynomial equation of total degree at most two with nonzero quadratic part

 A2_CLASSICAL_TYPES:
  Every nondegenerate real conic belongs to the circle, ellipse, parabola or hyperbola family under Euclidean affine classification

 A3_ECCENTRICITY:
  Focus-directrix eccentricity distinguishes ellipse, parabola and hyperbola families

 A4_DISCRIMINANT:
  B^2-4AC determines the quadratic-form family after degeneracy and reality conditions are handled

 A5_COORDINATE_EQUIVALENCE:
  Euclidean coordinate translation and rotation preserve the underlying conic type

 A6_DEGENERACY:
  Degenerate conics require separate classification from genuine conic curves

 A7_TANGENCY:
  Tangent lines arise as first-order contact lines at regular conic points
}

REASONING {

 R1_GENERAL_CLASSIFICATION {
  INPUT = "Ax^2+Bxy+Cy^2+Dx+Ey+F=0"
  COMPUTE = Delta=B^2-4AC
  CHECK = degeneracy
  CHECK = real_locus
  CLASSIFY = ellipse_parabola_hyperbola_or_degenerate
  REFINE = circle_when_quadratic_form_is_isotropic_after_rotation_and_scaling_conditions
  RETURN = conic_type
 }

 R2_ECCENTRICITY_CLASSIFICATION {
  INPUT = e
  REQUIRE = e>=0
  RETURN = type_from_eccentricity
 }

 R3_STANDARDISATION {
  INPUT = general_conic_equation
  IF B!=0
   ROTATE = axes_to_remove_cross_term_when_possible
  TRANSLATE = eliminate_linear_terms
  NORMALISE = coefficients
  RETURN = standard_form_and_type
 }

 R4_FOCUS_DIRECTRIX {
  INPUT = [focus F,directrix D,e]
  FORM = distance(P,F)=e*distance(P,D)
  SQUARE_AND_SIMPLIFY = coordinate_equation
  RETURN = conic_equation
 }

 R5_CONIC_COMPARISON {
  INPUT = conic_type
  RETURN = [
   eccentricity_range,
   focal_structure,
   centre_or_vertex_structure,
   asymptotic_structure,
   standard_equation_family
  ]
 }

 R6_TANGENT_REASONING {
  INPUT = [point P,conic equation E]
  VERIFY = P lies_on E
  COMPUTE = gradient_or_implicit_derivative
  DERIVE = tangent_line
  RETURN = tangent
 }

 R7_DEGENERACY_ANALYSIS {
  INPUT = general_quadratic_equation
  ANALYSE = augmented_quadratic_matrix_or_factorisation
  CLASSIFY = pair_of_lines_repeated_line_point_empty_or_nondegenerate
  RETURN = degeneracy_status
 }

 R8_TRANSFORMATION_REASONING {
  INPUT = [conic,T]
  CLASSIFY = transformation_type
  IF rigid_or_similarity
   preserve_conic_type_and_metric_relations_as_applicable
  ELSE IF nondegenerate_affine
   preserve_general_conic_family_with_circle_may_map_to_ellipse
  RETURN = transformed_conic
 }
}

CONSTRAINTS {
 C1 = "Discriminant classification requires degeneracy checks."
 C2 = "Circle and ellipse both lie in the negative-discriminant family."
 C3 = "Eccentricity-based classification assumes a valid focus-directrix representation."
 C4 = "Rotated conics may contain an xy cross-term."
 C5 = "Affine transformations do not preserve every metric property."
 C6 = "Circle may map to ellipse under general affine transformation."
 C7 = "Degenerate conics must not be treated as genuine ellipse, parabola or hyperbola curves."
 C8 = "Real and empty loci must be distinguished."
}

SEMANTIC_EQUIVALENCE {
 "ConicSection" <=> "QuadraticPlaneCurve"
 "EllipseFamily" <=> "NegativeQuadraticDiscriminantFamily"
 "ParabolaFamily" <=> "ZeroQuadraticDiscriminantFamily"
 "HyperbolaFamily" <=> "PositiveQuadraticDiscriminantFamily"
 "DegenerateConic" <=> "CollapsedSecondDegreeLocus"
}

VALIDATION {
 V1 = "General conic equation has nonzero quadratic part."
 V2 = "Discriminant classification is applied after degeneracy check."
 V3 = "Circle is recognised as a special ellipse-family case."
 V4 = "Eccentricity classification gives ellipse for e<1, parabola for e=1, hyperbola for e>1."
 V5 = "Standardisation preserves the underlying conic type under Euclidean coordinate changes."
 V6 = "Tangent calculation is performed only at regular points."
 V7 = "Degenerate loci are separately typed."
 V8 = "Coordinate-transformed equations describe the same geometric locus under invertible coordinate changes."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 CONIC_DEFINITION = 0.99
 DISCRIMINANT_CLASSIFICATION = 0.99
 ECCENTRICITY_CLASSIFICATION = 0.99
 DEGENERACY_ANALYSIS = 0.98
 STANDARDISATION_REASONING = 0.98
 TANGENT_REASONING = 0.99
 TRANSFORMATION_REASONING = 0.98

 POLICY =
  "Reduce confidence when degeneracy, reality conditions, coordinate frame, focus-directrix data or transformation type are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  ConicClassification,
  QuadraticCurveReasoning,
  EccentricityReasoning,
  FocusDirectrixReasoning,
  CoordinateStandardisation,
  TangentReasoning,
  DegeneracyReasoning,
  TransformationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "conic section" -> ConicSection
  "conic" -> ConicSection WHEN geometry_context
  "quadratic curve" -> ConicSection
  "circle" -> Circle
  "ellipse" -> Ellipse
  "parabola" -> Parabola
  "hyperbola" -> Hyperbola
  "degenerate conic" -> DegenerateConic
 }

 INTERPRETATION_ORDER = [
  detect_conic_context,
  identify general_standard_focus_directrix_or_parametric representation,
  test degeneracy and real-locus conditions,
  compute discriminant or eccentricity,
  classify conic family,
  standardise coordinates when needed,
  perform focal tangent parametric or transformation reasoning,
  verify constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("conic")
  OR query_mentions_specific_conic_type
  THEN activate(ConicSectionOntology)

 E2:
  IF general_quadratic_equation_present
  THEN compute B^2-4AC
  AND test_degeneracy

 E3:
  IF eccentricity_present
  THEN classify_by_eccentricity

 E4:
  IF xy_cross_term_present
  THEN consider_rotation_of_axes

 E5:
  IF linear_terms_present
  THEN consider_translation_to_standard_form

 E6:
  IF tangent_requested
  THEN verify_regular_point
  AND derive_tangent

 E7:
  IF degenerate_case_detected
  THEN classify_as_degenerate_conic

 E8:
  IF specific_conic_type_resolved
  THEN route_to_circle_ellipse_parabola_or_hyperbola_ontology
}

RECURSION {
 ENTRY = ConicSection

 EXPAND(ConicSection) -> [
  Circle,
  Ellipse,
  Parabola,
  Hyperbola,
  DegenerateConic,
  Focus,
  Directrix,
  Eccentricity,
  QuadraticEquation,
  StandardForm,
  Tangent,
  Transformation
 ]

 EXPAND(QuadraticEquation) -> [
  QuadraticPart,
  Discriminant,
  CrossTerm,
  LinearTerms,
  ConstantTerm,
  Degeneracy
 ]

 EXPAND(Eccentricity) -> [
  CircleCase,
  EllipseCase,
  ParabolaCase,
  HyperbolaCase
 ]

 EXPAND(Standardisation) -> [
  RotationOfAxes,
  TranslationOfAxes,
  Scaling,
  CanonicalEquation
 ]

 STOP_CONDITION =
  "Stop when the conic's type, degeneracy, standard form, focal structure, tangent or transformation property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Plane Geometry"

 IMMEDIATE_CONTEXTS = [
  "Circle Ontology",
  "Ellipse Ontology",
  "Parabola Ontology",
  "Hyperbola Ontology",
  "Analytic Geometry Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Plane Geometry",
  "Circle Ontology",
  "Ellipse Ontology",
  "Parabola Ontology",
  "Hyperbola Ontology",
  "Coordinate Geometry Ontology",
  "Analytic Geometry Ontology",
  "Parametric Geometry Ontology",
  "Vector Geometry Ontology",
  "Transformation Ontology",
  "Affine Transformation Ontology"
 ]

 ROUTE_RULES = [
  "Conic Section -> Circle for equal-axis closed conics",
  "Conic Section -> Ellipse for eccentricity below one",
  "Conic Section -> Parabola for eccentricity one",
  "Conic Section -> Hyperbola for eccentricity above one",
  "Conic Section -> Analytic Geometry for quadratic-equation classification",
  "Conic Section -> Coordinate Geometry for standard coordinate forms",
  "Conic Section -> Parametric Geometry for parameterisations",
  "Conic Section -> Transformation for rotated translated and affine images"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

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

 RULES = [
  "Preserve unification of circle, ellipse, parabola and hyperbola.",
  "Preserve discriminant-based family classification.",
  "Preserve eccentricity-based focal classification.",
  "Preserve degeneracy checks.",
  "Preserve rotated and translated conic handling.",
  "Preserve circle-as-special-ellipse relation.",
  "Preserve machine-readable conic semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A conic section is a plane curve represented by a second-degree equation or obtained by intersecting a plane with a cone."

 GENERAL_EQUATION_SUMMARY =
  "Ax^2+Bxy+Cy^2+Dx+Ey+F=0"

 DISCRIMINANT_SUMMARY =
  "B^2-4AC<0: ellipse family; =0: parabola family; >0: hyperbola family, subject to degeneracy checks."

 ECCENTRICITY_SUMMARY =
  "0<=e<1: ellipse family; e=1: parabola; e>1: hyperbola."

 CIRCLE_SUMMARY =
  "A circle is the equal-axis special case of the ellipse family."

 STANDARDISATION_SUMMARY =
  "Rotation and translation of axes reduce a general conic equation toward canonical form."

 DEGENERACY_SUMMARY =
  "Second-degree equations may degenerate into lines, a point or the empty set."
}

FLOW {
 INPUT
 -> detect_conic_section_context
 -> identify_quadratic_focus_directrix_standard_or_parametric_representation
 -> inspect_quadratic_coefficients_and_cross_term
 -> test_degeneracy_and_real_locus
 -> compute_discriminant_or_eccentricity
 -> classify_circle_ellipse_parabola_hyperbola_or_degenerate
 -> standardise_coordinates_when_required
 -> perform focal tangent parametric or transformation reasoning
 -> verify classification_and_constraints
 -> route_to_specific_conic_ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Conic Section Ontology unifies the classical circle, ellipse, parabola and hyperbola as second-degree plane curves. It supports classification by quadratic discriminant and eccentricity, focus-directrix definitions, standardisation by coordinate transformation, degeneracy analysis, tangents and comparative conic reasoning."
}

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

}

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