Skip to main content

Polyhedron 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 polyhedron within the Kireth Research Semantic Library. A polyhedron is a three-dimensional solid bounded by finitely many polygonal faces meeting along edges and vertices. This ontology supports face-edge-vertex incidence, convexity, regularity, Euler characteristic, prisms, pyramids, Platonic solids, duality, surface area, volume, nets, cross-sections, coordinate representation, symmetry and transformations.

FLOW_ALGEBRA_RECORD {

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

IDENTITY {
 PRIMARY_ENTITY = Polyhedron
 SYMBOLIC_FORMS = ["V-E+F", "{faces,edges,vertices}"]
 ENTITY_CLASS = PolyhedralSolid
 PRIMARY_CONTEXT = SolidGeometry
 DEFINITION = "A polyhedron is a three-dimensional geometric solid bounded by finitely many polygonal faces that meet along edges and vertices."
 SEMANTIC_ROLE = "Provides the general finite-faced solid framework for combinatorial, metric, topological, coordinate and transformation reasoning."
}

SCOPE {
 INCLUDE = [
  Polyhedron,
  ConvexPolyhedron,
  ConcavePolyhedron,
  RegularPolyhedron,
  SemiregularPolyhedron,
  Prism,
  Pyramid,
  Tetrahedron,
  Cube,
  Octahedron,
  Dodecahedron,
  Icosahedron,
  Face,
  Edge,
  Vertex,
  FaceIncidence,
  EdgeIncidence,
  VertexFigure,
  EulerCharacteristic,
  SurfaceArea,
  Volume,
  Net,
  CrossSection,
  DualPolyhedron,
  Symmetry
 ]

 EXCLUDE_AS_PRIMARY = [
  SmoothCurvedSolid,
  GeneralManifoldWithoutPolyhedralStructure,
  InfinitePolyhedralTessellationUnlessExplicit,
  PhysicalObjectWithoutMathematicalAbstraction
 ]

 DISAMBIGUATION_RULE =
  "When polyhedron occurs with polygonal faces, edges, vertices, Euler's formula, Platonic solids, prisms, pyramids or nets, interpret it as a geometric polyhedron."
}

CORE_CONCEPTS {

 Polyhedron {
  definition = "A solid bounded by a finite collection of polygonal faces."
 }

 Face {
  definition = "A polygonal boundary component of a polyhedron."
 }

 Edge {
  definition = "A line segment shared by two faces in a closed manifold-like polyhedron."
 }

 Vertex {
  definition = "A point where three or more edges and faces may meet."
 }

 ConvexPolyhedron {
  definition = "A polyhedron containing every segment joining two of its points."
 }

 ConcavePolyhedron {
  definition = "A polyhedron that is not convex."
 }

 RegularPolyhedron {
  definition = "A convex polyhedron with congruent regular polygonal faces and the same number of faces meeting at every vertex."
 }

 EulerCharacteristic {
  definition = "The topological invariant chi=V-E+F for a polyhedral surface."
  convex_sphere_like_value = "2"
 }

 DualPolyhedron {
  definition = "A polyhedron obtained by interchanging face and vertex incidence structure."
 }

 VertexFigure {
  definition = "The polygon formed by slicing near a vertex or by recording the cyclic arrangement of incident faces and edges."
 }

 Net {
  definition = "A planar unfolding of the faces of a polyhedron."
 }
}

RELATIONS {
 Polyhedron --is_special_case_of--> Solid
 Polyhedron --has--> Face
 Polyhedron --has--> Edge
 Polyhedron --has--> Vertex
 Face --is--> Polygon
 AdjacentFaces --meet_along--> Edge
 Edges --meet_at--> Vertex
 ConvexPolyhedron --is_special_case_of--> Polyhedron
 RegularPolyhedron --is_special_case_of--> ConvexPolyhedron
 Prism --is_special_case_of--> Polyhedron
 Pyramid --is_special_case_of--> Polyhedron
 Tetrahedron --is_special_case_of--> Polyhedron
 Cube --is_special_case_of--> RegularPolyhedron
 Octahedron --is_special_case_of--> RegularPolyhedron
 Dodecahedron --is_special_case_of--> RegularPolyhedron
 Icosahedron --is_special_case_of--> RegularPolyhedron
 Polyhedron --can_have--> DualPolyhedron
 Polyhedron --can_have--> Net
 Polyhedron --can_have--> CrossSection
 Polyhedron --has_measure--> SurfaceArea
 Polyhedron --has_measure--> Volume
}

OPERATORS {
 EULER_CHARACTERISTIC(V,E,F) :=
  V-E+F

 VALIDATE_EULER_SPHERE_LIKE(V,E,F) :=
  V-E+F==2

 SURFACE_AREA(P) :=
  sum(face_area for each face in P)

 VOLUME(P) :=
  compute_volume_by_type_decomposition_or_coordinates(P)

 IS_CONVEX(P) :=
  every_segment_between_points_lies_in_or_on(P)

 IS_REGULAR(P) :=
  all_faces_congruent_regular_polygons
  AND same_vertex_configuration_everywhere
  AND convex(P)

 DUAL(P) :=
  construct_incidence_dual(P)

 CROSS_SECTION(P,PLANE) :=
  geometric_intersection(P,PLANE)

 NET(P) :=
  planar_unfolding_of_faces(P)

 TRANSFORM_POLYHEDRON(P,T) :=
  image_of_polyhedron_under_3D_transformation(P,T)
}

DEFINITIONS {
 D1 = "A polyhedron is bounded by polygonal faces."
 D2 = "Faces meet along edges."
 D3 = "Edges meet at vertices."
 D4 = "Convex polyhedra contain every segment joining two of their points."
 D5 = "For convex sphere-like polyhedra, V-E+F=2."
 D6 = "A regular polyhedron has congruent regular faces and identical vertex configuration."
 D7 = "There are five Platonic solids."
 D8 = "A dual polyhedron interchanges faces and vertices while preserving incidence structure."
 D9 = "A polyhedron net is a planar unfolding of its faces."
 D10 = "Surface area is the sum of face areas."
}

AXIOMS {
 A1_FINITE_FACE_SET:
  A finite polyhedron has finitely many polygonal faces

 A2_FACE_EDGE_INCIDENCE:
  Adjacent faces meet along edges

 A3_EDGE_VERTEX_INCIDENCE:
  Edges terminate at vertices

 A4_BOUNDARY_CLOSURE:
  The polyhedral faces form a closed boundary for a solid polyhedron

 A5_EULER_SPHERE_LIKE:
  For convex or more generally genus-zero closed polyhedra, V-E+F=2

 A6_REGULARITY:
  Regular polyhedra have congruent regular faces and identical vertex figures

 A7_SURFACE_AREA:
  Polyhedral surface area equals the sum of component face areas

 A8_AFFINE_STRUCTURE:
  Nondegenerate affine transformations map polyhedra to polyhedra
}

REASONING {

 R1_POLYHEDRON_CLASSIFICATION {
  INPUT = solid_properties
  TEST = finite_polygonal_faces
  TEST = closed_face_edge_vertex_structure
  IF true
   RETURN Polyhedron
  ELSE
   RETURN NotPolyhedron
 }

 R2_INCIDENCE {
  INPUT = faces_edges_vertices
  BUILD = incidence_graph
  VERIFY = face_edge_vertex_adjacency
  RETURN = polyhedral_combinatorial_structure
 }

 R3_EULER_REASONING {
  INPUT = [V,E,F,topology]
  COMPUTE = chi=V-E+F
  IF genus_zero_closed_context
   COMPARE = chi with 2
  RETURN = Euler_status
 }

 R4_CONVEXITY {
  INPUT = polyhedron
  TEST = half_space_supporting_planes_or_segment_condition
  RETURN = ConvexOrConcave
 }

 R5_REGULARITY {
  INPUT = polyhedron
  TEST = convexity
  TEST = congruent_regular_faces
  TEST = uniform_vertex_configuration
  IF all_true
   RETURN RegularPolyhedron
  ELSE
   RETURN NonregularPolyhedron
 }

 R6_SURFACE_AREA {
  INPUT = polyhedron
  COMPUTE = sum_of_face_areas
  RETURN = surface_area
 }

 R7_VOLUME {
  INPUT = polyhedron
  SELECT = direct_formula decomposition tetrahedralisation or coordinate_method
  COMPUTE = volume
  RETURN = volume
 }

 R8_DUALITY {
  INPUT = polyhedron P
  MAP = each_face_to_dual_vertex
  MAP = each_vertex_to_dual_face
  MAP = each_edge_to_dual_edge
  RETURN = dual_polyhedron
 }

 R9_NET_REASONING {
  INPUT = polyhedron
  SELECT = edge_cut_set
  UNFOLD = faces_into_plane
  VERIFY = no_overlap_when_valid_net_required
  RETURN = candidate_or_valid_net
 }

 R10_CROSS_SECTION {
  INPUT = [polyhedron,plane]
  INTERSECT = faces_and_edges_with_plane
  ORDER = intersection_vertices
  RETURN = polygonal_cross_section
 }

 R11_TRANSFORMATION {
  INPUT = [polyhedron,T]
  IF affine_nondegenerate
   PRESERVE = incidence_collinearity_planarity
   RETURN = transformed_polyhedron
  ELSE
   TRACK = transformation_specific_changes
 }
}

CONSTRAINTS {
 C1 = "Euler's formula V-E+F=2 is not universal for all polyhedra with holes or nonmanifold structure."
 C2 = "Regularity requires more than congruent faces alone."
 C3 = "Convexity and regularity must not be conflated."
 C4 = "A net may fail through overlap even when face adjacency is correct."
 C5 = "Surface area and volume are distinct measures."
 C6 = "General affine transformations preserve polyhedral incidence but not lengths or angles."
 C7 = "Self-intersecting or star polyhedra require separate conventions."
 C8 = "Face, edge and vertex counts depend on the chosen polyhedral complex representation."
}

SEMANTIC_EQUIVALENCE {
 "Polyhedron" <=> "FiniteSolidBoundedByPolygonalFaces"
 "ConvexPolyhedron" <=> "PolyhedronWithConvexSolidRegion"
 "RegularPolyhedron" <=> "UniformConvexPolyhedronWithCongruentRegularFaces"
 "EulerCharacteristic" <=> "VMinusEPlusF"
 "DualPolyhedron" <=> "FaceVertexIncidenceDual"
}

VALIDATION {
 V1 = "Faces are polygons."
 V2 = "Faces meet along edges and edges meet at vertices."
 V3 = "Closed sphere-like convex polyhedra satisfy V-E+F=2."
 V4 = "Regular polyhedra satisfy uniform face and vertex conditions."
 V5 = "Surface area equals sum of face areas."
 V6 = "Cross-sections are planar polygons or degenerate planar sets."
 V7 = "Duality swaps face and vertex counts."
 V8 = "Affine images preserve polyhedral incidence structure."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 POLYHEDRON_DEFINITION = 0.99
 INCIDENCE_REASONING = 0.99
 EULER_REASONING = 0.98
 CONVEXITY_REASONING = 0.98
 REGULARITY_REASONING = 0.99
 DUALITY_REASONING = 0.98
 NET_REASONING = 0.97

 POLICY =
  "Reduce confidence when topology, manifold status, self-intersection, convexity, face structure or transformation class are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  PolyhedronReasoning,
  IncidenceReasoning,
  EulerCharacteristicReasoning,
  ConvexityReasoning,
  RegularPolyhedronReasoning,
  SurfaceAreaReasoning,
  VolumeReasoning,
  NetReasoning,
  CrossSectionReasoning,
  DualityReasoning,
  TransformationReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "polyhedron" -> Polyhedron
  "polyhedra" -> Polyhedron
  "convex polyhedron" -> ConvexPolyhedron
  "regular polyhedron" -> RegularPolyhedron
  "Platonic solid" -> RegularPolyhedron
  "polyhedral net" -> Net
  "Euler formula" -> EulerCharacteristic
  "dual polyhedron" -> DualPolyhedron
 }

 INTERPRETATION_ORDER = [
  detect_polyhedron_context,
  identify faces_edges_vertices_and_topology,
  classify convex concave regular prism pyramid or other,
  identify incidence Euler surface_area volume net cross_section duality or transformation goal,
  apply polyhedral combinatorial_metric_or_topological reasoning,
  verify topology manifold and convexity constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("polyhedron")
  OR query_mentions("polyhedra")
  THEN activate(PolyhedronOntology)

 E2:
  IF face_edge_vertex_counts_present
  THEN compute V-E+F
  AND interpret_using_topology_context

 E3:
  IF convexity_requested
  THEN apply valid convexity criterion

 E4:
  IF regularity_requested
  THEN verify convexity congruent_regular_faces and uniform_vertex_configuration

 E5:
  IF surface_area_requested
  THEN sum face areas

 E6:
  IF volume_requested
  THEN choose type_specific_or_decomposition_method

 E7:
  IF net_requested
  THEN unfold_faces_across_selected_edges
  AND test overlap_when_required

 E8:
  IF dual_requested
  THEN interchange face_and_vertex incidence

 E9:
  IF transformation_context
  THEN classify transformation and preserve incidence under nondegenerate_affine maps
}

RECURSION {
 ENTRY = Polyhedron

 EXPAND(Polyhedron) -> [
  Face,
  Edge,
  Vertex,
  ConvexPolyhedron,
  ConcavePolyhedron,
  RegularPolyhedron,
  Prism,
  Pyramid,
  SurfaceArea,
  Volume,
  Net,
  CrossSection,
  EulerCharacteristic,
  DualPolyhedron,
  Symmetry
 ]

 EXPAND(RegularPolyhedron) -> [
  Tetrahedron,
  Cube,
  Octahedron,
  Dodecahedron,
  Icosahedron
 ]

 EXPAND(CombinatorialStructure) -> [
  FaceIncidence,
  EdgeIncidence,
  VertexIncidence,
  VertexFigure,
  EulerCharacteristic
 ]

 EXPAND(Duality) -> [
  FaceVertexSwap,
  EdgeCorrespondence,
  TetrahedronDuality,
  CubeOctahedronDuality,
  DodecahedronIcosahedronDuality
 ]

 STOP_CONDITION =
  "Stop when the polyhedron's incidence structure, type, Euler characteristic, convexity, regularity, surface measure, volume, net, cross-section, dual or transformation property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Solid Geometry"

 IMMEDIATE_CONTEXTS = [
  "Solid Geometry Ontology",
  "Prism Ontology",
  "Pyramid Ontology",
  "Cube Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Solid Geometry Ontology",
  "Prism Ontology",
  "Pyramid Ontology",
  "Cube Ontology",
  "Cuboid Ontology",
  "Plane Geometry",
  "Polygon Ontology",
  "Graph Theory Ontologies",
  "Coordinate Geometry Ontology",
  "Vector Geometry Ontology",
  "Transformation Ontology",
  "Affine Transformation Ontology"
 ]

 ROUTE_RULES = [
  "Polyhedron -> Solid Geometry Ontology for general 3D semantics",
  "Polyhedron -> Polygon for face geometry",
  "Polyhedron -> Prism or Pyramid for structural specialisations",
  "Polyhedron -> Cube for regular-hexahedron specialisation",
  "Polyhedron -> Graph Theory for incidence graph reasoning",
  "Polyhedron -> Coordinate Geometry for vertex coordinates",
  "Polyhedron -> Vector Geometry for face normals and spatial relations",
  "Polyhedron -> Transformation for affine images"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

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

 RULES = [
  "Preserve finite polygonal-face boundary semantics.",
  "Preserve face-edge-vertex incidence structure.",
  "Preserve topology-sensitive Euler reasoning.",
  "Preserve convexity-versus-regularity distinction.",
  "Preserve duality semantics.",
  "Preserve surface-area and volume distinctions.",
  "Preserve machine-readable polyhedron semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A polyhedron is a three-dimensional solid bounded by finitely many polygonal faces meeting along edges and vertices."

 STRUCTURE_SUMMARY =
  "Core elements: faces, edges and vertices."

 EULER_SUMMARY =
  "For convex genus-zero polyhedra, V-E+F=2."

 REGULARITY_SUMMARY =
  "A regular polyhedron has congruent regular faces and an identical vertex configuration at every vertex."

 SURFACE_AREA_SUMMARY =
  "Surface area is the sum of all face areas."

 DUALITY_SUMMARY =
  "Duality interchanges faces and vertices while preserving edge correspondence."

 TRANSFORMATION_SUMMARY =
  "Nondegenerate affine transformations preserve polyhedral incidence structure."
}

FLOW {
 INPUT
 -> detect_polyhedron_context
 -> identify_faces_edges_vertices_and_topology
 -> classify convex_concave_regular_prism_pyramid_or_other
 -> identify incidence_Euler_surface_area_volume_net_cross_section_duality_or_transformation goal
 -> apply polyhedral combinatorial_metric_topological_or_coordinate reasoning
 -> verify manifold_topology_convexity_and_face_structure constraints
 -> route to solid_geometry polygon prism pyramid cube graph_coordinate_vector_or_transformation ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Polyhedron Ontology defines finite-faced three-dimensional solids through their polygonal faces, edges and vertices. It supports combinatorial incidence, Euler characteristic, convexity, regularity, Platonic solids, surface area, volume, nets, cross-sections, duality, symmetry, coordinate representation and affine transformation reasoning."
}

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

}

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