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