Skip to main content

Affine Geometry Ontology

Advanced 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 affine geometry within the Kireth Research Semantic Library. Affine geometry studies properties preserved under affine transformations, including collinearity, parallelism, ratios along parallel directions, barycentric structure, affine combinations, translations, linear maps and affine subspaces. It removes dependence on absolute origin, angle and length while retaining incidence and parallel structure. This ontology supports affine spaces, affine maps, translations, dilations, shears, barycentric coordinates, affine independence, affine hulls, centroids, parallel lines and planes, affine invariants and relationships with linear algebra, projective geometry and transformational geometry.

FLOW_ALGEBRA_RECORD {

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

IDENTITY {
 PRIMARY_ENTITY = AffineGeometry
 SYMBOLIC_FORMS = [
  "x -> A x + b",
  "sum_i lambda_i p_i with sum_i lambda_i = 1",
  "Aff(S)"
 ]
 ENTITY_CLASS = ParallelismPreservingGeometryFramework
 PRIMARY_CONTEXT = AdvancedGeometry
 DEFINITION = "Affine geometry studies properties preserved by affine transformations, namely maps of the form x -> A x + b with A invertible."
 SEMANTIC_ROLE = "Provides the origin-independent geometric framework for incidence, parallelism, affine combinations, barycentric coordinates, centroids, affine subspaces and affine transformations."
}

SCOPE {
 INCLUDE = [
  AffineGeometry,
  AffineSpace,
  AffinePoint,
  AffineSubspace,
  AffineTransformation,
  AffineMap,
  Translation,
  LinearPart,
  Shear,
  Dilation,
  Reflection,
  Parallelism,
  Collinearity,
  Coplanarity,
  AffineCombination,
  BarycentricCoordinates,
  Centroid,
  AffineHull,
  AffineIndependence,
  Simplex,
  RatioAlongLine,
  Midpoint,
  ParallelLine,
  ParallelPlane,
  AffineInvariant,
  HomogeneousCoordinates,
  ProjectiveCompletion
 ]

 EXCLUDE_AS_PRIMARY = [
  EuclideanMetricPropertiesUnlessExplicit,
  ProjectiveGeometryBeyondAffineChart,
  LinearGeometryRequiringDistinguishedOrigin,
  GeneralTopologyWithoutAffineStructure
 ]

 DISAMBIGUATION_RULE =
  "When geometry concerns maps x -> A x + b, parallelism, affine combinations, barycentric coordinates, centroids, affine hulls or origin-independent linear structure, interpret it as affine geometry."
}

CORE_CONCEPTS {

 AffineGeometry {
  definition = "The geometry of affine spaces and affine transformations."
 }

 AffineSpace {
  definition = "A set modelled on a vector space but without a distinguished origin."
 }

 AffineTransformation {
  definition = "An invertible map x -> A x + b where A is an invertible linear transformation."
 }

 AffineMap {
  definition = "A map preserving affine combinations."
 }

 Translation {
  definition = "An affine transformation x -> x + b."
 }

 AffineCombination {
  definition = "A weighted combination sum_i lambda_i p_i with sum_i lambda_i=1."
 }

 BarycentricCoordinates {
  definition = "Coefficients of an affine combination relative to a reference simplex or affine frame."
 }

 AffineHull {
  definition = "The smallest affine subspace containing a given set."
 }

 AffineIndependence {
  definition = "Points p_0,...,p_k are affinely independent if vectors p_1-p_0,...,p_k-p_0 are linearly independent."
 }

 Centroid {
  definition = "The equal-weight affine combination of a finite set of points."
 }

 Parallelism {
  definition = "The relation of having direction subspaces that are equal or nonintersecting according to affine context."
 }

 AffineInvariant {
  definition = "A property preserved under affine transformations."
 }
}

RELATIONS {
 AffineGeometry --is_branch_of--> AdvancedGeometry
 AffineSpace --is_modelled_on--> VectorSpace
 AffineTransformation --acts_on--> AffineSpace
 AffineTransformation --has_linear_part--> LinearTransformation
 AffineTransformation --has_translation_part--> TranslationVector
 AffineTransformation --preserves--> Collinearity
 AffineTransformation --preserves--> Parallelism
 AffineTransformation --preserves--> AffineCombination
 AffineTransformation --preserves--> RatioAlongParallelLines
 AffineMap --preserves--> BarycentricCoordinates
 AffineHull --is_smallest_affine_subspace_containing--> Set
 AffineIndependence --corresponds_to--> LinearIndependenceOfDifferenceVectors
 AffineGeometry --embeds_into--> ProjectiveGeometry
 HomogeneousCoordinates --represent--> AffineTransformation
}

OPERATORS {
 APPLY_AFFINE_TRANSFORMATION(A,b,x) :=
  A*x + b

 IS_AFFINE_MAP(f) :=
  f(sum_i lambda_i p_i)=sum_i lambda_i f(p_i)
  WHEN sum_i lambda_i=1

 AFFINE_COMBINATION(points,weights) :=
  sum_i weights_i*points_i
  WHEN sum_i weights_i=1

 AFFINE_HULL(S) :=
  set_of_all_finite_affine_combinations_of_points_in_S

 IS_AFFINELY_INDEPENDENT(p_0,...,p_k) :=
  vectors(p_1-p_0,...,p_k-p_0)_are_linearly_independent

 CENTROID(p_1,...,p_n) :=
  (1/n)*sum_i p_i

 MIDPOINT(p,q) :=
  (p+q)/2
  interpreted_as_affine_combination

 BARYCENTRIC_COORDINATES(p,vertices) :=
  weights lambda_i such_that
  p=sum_i lambda_i v_i
  AND sum_i lambda_i=1

 HOMOGENEOUS_AFFINE_MATRIX(A,b) :=
  [[A,b],[0,...,0,1]]

 PARALLEL_DIRECTION(L1,L2) :=
  direction_subspaces_are_equal_or_scalar_related
}

DEFINITIONS {
 D1 = "Affine geometry has no distinguished origin."
 D2 = "Affine transformations preserve collinearity."
 D3 = "Affine transformations preserve parallelism."
 D4 = "Affine transformations preserve affine combinations."
 D5 = "Affine transformations do not generally preserve lengths or angles."
 D6 = "Barycentric coordinates sum to one."
 D7 = "Affine hull is the smallest affine subspace containing the set."
 D8 = "Affine independence is linear independence of difference vectors."
 D9 = "Centroids are affine-invariant constructions."
 D10 = "Affine geometry is an affine chart of projective geometry."
}

AXIOMS {
 A1_AFFINE_TRANSFORMATION:
  Every affine automorphism has the form x -> A x + b with A invertible

 A2_COMBINATION_PRESERVATION:
  Affine maps preserve affine combinations

 A3_COLLINEARITY:
  Affine transformations preserve collinear triples

 A4_PARALLELISM:
  Affine transformations preserve parallel lines and affine subspaces

 A5_RATIO:
  Affine transformations preserve ratios of directed segments on the same line

 A6_HULL:
  Affine hull is closed under affine combinations

 A7_INDEPENDENCE:
  Affine independence is invariant under affine automorphisms

 A8_PROJECTIVE_EMBEDDING:
  Every affine transformation extends to a projective transformation preserving the hyperplane at infinity
}

REASONING {

 R1_AFFINE_MAP_TEST {
  INPUT = candidate_map_f
  TEST = preservation_of_affine_combinations
  OR derive form A*x+b
  RETURN = AffineMapOrNot
 }

 R2_TRANSFORMATION_DECOMPOSITION {
  INPUT = affine_map_parameters_or_matrix
  IDENTIFY = linear_part_A
  IDENTIFY = translation_part_b
  RETURN = [A,b]
 }

 R3_AFFINE_HULL {
  INPUT = point_set_S
  SELECT = reference_point_p0
  COMPUTE = span_of_difference_vectors
  RETURN = p0 + span
 }

 R4_AFFINE_INDEPENDENCE {
  INPUT = points_p0_to_pk
  FORM = difference_vectors_relative_to_p0
  TEST = linear_independence
  RETURN = AffinelyIndependentOrDependent
 }

 R5_BARYCENTRIC_COORDINATES {
  INPUT = point_p_and_affine_frame
  SOLVE = p=sum_i lambda_i v_i
  WITH sum_i lambda_i=1
  RETURN = barycentric_coordinates
 }

 R6_CENTROID {
  INPUT = finite_points
  COMPUTE = equal_weight_affine_combination
  RETURN = centroid
 }

 R7_PARALLELISM {
  INPUT = affine_lines_or_planes
  EXTRACT = direction_subspaces
  COMPARE = linear_dependence_or_subspace_equality
  RETURN = ParallelIntersectingOrSkewAsApplicable
 }

 R8_HOMOGENEOUS_REPRESENTATION {
  INPUT = affine_transformation_A_b
  EMBED = block_matrix [[A,b],[0,1]]
  RETURN = projective_homogeneous_matrix
 }

 R9_INVARIANT_TEST {
  INPUT = property_P_and_affine_transformation_f
  APPLY = f
  COMPARE = P_before_and_after
  RETURN = affine_invariant_or_not
 }
}

CONSTRAINTS {
 C1 = "Affine space must not be treated as having a canonical origin."
 C2 = "Lengths and angles are not general affine invariants."
 C3 = "Parallelism is preserved only by affine, not arbitrary projective, transformations."
 C4 = "Barycentric coordinates depend on the chosen affine frame."
 C5 = "Affine independence requires difference-vector linear independence."
 C6 = "Midpoints are affine-invariant but not general projective invariants."
 C7 = "An affine transformation is invertible only when its linear part is invertible."
 C8 = "Affine subspaces may be translated linear subspaces."
 C9 = "Homogeneous matrix representation is defined in a chosen affine chart."
}

SEMANTIC_EQUIVALENCE {
 "AffineGeometry" <=> "GeometryPreservingAffineCombinations"
 "AffineTransformation" <=> "InvertibleMapOfFormAxPlusB"
 "AffineHull" <=> "SmallestAffineSubspaceContainingSet"
 "AffineIndependence" <=> "LinearIndependenceOfDifferenceVectors"
 "BarycentricCoordinates" <=> "AffineCombinationCoordinates"
 "Centroid" <=> "EqualWeightAffineCombination"
}

VALIDATION {
 V1 = "Affine transformation linear part is invertible when automorphism is claimed."
 V2 = "Barycentric weights sum to one."
 V3 = "Affine hull contains all input points."
 V4 = "Affine independence test uses a common reference point."
 V5 = "Parallelism claims use direction subspaces."
 V6 = "Metric invariants are not assumed."
 V7 = "Homogeneous affine matrix has final row [0 ... 0 1] in standard representation."
 V8 = "Projective extension preserves the hyperplane at infinity."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 AFFINE_GEOMETRY_DEFINITION = 0.99
 AFFINE_MAP_REASONING = 0.99
 AFFINE_HULL_REASONING = 0.99
 BARYCENTRIC_REASONING = 0.99
 AFFINE_INDEPENDENCE_REASONING = 0.99
 PARALLELISM_REASONING = 0.99
 HOMOGENEOUS_REPRESENTATION_REASONING = 0.98

 POLICY =
  "Reduce confidence when affine frame, coordinate chart, invertibility, dimension, direction subspace or barycentric reference simplex are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  AffineGeometryReasoning,
  AffineTransformationReasoning,
  AffineCombinationReasoning,
  AffineHullReasoning,
  BarycentricCoordinateReasoning,
  ParallelismReasoning,
  AffineIndependenceReasoning,
  CentroidReasoning,
  HomogeneousCoordinateReasoning,
  ProjectiveCompletionReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "affine geometry" -> AffineGeometry
  "affine space" -> AffineSpace
  "affine transformation" -> AffineTransformation
  "affine map" -> AffineMap
  "affine combination" -> AffineCombination
  "affine hull" -> AffineHull
  "affinely independent" -> AffineIndependence
  "barycentric coordinates" -> BarycentricCoordinates
  "centroid" -> Centroid
 }

 INTERPRETATION_ORDER = [
  detect_affine_geometry_context,
  identify affine_space_dimension_frame_and_coordinates,
  identify transformation_combination_hull_independence_parallelism_barycentric_or_invariant goal,
  distinguish affine_structure_from_metric_or_projective-only structure,
  apply affine_linear reasoning,
  verify sum_to_one_invertibility_direction_and_frame constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("affine geometry")
  OR affine_combination_parallelism_context
  THEN activate(AffineGeometryOntology)

 E2:
  IF map_has_form_Ax_plus_b
  THEN classify_as_affine
  AND require det(A)!=0 for affine_automorphism

 E3:
  IF affine_combination_requested
  THEN require weights_sum_to_one

 E4:
  IF affine_hull_requested
  THEN use reference_point_plus_span_of_differences

 E5:
  IF affine_independence_requested
  THEN test linear_independence_of_difference_vectors

 E6:
  IF barycentric_coordinates_requested
  THEN solve affine_system_with_sum_to_one constraint

 E7:
  IF parallelism_requested
  THEN compare direction_subspaces

 E8:
  IF homogeneous_representation_requested
  THEN embed affine_map_in_projective_matrix

 E9:
  IF invariant_requested
  THEN reject length_or_angle as general affine invariants
}

RECURSION {
 ENTRY = AffineGeometry

 EXPAND(AffineGeometry) -> [
  AffineSpace,
  AffinePoint,
  AffineSubspace,
  AffineTransformation,
  AffineMap,
  Translation,
  LinearPart,
  Shear,
  Dilation,
  Parallelism,
  Collinearity,
  Coplanarity,
  AffineCombination,
  BarycentricCoordinates,
  Centroid,
  AffineHull,
  AffineIndependence,
  Simplex,
  RatioAlongLine,
  Midpoint,
  AffineInvariant,
  HomogeneousCoordinates,
  ProjectiveCompletion
 ]

 EXPAND(AffineTransformation) -> [
  LinearTransformation,
  Translation,
  Shear,
  Dilation,
  Reflection,
  HomogeneousAffineMatrix
 ]

 EXPAND(AffineCoordinates) -> [
  BarycentricCoordinates,
  AffineFrame,
  Simplex,
  Centroid,
  SectionPoint
 ]

 EXPAND(AffineSubspace) -> [
  DirectionSubspace,
  TranslationVector,
  AffineHull,
  ParallelAffineSubspace
 ]

 STOP_CONDITION =
  "Stop when the affine space, map, transformation, affine combination, hull, independence, barycentric coordinates, centroid, parallelism or affine invariant is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Advanced Geometry"

 IMMEDIATE_CONTEXTS = [
  "Advanced Geometry",
  "Projective Geometry Ontology",
  "Transformational Geometry",
  "Linear Algebra Ontologies"
 ]

 RELATED_ONTOLOGIES = [
  "Advanced Geometry",
  "Projective Geometry Ontology",
  "Transformational Geometry",
  "Affine Transformation Ontology",
  "Translation Ontology",
  "Scaling Ontology",
  "Shear Transformation Ontology",
  "Coordinate Geometry Ontology",
  "Vector Geometry Ontology",
  "Linear Algebra Ontologies",
  "Matrix Ontologies",
  "Simplex Ontologies"
 ]

 ROUTE_RULES = [
  "Affine Geometry -> Advanced Geometry for parent structural semantics",
  "Affine Geometry -> Projective Geometry for projective completion and points at infinity",
  "Affine Geometry -> Transformational Geometry for affine maps",
  "Affine Geometry -> Linear Algebra for linear parts and difference vectors",
  "Affine Geometry -> Coordinate Geometry for affine frames",
  "Affine Geometry -> Vector Geometry for direction subspaces",
  "Affine Geometry -> Simplex Ontologies for barycentric coordinates and affine independence"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

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

 RULES = [
  "Preserve origin-free affine-space semantics.",
  "Preserve Ax+b transformation form.",
  "Preserve affine-combination sum-to-one condition.",
  "Preserve collinearity and parallelism invariance.",
  "Preserve affine-hull semantics.",
  "Preserve affine-independence semantics.",
  "Preserve distinction from Euclidean metric invariants.",
  "Preserve machine-readable affine-geometry semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Affine geometry studies properties preserved by invertible transformations x -> A x + b."

 SPACE_SUMMARY =
  "An affine space is modelled on a vector space but has no distinguished origin."

 TRANSFORMATION_SUMMARY =
  "An affine transformation has an invertible linear part and a translation part."

 COMBINATION_SUMMARY =
  "An affine combination sum_i lambda_i p_i requires sum_i lambda_i=1."

 HULL_SUMMARY =
  "The affine hull is the smallest affine subspace containing a set."

 INDEPENDENCE_SUMMARY =
  "Points are affinely independent when their difference vectors from one reference point are linearly independent."

 BARYCENTRIC_SUMMARY =
  "Barycentric coordinates are affine-combination weights relative to a reference simplex."

 INVARIANT_SUMMARY =
  "Affine transformations preserve collinearity, parallelism, affine ratios and centroids, but not general lengths or angles."

 PROJECTIVE_SUMMARY =
  "Affine geometry embeds naturally into projective geometry as an affine chart."
}

FLOW {
 INPUT
 -> detect_affine_geometry_context
 -> identify affine_space_dimension_frame_coordinates_and_transformation data
 -> identify affine_map_combination_hull_independence_barycentric_parallelism_centroid_or_invariant goal
 -> apply affine_linear reasoning
 -> distinguish affine_invariants_from_metric_and_projective_only properties
 -> verify invertibility_sum_to_one_direction_subspace_frame_and_dimension constraints
 -> route to advanced_geometry projective_geometry transformation linear_algebra coordinate vector_or_simplex ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Affine Geometry Ontology defines geometry without a distinguished origin and studies the structures preserved by affine transformations. It supports affine spaces, transformations of the form x -> A x + b, translations, shears, dilations, collinearity, parallelism, affine combinations, barycentric coordinates, centroids, affine hulls, affine independence and the embedding of affine geometry into projective geometry."
}

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

}

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