Skip to main content

Area Ontology

Geometric Measurement
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 area within the Kireth Research Semantic Library. Area is a two-dimensional geometric measure of the extent of planar regions and surfaces projected or parameterised in two dimensions. This ontology supports polygons, triangles, quadrilaterals, circles, sectors, ellipses, composite regions, coordinate formulas, integral-based area, scaling, units, dimensional analysis, exact and approximate values and relationships with perimeter, surface area, geometric measurement and calculus.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Area Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Geometry"
 SPECIALISATION = "Geometric Measurement / Area"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/geometric-measurement/area-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Area
 SYMBOLIC_FORMS = [
  "A",
  "measure_2(R)",
  "double_integral_R dA"
 ]
 ENTITY_CLASS = TwoDimensionalGeometricMeasure
 PRIMARY_CONTEXT = GeometricMeasurement
 DEFINITION = "Area is the nonnegative two-dimensional measure of the extent of a planar region."
 SEMANTIC_ROLE = "Provides the quantitative framework for measuring planar regions, polygonal domains, circles, sectors, coordinate-defined regions, composite figures and scaled shapes."
}

SCOPE {
 INCLUDE = [
  Area,
  PlanarArea,
  PolygonArea,
  TriangleArea,
  RectangleArea,
  SquareArea,
  ParallelogramArea,
  TrapeziumArea,
  RhombusArea,
  KiteArea,
  CircleArea,
  SectorArea,
  EllipseArea,
  CompositeArea,
  SignedArea,
  CoordinateArea,
  ShoelaceFormula,
  HeronFormula,
  DeterminantArea,
  IntegralArea,
  ScaleFactor,
  Unit,
  UnitConversion,
  ExactArea,
  ApproximateArea,
  MeasurementPrecision,
  ErrorBound
 ]

 EXCLUDE_AS_PRIMARY = [
  Perimeter,
  SurfaceAreaOfThreeDimensionalObjectUnlessExplicit,
  Volume,
  ProbabilityMeasureWithoutGeometricContext,
  GeneralMeasureTheoryUnlessExplicit
 ]

 DISAMBIGUATION_RULE =
  "When the task concerns the two-dimensional size of a planar region, polygon, circle, sector, ellipse or coordinate-defined domain, interpret the quantity as area."
}

CORE_CONCEPTS {

 Area {
  definition = "A two-dimensional geometric measure."
  dimension = "L^2"
 }

 PolygonArea {
  definition = "The area enclosed by a polygonal boundary."
 }

 TriangleArea {
  definition = "The area enclosed by three line segments."
 }

 RectangleArea {
  relation = "A=l*w"
 }

 SquareArea {
  relation = "A=s^2"
 }

 ParallelogramArea {
  relation = "A=b*h"
 }

 TrapeziumArea {
  relation = "A=(1/2)*(a+b)*h"
 }

 CircleArea {
  relation = "A=pi*r^2"
 }

 SectorArea {
  relation = "A=(1/2)*r^2*theta"
  condition = "theta in radians"
 }

 EllipseArea {
  relation = "A=pi*a*b"
 }

 CompositeArea {
  definition = "Area obtained by adding and subtracting component-region areas."
 }

 SignedArea {
  definition = "An oriented area whose sign depends on orientation convention."
 }
}

RELATIONS {
 Area --is_measure_of--> TwoDimensionalExtent
 PolygonArea --is_special_case_of--> Area
 TriangleArea --is_special_case_of--> PolygonArea
 RectangleArea --is_special_case_of--> PolygonArea
 SquareArea --is_special_case_of--> RectangleArea
 CircleArea --is_special_case_of--> Area
 SectorArea --is_part_of--> CircleArea
 EllipseArea --is_special_case_of--> Area
 CompositeArea --is_combination_of--> ComponentAreas
 CoordinateArea --is_computed_from--> Coordinates
 ShoelaceFormula --computes--> PolygonArea
 HeronFormula --computes--> TriangleArea
 ScaleFactor --transforms--> Area
 UnitConversion --preserves--> AreaMagnitude
 IntegralArea --computes--> Area
}

OPERATORS {
 RECTANGLE_AREA(l,w) :=
  l*w

 SQUARE_AREA(s) :=
  s^2

 TRIANGLE_AREA_BASE_HEIGHT(b,h) :=
  0.5*b*h

 TRIANGLE_AREA_COORDINATES(A,B,C) :=
  0.5*abs(det([[x_B-x_A,y_B-y_A],[x_C-x_A,y_C-y_A]]))

 TRIANGLE_AREA_HERON(a,b,c) :=
  sqrt(s*(s-a)*(s-b)*(s-c))
  WHERE s=(a+b+c)/2

 PARALLELOGRAM_AREA(b,h) :=
  b*h

 TRAPEZIUM_AREA(a,b,h) :=
  0.5*(a+b)*h

 RHOMBUS_AREA(d1,d2) :=
  0.5*d1*d2

 KITE_AREA(d1,d2) :=
  0.5*d1*d2
  WHEN diagonals_are_perpendicular

 CIRCLE_AREA(r) :=
  pi*r^2

 SECTOR_AREA(r,theta_radians) :=
  0.5*r^2*theta_radians

 ELLIPSE_AREA(a,b) :=
  pi*a*b

 POLYGON_AREA_SHOELACE(P_1,...,P_n) :=
  0.5*abs(sum_i(x_i*y_{i+1}-y_i*x_{i+1}))
  WITH P_{n+1}=P_1

 SIGNED_POLYGON_AREA(P_1,...,P_n) :=
  0.5*sum_i(x_i*y_{i+1}-y_i*x_{i+1})

 AREA_BY_INTEGRAL(f,g,a,b) :=
  integral_a^b abs(f(x)-g(x)) dx
  WHEN f_and_g_define_region_boundaries

 SCALE_AREA(A,k) :=
  k^2*A

 CONVERT_AREA(A,unit_from,unit_to) :=
  A*conversion_factor_squared(unit_from,unit_to)
}

DEFINITIONS {
 D1 = "Area has dimension L^2."
 D2 = "Area is nonnegative unless an explicitly signed convention is used."
 D3 = "Triangle area may be computed from base-height, coordinates, vectors or Heron's formula."
 D4 = "Polygon area may be computed by decomposition or the shoelace formula."
 D5 = "Circle area is pi*r^2."
 D6 = "Sector area is half r^2 theta when theta is in radians."
 D7 = "Ellipse area is pi*a*b."
 D8 = "Composite area is obtained by addition and subtraction of component regions."
 D9 = "Similarity scale factor k changes area by k^2."
 D10 = "Area units are squared length units."
}

AXIOMS {
 A1_NONNEGATIVITY:
  Area >= 0 for ordinary geometric area

 A2_ADDIVITY:
  Area of disjoint regions is the sum of component areas under suitable conditions

 A3_CONGRUENCE_INVARIANCE:
  Congruent planar regions have equal area

 A4_SCALE:
  Similarity transformation with factor k multiplies area by k^2

 A5_UNIT_INVARIANCE:
  Correct unit conversion preserves area magnitude

 A6_DIMENSION:
  Area has dimension L^2

 A7_COORDINATE_INVARIANCE:
  Rigid coordinate transformations preserve ordinary area

 A8_ORIENTATION:
  Signed area changes sign when polygon orientation reverses
}

REASONING {

 R1_AREA_CLASSIFICATION {
  INPUT = geometric_region
  IDENTIFY = triangle_rectangle_polygon_circle_sector_ellipse_composite_or_coordinate_domain
  RETURN = area_type
 }

 R2_FORMULA_SELECTION {
  INPUT = region_type_and_known_parameters
  MATCH = valid_area_formula
  VERIFY = assumptions
  RETURN = formula
 }

 R3_TRIANGLE_AREA {
  INPUT = available_triangle_data
  IF base_and_height
   APPLY = 0.5*b*h
  ELSE IF three_sides
   APPLY = Heron
  ELSE IF coordinates
   APPLY = determinant_formula
  ELSE
   ROUTE = trigonometric_or_vector method
  RETURN = area
 }

 R4_POLYGON_AREA {
  INPUT = polygon
  IF ordered_coordinates_available
   APPLY = shoelace_formula
  ELSE
   DECOMPOSE = into_nonoverlapping_simple_regions
   SUM = component_areas
  RETURN = polygon_area
 }

 R5_CIRCLE_SECTOR {
  INPUT = radius_and_optional_angle
  IF full_circle
   COMPUTE = pi*r^2
  ELSE
   VERIFY = angle_units
   COMPUTE = 0.5*r^2*theta_radians
  RETURN = area
 }

 R6_COMPOSITE_AREA {
  INPUT = component_regions
  IDENTIFY = included_and_excluded_regions
  COMPUTE = component_areas
  COMBINE = additions_minus_subtractions
  RETURN = composite_area
 }

 R7_INTEGRAL_AREA {
  INPUT = curves_or_region_bounds
  IDENTIFY = integration_variable_and_intersections
  SPLIT = interval_if_boundary_order_changes
  INTEGRATE = nonnegative_difference
  RETURN = area
 }

 R8_SCALE {
  INPUT = original_area_and_scale_factor
  COMPUTE = k^2*A
  RETURN = scaled_area
 }

 R9_UNIT_CONVERSION {
  INPUT = area_value_source_unit_target_unit
  VERIFY = both_are_area_units_or_corresponding_length_units
  APPLY = squared_conversion_factor
  RETURN = converted_area
 }
}

CONSTRAINTS {
 C1 = "Area and perimeter must not be conflated."
 C2 = "Area units are squared."
 C3 = "Sector formulas require correct angle units."
 C4 = "Shoelace formula requires ordered polygon vertices."
 C5 = "Self-intersecting polygons require explicit signed or winding conventions."
 C6 = "Composite areas must avoid double-counting overlaps."
 C7 = "Heron's formula requires valid triangle side lengths."
 C8 = "Scale factors affect area quadratically."
 C9 = "Approximate dimensions produce approximate area."
 C10 = "Signed area and ordinary area must be distinguished."
}

SEMANTIC_EQUIVALENCE {
 "Area" <=> "TwoDimensionalMeasure"
 "PolygonArea" <=> "AreaEnclosedByPolygon"
 "CircleArea" <=> "PiRadiusSquared"
 "SectorArea" <=> "CircularSectorMeasure"
 "SignedArea" <=> "OrientationSensitiveArea"
 "CoordinateArea" <=> "AreaComputedFromCoordinates"
}

VALIDATION {
 V1 = "Result is nonnegative unless signed area is explicitly requested."
 V2 = "Output unit has dimension L^2."
 V3 = "Formula assumptions match the geometry."
 V4 = "Polygon vertices are ordered correctly."
 V5 = "Triangle side lengths satisfy triangle inequality before Heron."
 V6 = "Sector angle units are valid."
 V7 = "Composite regions are not double-counted."
 V8 = "Scale factor uses second power."
 V9 = "Approximation status is preserved."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 AREA_DEFINITION = 0.99
 TRIANGLE_AREA_REASONING = 0.99
 POLYGON_AREA_REASONING = 0.99
 CIRCLE_AREA_REASONING = 0.99
 COMPOSITE_AREA_REASONING = 0.98
 INTEGRAL_AREA_REASONING = 0.98
 SCALE_REASONING = 0.99
 UNIT_REASONING = 0.99

 POLICY =
  "Reduce confidence when region boundaries, polygon ordering, overlap structure, angle units, scale factor, units or approximation precision are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  AreaReasoning,
  GeometricMeasurementReasoning,
  TriangleAreaReasoning,
  PolygonAreaReasoning,
  CoordinateAreaReasoning,
  CircleAreaReasoning,
  SectorAreaReasoning,
  CompositeAreaReasoning,
  IntegralAreaReasoning,
  ScaleReasoning,
  UnitConversionReasoning,
  DimensionalAnalysis,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "area" -> Area WHEN geometry_context
  "triangle area" -> TriangleArea
  "rectangle area" -> RectangleArea
  "square area" -> SquareArea
  "polygon area" -> PolygonArea
  "circle area" -> CircleArea
  "sector area" -> SectorArea
  "ellipse area" -> EllipseArea
  "signed area" -> SignedArea
  "shoelace formula" -> ShoelaceFormula
 }

 INTERPRETATION_ORDER = [
  detect_area_context,
  identify region_type_dimensions_coordinates_units_scale_and_precision,
  classify triangle_quadrilateral_polygon_circle_sector_ellipse_composite_or_integral region,
  select valid_formula_decomposition_or_integral,
  compute area,
  verify dimension_nonnegativity_overlap_orientation_and_formula assumptions,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("area")
  AND geometric_measurement_context
  THEN activate(AreaOntology)

 E2:
  IF triangle_base_and_height_given
  THEN use 0.5*b*h

 E3:
  IF triangle_three_sides_given
  THEN validate triangle inequality
  AND use Heron_formula

 E4:
  IF ordered_polygon_coordinates_given
  THEN use shoelace_formula

 E5:
  IF circular_region
  THEN use pi*r^2_or_sector_formula

 E6:
  IF composite_region
  THEN add_and_subtract component areas without overlap duplication

 E7:
  IF curves_define_region
  THEN determine intersections_and_integrate boundary_difference

 E8:
  IF similarity_scale_given
  THEN multiply area by k^2

 E9:
  IF unit_conversion_requested
  THEN apply squared_length_conversion
}

RECURSION {
 ENTRY = Area

 EXPAND(Area) -> [
  PlanarArea,
  PolygonArea,
  TriangleArea,
  RectangleArea,
  SquareArea,
  ParallelogramArea,
  TrapeziumArea,
  RhombusArea,
  KiteArea,
  CircleArea,
  SectorArea,
  EllipseArea,
  CompositeArea,
  SignedArea,
  CoordinateArea,
  IntegralArea,
  ScaleFactor,
  Unit,
  UnitConversion,
  ErrorBound
 ]

 EXPAND(TriangleArea) -> [
  BaseHeightFormula,
  HeronFormula,
  DeterminantArea,
  VectorCrossProductArea,
  TrigonometricArea
 ]

 EXPAND(PolygonArea) -> [
  ShoelaceFormula,
  Triangulation,
  Decomposition,
  SignedArea
 ]

 EXPAND(CompositeArea) -> [
  AdditionRegion,
  SubtractionRegion,
  Overlap,
  Hole,
  InclusionExclusion
 ]

 STOP_CONDITION =
  "Stop when the requested region, area formula, units, scale, exactness, orientation and precision status are sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Geometric Measurement"

 IMMEDIATE_CONTEXTS = [
  "Geometric Measurement",
  "Triangle Ontology",
  "Polygon Ontology",
  "Circle Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Geometric Measurement",
  "Perimeter Ontology",
  "Triangle Ontology",
  "Quadrilateral Ontology",
  "Polygon Ontology",
  "Circle Ontology",
  "Ellipse Ontology",
  "Coordinate Geometry Ontology",
  "Vector Geometry Ontology",
  "Calculus & Analysis Ontologies",
  "Measurement & Units Ontologies"
 ]

 ROUTE_RULES = [
  "Area -> Geometric Measurement for parent quantitative semantics",
  "Area -> Triangle for triangle-specific formulas",
  "Area -> Polygon for polygon decomposition and shoelace reasoning",
  "Area -> Circle for circular regions and sectors",
  "Area -> Ellipse for ellipse area",
  "Area -> Coordinate Geometry for coordinate formulas",
  "Area -> Vector Geometry for determinant and cross-product area",
  "Area -> Calculus for integral-defined regions",
  "Area -> Measurement & Units for squared-unit conversion"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

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

 RULES = [
  "Preserve two-dimensional measure semantics.",
  "Preserve nonnegativity for ordinary area.",
  "Preserve signed-area distinction.",
  "Preserve squared dimensionality.",
  "Preserve additive region reasoning.",
  "Preserve quadratic scaling.",
  "Preserve unit compatibility.",
  "Preserve machine-readable area semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Area is the nonnegative two-dimensional measure of a planar region."

 DIMENSION_SUMMARY =
  "Area has dimension L^2."

 TRIANGLE_SUMMARY =
  "Triangle area may be computed by base-height, Heron's formula, coordinates, vectors or trigonometry."

 POLYGON_SUMMARY =
  "Polygon area may be obtained by decomposition or the shoelace formula."

 CIRCLE_SUMMARY =
  "Circle area A=pi*r^2."

 SECTOR_SUMMARY =
  "Sector area A=(1/2)r^2*theta for theta in radians."

 ELLIPSE_SUMMARY =
  "Ellipse area A=pi*a*b."

 SCALE_SUMMARY =
  "A similarity scale factor k changes area by k^2."

 UNIT_SUMMARY =
  "Area units are squared length units."
}

FLOW {
 INPUT
 -> detect_area_context
 -> identify region_geometry_dimensions_coordinates_units_scale_orientation_and_precision
 -> classify polygon_triangle_quadrilateral_circle_sector_ellipse_composite_or_integral area
 -> select valid_formula_decomposition_or_integration pathway
 -> compute area
 -> apply scaling_or_unit_conversion when required
 -> verify dimension_nonnegativity_orientation_overlap_formula_and_precision constraints
 -> route to geometric_measurement triangle polygon circle ellipse coordinate vector calculus_or_units ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Area Ontology defines two-dimensional geometric measurement and supports polygon, triangle, quadrilateral, circle, sector, ellipse, composite, coordinate and integral-defined regions. It preserves dimensional consistency, signed-versus-ordinary area distinctions, quadratic scaling, unit conversion, exactness and approximation-aware reasoning."
}

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

}

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