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
Download Code
Copy to Clipboard