Skip to main content

Cylinder Ontology

Solid 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 cylinder within the Kireth Research Semantic Library. A cylinder is a three-dimensional solid generated by translating a plane region along a direction, with the right circular cylinder as the principal elementary case. This ontology supports bases, axis, radius, height, curved surface, surface area, volume, cross-sections, coordinate equations, symmetry, transformations and relationships with prisms, cones and solids of revolution.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Cylinder Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Geometry"
 SPECIALISATION = "Solid Geometry / Curved Solids"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/solid-geometry/cylinder-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Cylinder
 SYMBOLIC_FORMS = [
  "x^2+y^2=r^2",
  "(x-h)^2+(y-k)^2=r^2"
 ]
 ENTITY_CLASS = CurvedSolid
 PRIMARY_CONTEXT = SolidGeometry
 DEFINITION = "A cylinder is a solid formed by translating a plane region along a fixed direction, with congruent parallel bases connected by a lateral surface."
 SEMANTIC_ROLE = "Provides the canonical parallel-base curved solid for surface-area, volume, cross-section, coordinate and transformation reasoning."
}

SCOPE {
 INCLUDE = [
  Cylinder,
  RightCylinder,
  ObliqueCylinder,
  CircularCylinder,
  RightCircularCylinder,
  Base,
  Axis,
  Radius,
  Height,
  Generator,
  LateralSurface,
  CurvedSurfaceArea,
  TotalSurfaceArea,
  Volume,
  CrossSection,
  CoordinateCylinder,
  Symmetry,
  SolidOfRevolution
 ]

 EXCLUDE_AS_PRIMARY = [
  Cone,
  Prism,
  Sphere,
  GeneralRuledSurfaceWithoutCylinderStructure,
  PhysicalPipeWithoutMathematicalIdealisation
 ]

 DISAMBIGUATION_RULE =
  "When cylinder occurs with circular bases, radius, height, curved surface area, volume, axis, generators or coordinate equations, interpret it as a geometric cylinder."
}

CORE_CONCEPTS {

 Cylinder {
  definition = "A solid with two congruent parallel bases connected by line generators."
 }

 RightCylinder {
  definition = "A cylinder whose generators are perpendicular to the base planes."
 }

 ObliqueCylinder {
  definition = "A cylinder whose generators are not perpendicular to the base planes."
 }

 CircularCylinder {
  definition = "A cylinder with circular bases."
 }

 RightCircularCylinder {
  definition = "A circular cylinder whose axis is perpendicular to its bases."
 }

 Base {
  definition = "One of the two congruent parallel plane regions forming the ends of the cylinder."
 }

 Axis {
  definition = "A line joining corresponding central points of the bases in a circular cylinder."
 }

 Radius {
  symbol = "r"
  definition = "The radius of a circular base."
 }

 Height {
  symbol = "h"
  definition = "The perpendicular distance between the base planes."
 }

 Generator {
  definition = "A line segment on the lateral surface joining corresponding points of the bases."
 }

 LateralSurface {
  definition = "The nonbase boundary surface joining the two bases."
 }

 CurvedSurfaceArea {
  right_circular_formula = "2*pi*r*h"
 }

 TotalSurfaceArea {
  right_circular_formula = "2*pi*r*h+2*pi*r^2"
 }

 Volume {
  formula = "base_area*height"
  right_circular_formula = "pi*r^2*h"
 }
}

RELATIONS {
 Cylinder --is_special_case_of--> Solid
 RightCylinder --is_special_case_of--> Cylinder
 ObliqueCylinder --is_special_case_of--> Cylinder
 CircularCylinder --is_special_case_of--> Cylinder
 RightCircularCylinder --is_special_case_of--> RightCylinder
 RightCircularCylinder --is_special_case_of--> CircularCylinder
 Cylinder --has--> TwoBases
 Cylinder --has--> LateralSurface
 Cylinder --has--> Height
 CircularCylinder --has--> Radius
 CircularCylinder --has--> Axis
 Generator --connects--> CorrespondingBasePoints
 Bases --are_parallel_to--> EachOther
 Bases --are_congruent_to--> EachOther
 Cylinder --can_have--> CrossSection
 Cylinder --can_be_transformed_by--> ThreeDimensionalTransformation
}

OPERATORS {
 BASE_AREA_CIRCLE(r) :=
  pi*r^2

 VOLUME(base_area,h) :=
  base_area*h

 VOLUME_RIGHT_CIRCULAR(r,h) :=
  pi*r^2*h

 CURVED_SURFACE_AREA_RIGHT_CIRCULAR(r,h) :=
  2*pi*r*h

 TOTAL_SURFACE_AREA_RIGHT_CIRCULAR(r,h) :=
  2*pi*r*h+2*pi*r^2

 DIAMETER(r) :=
  2*r

 AXIAL_CROSS_SECTION_RIGHT_CIRCULAR(r,h) :=
  rectangle(width=2*r,height=h)

 TRANSVERSE_CROSS_SECTION_RIGHT_CIRCULAR(r) :=
  circle(radius=r)

 STANDARD_INFINITE_CYLINDER_Z_AXIS(r) :=
  x^2+y^2=r^2

 TRANSFORM_CYLINDER(C,T) :=
  image_of_cylinder_under_3D_transformation(C,T)
}

DEFINITIONS {
 D1 = "A cylinder has two congruent parallel bases."
 D2 = "The lateral surface joins corresponding points of the bases."
 D3 = "Cylinder height is the perpendicular distance between base planes."
 D4 = "A right cylinder has generators perpendicular to its bases."
 D5 = "A circular cylinder has circular bases."
 D6 = "A right circular cylinder has volume pi*r^2*h."
 D7 = "A right circular cylinder has curved surface area 2*pi*r*h."
 D8 = "Its total surface area is 2*pi*r*h+2*pi*r^2."
 D9 = "A plane parallel to the bases cuts a right circular cylinder in a congruent circle."
 D10 = "An axial section of a right circular cylinder is a rectangle."
}

AXIOMS {
 A1_PARALLEL_BASES:
  The two bases of a cylinder lie in parallel planes

 A2_CONGRUENT_BASES:
  The bases are congruent

 A3_GENERATORS:
  Corresponding base boundary points are joined by parallel generators

 A4_HEIGHT:
  Height is the perpendicular separation of the base planes

 A5_VOLUME:
  Cylinder volume equals base_area*height

 A6_RIGHT_CIRCULAR_LATERAL_AREA:
  A right circular cylinder has lateral area circumference*height

 A7_RIGID_INVARIANCE:
  Rigid motions preserve cylinder dimensions and metric properties
}

REASONING {

 R1_CYLINDER_CLASSIFICATION {
  INPUT = solid_properties
  IDENTIFY = base_shape
  IDENTIFY = base_parallelism_and_congruence
  IDENTIFY = generator_orientation
  CLASSIFY = right_oblique_circular_or_right_circular
  RETURN = cylinder_type
 }

 R2_VOLUME {
  INPUT = [base_area,h]
  REQUIRE = h>=0
  COMPUTE = base_area*h
  RETURN = volume
 }

 R3_RIGHT_CIRCULAR_SURFACE_AREA {
  INPUT = [r,h]
  REQUIRE = r>0 AND h>=0
  COMPUTE = lateral=2*pi*r*h
  COMPUTE = bases=2*pi*r^2
  RETURN = requested_area
 }

 R4_TRANSVERSE_SECTION {
  INPUT = [right_circular_cylinder,plane_parallel_to_bases]
  INTERSECT = solid_with_plane
  RETURN = congruent_circle
 }

 R5_AXIAL_SECTION {
  INPUT = right_circular_cylinder
  SELECT = plane_through_axis
  INTERSECT = solid_with_plane
  RETURN = rectangle(2r by h)
 }

 R6_COORDINATE_CYLINDER {
  INPUT = equation
  IF equation=="(x-h)^2+(y-k)^2=r^2"
   IDENTIFY = axis_parallel_to_z
   IDENTIFY = radius r
   RETURN = infinite_circular_cylinder_surface
 }

 R7_NET_REASONING {
  INPUT = right_circular_cylinder
  UNROLL = lateral_surface
  RETURN = rectangle(2*pi*r by h)+two_circles
 }

 R8_TRANSFORMATION {
  INPUT = [cylinder,T]
  IF rigid_or_similarity
   RETURN corresponding_cylinder
  ELSE IF general_affine
   RETURN affine_cylinder_with_elliptical_or_other_affine_base_in_general
 }
}

CONSTRAINTS {
 C1 = "Cylinder height is perpendicular distance, not necessarily generator length in an oblique cylinder."
 C2 = "Curved surface area formula 2*pi*r*h is for a right circular cylinder."
 C3 = "Volume=base_area*height applies to right and oblique cylinders with appropriate perpendicular height."
 C4 = "Infinite coordinate cylinder equations describe surfaces unless axial bounds are added."
 C5 = "Cylinder surface and solid region must be distinguished when needed."
 C6 = "General affine transformations may change circular bases into ellipses."
 C7 = "Radius must be positive for a nondegenerate circular cylinder."
 C8 = "Total surface area includes both bases."
}

SEMANTIC_EQUIVALENCE {
 "Cylinder" <=> "SolidWithCongruentParallelBasesAndParallelGenerators"
 "RightCircularCylinder" <=> "CircularCylinderWithAxisPerpendicularToBases"
 "CylinderVolume" <=> "BaseAreaTimesHeight"
 "LateralAreaRightCircularCylinder" <=> "BaseCircumferenceTimesHeight"
 "AxialSection" <=> "PlaneSectionThroughCylinderAxis"
}

VALIDATION {
 V1 = "Bases are congruent and parallel."
 V2 = "Volume equals base_area*height."
 V3 = "Right circular curved area equals 2*pi*r*h."
 V4 = "Right circular total area equals 2*pi*r*h+2*pi*r^2."
 V5 = "Plane parallel to bases yields congruent cross-section."
 V6 = "Axial section of right circular cylinder is rectangle."
 V7 = "Height is perpendicular base separation."
 V8 = "Rigid motions preserve cylinder type and dimensions."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 CYLINDER_DEFINITION = 0.99
 CLASSIFICATION = 0.99
 VOLUME_REASONING = 0.99
 SURFACE_AREA_REASONING = 0.99
 CROSS_SECTION_REASONING = 0.99
 COORDINATE_REASONING = 0.98
 TRANSFORMATION_REASONING = 0.98

 POLICY =
  "Reduce confidence when right-versus-oblique status, base shape, height, boundedness or transformation class are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  CylinderReasoning,
  SolidGeometryReasoning,
  SurfaceAreaReasoning,
  VolumeReasoning,
  CrossSectionReasoning,
  CoordinateReasoning,
  SymmetryReasoning,
  TransformationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "cylinder" -> Cylinder
  "right cylinder" -> RightCylinder
  "oblique cylinder" -> ObliqueCylinder
  "circular cylinder" -> CircularCylinder
  "right circular cylinder" -> RightCircularCylinder
  "cylinder volume" -> Volume
  "curved surface area" -> CurvedSurfaceArea WHEN cylinder_context
 }

 INTERPRETATION_ORDER = [
  detect_cylinder_context,
  identify base_shape orientation radius height and axis,
  classify right oblique circular or right_circular,
  identify volume surface_area cross_section coordinate net or transformation goal,
  apply cylinder_specific formulas_and_theorems,
  verify perpendicular_height base_shape and boundedness constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("cylinder")
  AND geometry_context
  THEN activate(CylinderOntology)

 E2:
  IF circular_bases_and_perpendicular_axis
  THEN classify(RightCircularCylinder)

 E3:
  IF volume_requested
  THEN compute base_area*perpendicular_height

 E4:
  IF curved_surface_area_requested
  AND right_circular_context
  THEN compute 2*pi*r*h

 E5:
  IF total_surface_area_requested
  AND right_circular_context
  THEN compute 2*pi*r*h+2*pi*r^2

 E6:
  IF axial_section_requested
  AND right_circular_context
  THEN return rectangle(2r,h)

 E7:
  IF coordinate_equation_without_axial_bounds
  THEN interpret as infinite_cylindrical_surface

 E8:
  IF transformation_context
  THEN classify rigid_similarity_or_affine map
}

RECURSION {
 ENTRY = Cylinder

 EXPAND(Cylinder) -> [
  Base,
  Axis,
  Height,
  Generator,
  LateralSurface,
  RightCylinder,
  ObliqueCylinder,
  CircularCylinder,
  RightCircularCylinder,
  CrossSection,
  SurfaceArea,
  Volume,
  Symmetry
 ]

 EXPAND(RightCircularCylinder) -> [
  Radius,
  Diameter,
  BaseCircle,
  CurvedSurfaceArea,
  TotalSurfaceArea,
  AxialSection,
  TransverseSection,
  Net
 ]

 EXPAND(CrossSection) -> [
  Circle,
  Rectangle,
  Ellipse,
  OtherPlaneCurveDependingOnCut
 ]

 EXPAND(CoordinateCylinder) -> [
  AxisDirection,
  Radius,
  QuadraticEquation,
  AxialBounds
 ]

 STOP_CONDITION =
  "Stop when the cylinder's type, dimensions, surface measure, volume, cross-section, coordinate representation or transformation property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Solid Geometry"

 IMMEDIATE_CONTEXTS = [
  "Solid Geometry Ontology",
  "Circle Ontology",
  "Cone Ontology",
  "Prism Ontology"
 ]

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

 ROUTE_RULES = [
  "Cylinder -> Solid Geometry Ontology for general three-dimensional semantics",
  "Cylinder -> Circle for circular-base reasoning",
  "Cylinder -> Plane Geometry for base and cross-section geometry",
  "Cylinder -> Coordinate Geometry for axis-aligned equations",
  "Cylinder -> Analytic Geometry for quadratic surface representation",
  "Cylinder -> Vector Geometry for axis and plane-section reasoning",
  "Cylinder -> Transformation for rigid, similarity and affine images",
  "Cylinder -> Cone for comparative curved-solid reasoning"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible cylinder classes, formulas, relations or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve congruent-parallel-base semantics.",
  "Preserve distinction between right and oblique cylinders.",
  "Preserve perpendicular-height meaning.",
  "Preserve right-circular surface-area formulas.",
  "Preserve surface-versus-solid distinction.",
  "Preserve bounded-versus-infinite coordinate representation distinction.",
  "Preserve machine-readable cylinder semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A cylinder is a solid with two congruent parallel bases joined by a lateral surface generated by parallel line segments."

 VOLUME_SUMMARY =
  "V=base_area*h"

 RIGHT_CIRCULAR_VOLUME_SUMMARY =
  "V=pi*r^2*h"

 CURVED_AREA_SUMMARY =
  "A_lateral=2*pi*r*h for a right circular cylinder."

 TOTAL_AREA_SUMMARY =
  "A_total=2*pi*r*h+2*pi*r^2 for a closed right circular cylinder."

 AXIAL_SECTION_SUMMARY =
  "A plane through the axis of a right circular cylinder gives a rectangle of dimensions 2r by h."

 COORDINATE_SUMMARY =
  "(x-h)^2+(y-k)^2=r^2 describes an infinite circular cylinder parallel to the z-axis."
}

FLOW {
 INPUT
 -> detect_cylinder_context
 -> identify bases_axis_height_generators_and_radius_when_applicable
 -> classify right_oblique_circular_or_right_circular cylinder
 -> identify volume_surface_area_cross_section_coordinate_net_symmetry_or_transformation goal
 -> apply cylinder_specific geometry
 -> verify perpendicular_height radius boundedness and surface_or_solid constraints
 -> route to solid_geometry circle plane coordinate analytic vector cone_prism_or_transformation ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Cylinder Ontology defines solids with congruent parallel bases connected by parallel generators, with the right circular cylinder as the principal elementary form. It supports exact reasoning about radius, height, axis, surface area, volume, nets, cross-sections, coordinate equations, symmetry and transformations while preserving the distinction between right, oblique, bounded and infinite cylindrical forms."
}

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

}

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