Skip to main content

Hyperbola 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 a hyperbola within the Kireth Research Semantic Library. A hyperbola is a plane conic defined as the locus of points for which the absolute difference of distances to two fixed foci is constant. This ontology supports transverse and conjugate axes, vertices, foci, eccentricity, asymptotes, directrices, standard and general coordinate equations, parametric forms, tangents, transformations and conic classification.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Hyperbola 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/hyperbola-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Hyperbola
 SYMBOLIC_FORMS = [
  "x^2/a^2-y^2/b^2=1",
  "y^2/a^2-x^2/b^2=1",
  "(x-h)^2/a^2-(y-k)^2/b^2=1",
  "(y-k)^2/a^2-(x-h)^2/b^2=1"
 ]
 ENTITY_CLASS = ConicSection
 PRIMARY_CONTEXT = PlaneGeometry
 DEFINITION = "A hyperbola is the locus of points in a plane for which the absolute difference of distances to two fixed points called foci is constant."
 SEMANTIC_ROLE = "Provides the open two-branch conic framework for focal, axial, asymptotic, coordinate, parametric and transformation reasoning."
}

SCOPE {
 INCLUDE = [
  Hyperbola,
  Focus,
  Foci,
  Centre,
  TransverseAxis,
  ConjugateAxis,
  SemiTransverseAxis,
  SemiConjugateAxis,
  Vertex,
  Eccentricity,
  Directrix,
  Asymptote,
  FocalDistance,
  LatusRectum,
  StandardEquation,
  ParametricEquation,
  Tangent,
  Normal,
  RectangularHyperbola,
  ConicSection
 ]

 EXCLUDE_AS_PRIMARY = [
  Ellipse,
  Parabola,
  Circle,
  GeneralReciprocalGraphWithoutConicContext,
  Hyperboloid
 ]

 DISAMBIGUATION_RULE =
  "When hyperbola occurs with two foci, transverse axis, asymptotes, eccentricity greater than one, conic equations or constant difference of focal distances, interpret it as a plane geometric hyperbola."
}

CORE_CONCEPTS {

 Hyperbola {
  definition = "The locus of points P satisfying |PF1-PF2|=2a for fixed foci F1 and F2."
  branch_count = 2
 }

 Centre {
  definition = "The midpoint of the segment joining the two foci and the centre of rotational symmetry of the hyperbola."
 }

 Focus {
  definition = "One of two fixed points used in the constant-difference definition."
 }

 SemiTransverseAxis {
  symbol = "a"
  definition = "Distance from the centre to a vertex along the transverse axis."
 }

 SemiConjugateAxis {
  symbol = "b"
  definition = "Parameter controlling conjugate-axis scale and asymptote slope in standard form."
 }

 FocalDistance {
  symbol = "c"
  relation = "c^2=a^2+b^2"
 }

 Eccentricity {
  symbol = "e"
  definition = "Ratio c/a."
  range = "e>1"
 }

 TransverseAxis {
  definition = "The axis passing through both foci and both vertices."
 }

 ConjugateAxis {
  definition = "The axis through the centre perpendicular to the transverse axis."
 }

 Vertex {
  definition = "One of the two points where the hyperbola meets its transverse axis."
 }

 Asymptote {
  definition = "A line approached by a branch of the hyperbola at large distance."
 }

 Directrix {
  definition = "A line associated with a focus such that PF/PD=e for points P on the hyperbola."
 }

 LatusRectum {
  definition = "A chord through a focus perpendicular to the transverse axis."
 }
}

RELATIONS {
 Hyperbola --is_special_case_of--> ConicSection
 Hyperbola --has--> Centre
 Hyperbola --has--> TwoFoci
 Hyperbola --has--> TwoVertices
 Hyperbola --has--> TransverseAxis
 Hyperbola --has--> ConjugateAxis
 Hyperbola --has--> Asymptotes
 Hyperbola --has--> Eccentricity
 Hyperbola --has--> Directrices
 Hyperbola --can_have--> Tangent
 Centre --is_midpoint_of--> FociSegment
 TransverseAxis --passes_through--> Foci
 TransverseAxis --passes_through--> Vertices
 ConjugateAxis --is_perpendicular_to--> TransverseAxis
 Eccentricity --relates--> FocusAndDirectrix
 RectangularHyperbola --is_special_case_of--> Hyperbola
}

OPERATORS {
 IS_ON_HYPERBOLA(P,F1,F2,a) :=
  abs(distance(P,F1)-distance(P,F2))==2*a

 FOCAL_DISTANCE(a,b) :=
  sqrt(a^2+b^2)

 ECCENTRICITY(a,b) :=
  sqrt(a^2+b^2)/a

 TRANSVERSE_AXIS_LENGTH(a) :=
  2*a

 STANDARD_HORIZONTAL(h,k,a,b) :=
  (x-h)^2/a^2-(y-k)^2/b^2=1

 STANDARD_VERTICAL(h,k,a,b) :=
  (y-k)^2/a^2-(x-h)^2/b^2=1

 HORIZONTAL_ASYMPTOTES(h,k,a,b) :=
  y-k=±(b/a)(x-h)

 VERTICAL_ASYMPTOTES(h,k,a,b) :=
  y-k=±(a/b)(x-h)

 DIRECTRIX_DISTANCE(a,e) :=
  a/e

 LATUS_RECTUM_LENGTH(a,b) :=
  2*b^2/a

 PARAMETRIC_POINT_HORIZONTAL(h,k,a,b,t) :=
  (h+a*sec(t), k+b*tan(t))

 PARAMETRIC_POINT_VERTICAL(h,k,a,b,t) :=
  (h+b*tan(t), k+a*sec(t))
}

DEFINITIONS {
 D1 = "A hyperbola is a two-branch open conic."
 D2 = "The absolute difference of focal distances is constant."
 D3 = "For standard hyperbola parameters, c^2=a^2+b^2."
 D4 = "Hyperbola eccentricity satisfies e>1."
 D5 = "The transverse axis passes through the foci and vertices."
 D6 = "The conjugate axis is perpendicular to the transverse axis."
 D7 = "Standard hyperbolas possess two asymptotes through the centre."
 D8 = "A rectangular hyperbola has perpendicular asymptotes."
 D9 = "A hyperbola is centrally symmetric about its centre."
 D10 = "A rotated hyperbola may contain an xy cross-term in its quadratic equation."
}

AXIOMS {
 A1_FOCAL_DIFFERENCE:
  Every point P on a hyperbola satisfies |PF1-PF2|=constant

 A2_CENTRAL_SYMMETRY:
  A hyperbola is centrally symmetric about its centre

 A3_AXIS_ORTHOGONALITY:
  Transverse and conjugate axes are perpendicular in standard Euclidean form

 A4_FOCAL_RELATION:
  c^2=a^2+b^2

 A5_ECCENTRICITY_RANGE:
  e>1

 A6_ASYMPTOTIC_STRUCTURE:
  Standard nondegenerate hyperbolas possess two asymptotes intersecting at the centre

 A7_CONIC_CLASSIFICATION:
  A nondegenerate real hyperbola corresponds to an indefinite quadratic form after suitable Euclidean coordinate transformation
}

REASONING {

 R1_FOCAL_MEMBERSHIP {
  INPUT = [P,F1,F2,a]
  COMPUTE = abs(PF1-PF2)
  IF result==2a
   RETURN PointOnHyperbola
  ELSE
   RETURN PointNotOnHyperbola
 }

 R2_STANDARD_HORIZONTAL {
  INPUT = "(x-h)^2/a^2-(y-k)^2/b^2=1"
  IDENTIFY = centre(h,k)
  IDENTIFY = vertices(h±a,k)
  COMPUTE = c=sqrt(a^2+b^2)
  IDENTIFY = foci(h±c,k)
  IDENTIFY = asymptotes y-k=±(b/a)(x-h)
  RETURN = hyperbola_parameters
 }

 R3_STANDARD_VERTICAL {
  INPUT = "(y-k)^2/a^2-(x-h)^2/b^2=1"
  IDENTIFY = centre(h,k)
  IDENTIFY = vertices(h,k±a)
  COMPUTE = c=sqrt(a^2+b^2)
  IDENTIFY = foci(h,k±c)
  IDENTIFY = asymptotes y-k=±(a/b)(x-h)
  RETURN = hyperbola_parameters
 }

 R4_ECCENTRICITY {
  INPUT = [a,b]
  COMPUTE = c=sqrt(a^2+b^2)
  COMPUTE = e=c/a
  VERIFY = e>1
  RETURN = e
 }

 R5_PARAMETERISATION {
  INPUT = [h,k,a,b,t,orientation]
  APPLY = orientation_specific_sec_tan_form
  VERIFY = standard_equation
  RETURN = point_on_hyperbola
 }

 R6_TANGENT_REASONING {
  INPUT = point_on_hyperbola_and_equation
  DERIVE = tangent_via_gradient_or_standard_formula
  VERIFY = first_order_contact
  RETURN = tangent_line
 }

 R7_RECTANGULAR_HYPERBOLA {
  INPUT = hyperbola
  TEST = asymptotes_perpendicular
  IF true
   RETURN RectangularHyperbola
  ELSE
   RETURN GeneralHyperbola
 }

 R8_GENERAL_CONIC_CLASSIFICATION {
  INPUT = "Ax^2+Bxy+Cy^2+Dx+Ey+F=0"
  COMPUTE = discriminant B^2-4AC
  CHECK = degeneracy
  IF B^2-4AC>0 AND nondegenerate_real_case
   RETURN Hyperbola
  ELSE
   RETURN OtherConicOrDegenerate
 }

 R9_TRANSFORMATION {
  INPUT = [hyperbola,T]
  IF rigid_or_similarity_transformation
   RETURN hyperbola_with_conic_type_preserved
  ELSE IF nondegenerate_affine_transformation
   RETURN hyperbolic_conic_image
 }
}

CONSTRAINTS {
 C1 = "For standard notation, a>0 and b>0."
 C2 = "The focal relation c^2=a^2+b^2 assumes a real nondegenerate hyperbola."
 C3 = "Eccentricity must satisfy e>1."
 C4 = "General quadratic classification must test degeneracy."
 C5 = "Rotated hyperbolas require cross-term or rotated-coordinate handling."
 C6 = "Asymptotes are not part of the hyperbola itself."
 C7 = "Parametric sec-tan forms require parameter values where sec and tan are defined."
 C8 = "Do not confuse a plane hyperbola with a three-dimensional hyperboloid."
}

SEMANTIC_EQUIVALENCE {
 "Hyperbola" <=> "OpenConicWithEccentricityGreaterThanOne"
 "Hyperbola" <=> "ConstantAbsoluteFocalDistanceDifferenceLocus"
 "SemiTransverseAxis" <=> "HalfTransverseAxis"
 "FocalDistance" <=> "CentreToFocusDistance"
 "RectangularHyperbola" <=> "HyperbolaWithPerpendicularAsymptotes"
}

VALIDATION {
 V1 = "Points satisfy the constant absolute focal-distance difference."
 V2 = "c^2=a^2+b^2."
 V3 = "e=c/a and e>1."
 V4 = "Horizontal vertices are (h±a,k)."
 V5 = "Vertical vertices are (h,k±a)."
 V6 = "Standard asymptotes pass through the centre."
 V7 = "Parametric points satisfy the standard equation where defined."
 V8 = "General conic classification excludes degenerate cases."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 HYPERBOLA_DEFINITION = 0.99
 FOCAL_RELATION = 0.99
 ECCENTRICITY_RELATION = 0.99
 ASYMPTOTE_RELATION = 0.99
 STANDARD_EQUATION_REASONING = 0.99
 PARAMETRIC_REASONING = 0.98
 CONIC_CLASSIFICATION = 0.98

 POLICY =
  "Reduce confidence when axis orientation, rotation, degeneracy, branch convention or affine transformation context are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  HyperbolaReasoning,
  ConicClassification,
  FocalReasoning,
  AsymptoteReasoning,
  CoordinateReasoning,
  ParametricReasoning,
  TangentReasoning,
  TransformationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "hyperbola" -> Hyperbola
  "hyperbolic conic" -> Hyperbola
  "transverse axis" -> TransverseAxis
  "conjugate axis" -> ConjugateAxis
  "semi-transverse axis" -> SemiTransverseAxis
  "focus" -> Focus WHEN hyperbola_context
  "asymptote" -> Asymptote WHEN hyperbola_context
  "rectangular hyperbola" -> RectangularHyperbola
 }

 INTERPRETATION_ORDER = [
  detect_hyperbola_context,
  identify centre axes orientation and equation,
  identify foci eccentricity directrices asymptotes or tangent data,
  classify standard rotated rectangular or general conic representation,
  apply focal coordinate parametric asymptote or tangent reasoning,
  verify nondegeneracy eccentricity and parameter constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("hyperbola")
  THEN activate(HyperbolaOntology)

 E2:
  IF standard_horizontal_equation_present
  THEN extract centre_vertices_foci_and_asymptotes

 E3:
  IF standard_vertical_equation_present
  THEN extract centre_vertices_foci_and_asymptotes

 E4:
  IF a_and_b_known
  THEN compute c=sqrt(a^2+b^2)
  AND e=c/a

 E5:
  IF focal_membership_requested
  THEN test abs(PF1-PF2)=2a

 E6:
  IF asymptotes_requested
  THEN use orientation_specific_standard_asymptote_formulas

 E7:
  IF parametric_point_requested
  THEN use orientation_specific_sec_tan_parameterisation

 E8:
  IF general_quadratic_equation_present
  THEN test B^2-4AC>0
  AND test_nondegeneracy
}

RECURSION {
 ENTRY = Hyperbola

 EXPAND(Hyperbola) -> [
  Centre,
  Focus,
  SemiTransverseAxis,
  SemiConjugateAxis,
  TransverseAxis,
  ConjugateAxis,
  Eccentricity,
  Directrix,
  Vertex,
  Asymptote,
  LatusRectum,
  Tangent,
  ParametricEquation
 ]

 EXPAND(FocalStructure) -> [
  Focus,
  FocalDistance,
  ConstantDistanceDifference,
  Directrix,
  Eccentricity
 ]

 EXPAND(CoordinateRepresentation) -> [
  HorizontalHyperbola,
  VerticalHyperbola,
  RotatedHyperbola,
  RectangularHyperbola,
  GeneralQuadraticEquation,
  ParametricEquation
 ]

 EXPAND(Asymptote) -> [
  Centre,
  Slope,
  BranchBehaviour,
  RectangularHyperbola
 ]

 STOP_CONDITION =
  "Stop when the hyperbola's defining data, focal structure, standard equation, asymptotes, parameterisation, tangent or transformation property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Plane Geometry"

 IMMEDIATE_CONTEXTS = [
  "Ellipse Ontology",
  "Parabola Ontology",
  "Coordinate Geometry Ontology",
  "Analytic Geometry Ontology",
  "Parametric Geometry Ontology"
 ]

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

 ROUTE_RULES = [
  "Hyperbola -> Plane Geometry for core two-dimensional semantics",
  "Hyperbola -> Analytic Geometry for conic classification",
  "Hyperbola -> Coordinate Geometry for standard equations",
  "Hyperbola -> Parametric Geometry for parameterisations",
  "Hyperbola -> Vector Geometry for tangent and normal reasoning",
  "Hyperbola -> Transformation for translation, rotation and affine images",
  "Hyperbola -> Ellipse or Parabola ontology for comparative conic reasoning"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

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

 RULES = [
  "Preserve hyperbola as a constant absolute focal-distance-difference locus.",
  "Preserve c^2=a^2+b^2.",
  "Preserve eccentricity e>1.",
  "Preserve transverse and conjugate axis semantics.",
  "Preserve asymptotes as limiting lines not part of the curve.",
  "Preserve degeneracy checks in general quadratic classification.",
  "Preserve machine-readable hyperbola semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A hyperbola is the locus of points for which the absolute difference of distances to two fixed foci is constant."

 HORIZONTAL_STANDARD_SUMMARY =
  "(x-h)^2/a^2-(y-k)^2/b^2=1"

 VERTICAL_STANDARD_SUMMARY =
  "(y-k)^2/a^2-(x-h)^2/b^2=1"

 FOCAL_SUMMARY =
  "c^2=a^2+b^2"

 ECCENTRICITY_SUMMARY =
  "e=c/a, with e>1"

 HORIZONTAL_ASYMPTOTE_SUMMARY =
  "y-k=±(b/a)(x-h)"

 VERTICAL_ASYMPTOTE_SUMMARY =
  "y-k=±(a/b)(x-h)"

 PARAMETRIC_SUMMARY =
  "Horizontal: x=h+a sec t, y=k+b tan t."
}

FLOW {
 INPUT
 -> detect_hyperbola_context
 -> identify centre_axes_orientation_and_representation
 -> identify semi_transverse_axis semi_conjugate_axis foci eccentricity directrices or asymptotes
 -> classify standard rotated rectangular or general conic form
 -> perform focal coordinate parametric asymptote tangent or transformation reasoning
 -> verify a>0 b>0 nondegeneracy eccentricity and parameter constraints
 -> route to ellipse parabola coordinate analytic parametric vector or transformation ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Hyperbola Ontology defines the open two-branch conic whose points have a constant absolute difference of distances from two foci. It organises the hyperbola around its centre, transverse and conjugate axes, vertices, foci, eccentricity, directrices, asymptotes, standard and parametric equations, tangents and transformation behaviour."
}

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

}

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